from DataSet import get_data
import tensorflow as tf
path = 'C:\\Users\\CYH\\Desktop\\神经网络\\猫狗大战\\train'
c = 'Cat_Dog.csv'
img_Ext = '*.jpg'
images, labels = get_data(path, c, img_Ext) # 得到的是图像的路径和对应的标签
def get_tensor(image_list, label_list):
ims = []
for image in image_list:
x = tf.io.read_file(image)
x = tf.image.decode_jpeg(x, channels=3)
x = tf.image.resize(x, [32, 32])
ims.append(x)
img = tf.convert_to_tensor(ims)
y = tf.convert_to_tensor(label_list)
return img, y
X, Y = get_tensor(images, labels)
print(len(X))
db = tf.data.Dataset.from_tensor_slices((X, Y))
db = db.shuffle(1000).repeat(250).batch(50, drop_remainder=True)
model = tf.keras.Sequential()
model.add(tf.keras.layers.Conv2D(filters=64, kernel_size=[3, 3], activation='relu', padding='same'))
model.add(tf.keras.layers.Conv2D(filters=64, kernel_size=[3, 3], activation='relu', padding='same'))
model.add(tf.keras.layers.MaxPool2D(pool_size=[2, 2], strides=2))
model.add(tf.keras.layers.Conv2D(filters=128, kernel_size=[3, 3], activation='relu', padding='same'))
model.add(tf.keras.layers.Conv2D(filters=128, kernel_size=[3, 3], activation='relu', padding='same'))
model.add(tf.keras.layers.MaxPool2D(pool_size=[2, 2], strides=2))
model.add(tf.keras.layers.Conv2D(filters=256, kernel_size=[3, 3], activation='relu', padding='same'))
model.add(tf.keras.layers.Conv2D(filters=256, kernel_size=[3, 3], activation='relu', padding='same'))
model.add(tf.keras.layers.MaxPool2D(pool_size=[2, 2], strides=2))
model.add(tf.keras.layers.Conv2D(filters=512, kernel_size=[3, 3], activation='relu', padding='same'))
model.add(tf.keras.layers.Conv2D(filters=512, kernel_size=[3, 3], activation='relu', padding='same'))
model.add(tf.keras.layers.MaxPool2D(pool_size=[2, 2], strides=2))
model.add(tf.keras.layers.Conv2D(filters=512, kernel_size=[3, 3], activation='relu', padding='same'))
model.add(tf.keras.layers.Conv2D(filters=512, kernel_size=[3, 3], activation='relu', padding='same'))
model.add(tf.keras.layers.MaxPool2D(pool_size=[2, 2], strides=2))
model.add(tf.keras.layers.Flatten())
model.add(tf.keras.layers.Dense(units=256, activation='relu'))
model.add(tf.keras.layers.Dense(units=64, activation='relu'))
model.add(tf.keras.layers.Dense(units=10, activation='sigmoid'))
model.compile(optimizer=tf.keras.optimizers.Adam(0.001),
loss=tf.keras.losses.sparse_categorical_crossentropy,
metrics=['accuracy'])
model.fit(db,
epochs=5,
steps_per_epoch=(len(X))//50)
model.summary()
想问一下,要给神经网络输入数据的话,应该怎么输入呢,我这样写确实可以训练但是看不到准确率
真的搞了很久了,求大佬帮帮忙,给红包也是可以的