Exemplo n.º 1
0
# coding: utf-8

import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
import time
import create_and_read_TFRecord2 as reader2
import os

X_train, y_train = reader2.get_file("c:\\cat_and_dog_r")

image_batch, label_batch = reader2.get_batch(X_train, y_train, 227, 227, 200,
                                             2048)


def batch_norm(inputs, is_training, is_conv_out=True, decay=0.999):

    scale = tf.Variable(tf.ones([inputs.get_shape()[-1]]))
    beta = tf.Variable(tf.zeros([inputs.get_shape()[-1]]))
    pop_mean = tf.Variable(tf.zeros([inputs.get_shape()[-1]]), trainable=False)
    pop_var = tf.Variable(tf.ones([inputs.get_shape()[-1]]), trainable=False)

    if is_training:
        if is_conv_out:
            batch_mean, batch_var = tf.nn.moments(inputs, [0, 1, 2])
        else:
            batch_mean, batch_var = tf.nn.moments(inputs, [0])

        train_mean = tf.assign(pop_mean,
                               pop_mean * decay + batch_mean * (1 - decay))
        train_var = tf.assign(pop_var,
Exemplo n.º 2
0
import tensorflow as tf
import numpy as np
import time
import matplotlib.pyplot as plt
import create_and_read_TFRecord2 as reader2

learning_rate = 1e-4
training_iters = 2000
batch_size = 64
dispaly_step = 5
n_classes = 2
n_fc1 = 4096
n_fc2 = 2048

X_train, y_train = reader2.get_file("./data")
image_batch, label_batch = reader2.get_batch(X_train, y_train, 227, 227,
                                             batch_size, 512)

x = tf.placeholder(tf.float32, [None, 227, 227, 3])
y = tf.placeholder(tf.int32, [None, n_classes])

W_conv = {
    'conv1': tf.Variable(tf.truncated_normal([11, 11, 3, 96], stddev=0.01)),
    'conv2': tf.Variable(tf.truncated_normal([5, 5, 96, 256], stddev=0.01)),
    'conv3': tf.Variable(tf.truncated_normal([3, 3, 256, 384], stddev=0.01)),
    'conv4': tf.Variable(tf.truncated_normal([3, 3, 384, 384], stddev=0.01)),
    'conv5': tf.Variable(tf.truncated_normal([3, 3, 384, 256], stddev=0.01)),
    'fc1': tf.Variable(tf.truncated_normal([6 * 6 * 256, n_fc1], stddev=0.01)),
    'fc2': tf.Variable(tf.truncated_normal([n_fc1, n_fc2], stddev=0.01)),
    'fc3': tf.Variable(tf.truncated_normal([n_fc2, n_classes], stddev=0.01))
}
Exemplo n.º 3
0
# -*- coding: utf-8 -*-
"""
Created on Sat May  5 18:09:00 2018

@author: 11420
"""

import numpy as np
import tensorflow as tf
import VGG16_model as model
import create_and_read_TFRecord2 as reader2

if __name__ == '__main__':

    X_train, y_train = reader2.get_file("D:/Deep Code/defect-vs-normal/train/")
    image_batch, label_batch = reader2.get_batch(X_train, y_train, 224, 224,
                                                 100, 512)

    x_imgs = tf.placeholder(tf.float32, [None, 224, 224, 3])
    y_imgs = tf.placeholder(tf.int32, [None, 2])

    vgg = model.vgg16(x_imgs)
    fc3_defect_and_normal = vgg.probs
    loss = tf.reduce_mean(
        tf.nn.softmax_cross_entropy_with_logits(logits=fc3_defect_and_normal,
                                                labels=y_imgs))
    optimizer = tf.train.GradientDescentOptimizer(
        learning_rate=1e-4).minimize(loss)

    sess = tf.Session()
    sess.run(tf.global_variables_initializer())
    vgg.load_weights('D:/Deep Code/Course/defect-vs-normal/vgg16_weights.npz',
Exemplo n.º 4
0
def onehot(labels):
    n_sample = len(labels)
    n_class = max(labels) + 1
    onehot_labels = np.zeros((n_sample, n_class))
    onehot_labels[np.arange(n_sample), labels] = 1
    return onehot_labels


import VGG16_model as model
import create_and_read_TFRecord2 as reader2

if __name__ == '__main__':
    print("111")
    print("222")
    X_train, y_train = reader2.get_file("afterClass/train")  # 输入训练数据路径
    image_batch, label_batch = reader2.get_batch(X_train, y_train, 224, 224,
                                                 25, 256)
    x_imgs = tf.placeholder(tf.float32, [None, 224, 224, 3])
    y_imgs = tf.placeholder(tf.int32, [None, 2])
    vgg = model.vgg16(x_imgs)
    fc3_cat_and_dog = vgg.probs
    loss = tf.reduce_mean(
        tf.nn.softmax_cross_entropy_with_logits(logits=fc3_cat_and_dog,
                                                labels=y_imgs))
    optimizer = tf.train.GradientDescentOptimizer(
        learning_rate=0.0001).minimize(loss)
    pre = tf.nn.softmax(fc3_cat_and_dog)
    correct_pred = tf.equal(tf.argmax(pre, 1), tf.argmax(y_imgs, 1))
    accuracy = tf.reduce_mean(tf.cast(correct_pred, tf.float32))
    sess = tf.Session()
    sess.run(tf.global_variables_initializer())
    vgg.load_weights('vgg16_weights.npz', sess)  # 输入VGG16权重