tensorflow笔记【5】深度学习-自制数据集
前言
自制数据集帮助了解数据集的制作过程。
一、生成数据集方法
1.准备图片数据和每张图片对应的标签数据,放在训练集和测试集文件夹
代码如下:
# 2.自制数据集---generateds(图片路径,标签文件)
# 2.1加载训练集,测试集图片,标签文件;定义数据集输入特征和标签存储文件
train_path = 'mnist_image_label/mnist_train_jpg_11/'
train_txt = 'mnist_image_label/mnist_train_jpg_11.txt'
test_path = 'mnist_image_label/mnist_test_jpg_3/'
test_txt = 'mnist_image_label/mnist_test_jpg_3.txt'
# 2.2定义自制数据集函数----generateds(图片路径,标签文件)
def generateds(path, txt):
f = open(txt, 'r')
contents = f.readlines()
f.close()
x, y_ = [], []
for content in contents:
value = content.split(' ')
img_path = path + value[0]
img = Image.open(img_path)
img = np.array(img.convert('L'))
img = img / 255
x.append(img)
y_.append(value[1])
print('loading:' + content)
x = np.array(x)
y_ = np.array(y_)
y_ = y_.astype(np.int64)
return x, y_
# 2.3判断数据集是否制作完成---制作:直接读取;未制作:调用generateds()制作数据集
print('---------------Generate Datasets------------')
x_train, y_train = generateds(train_path, train_txt)
x_test, y_test = generateds(test_path, test_txt)
2.搭建网络训练
代码如下:
# 3.搭建网络模型-----Sequential
model = tf.keras.Sequential([tf.keras.layers.Flatten(),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dense(10, activation='softmax')
])
# 4.为网络模型配置训练方法----compile
model.compile(optimizer='adam',
loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=False),
metrics=['sparse_categorical_accuracy']
)
# 5。传入数据集,训练网络----fit
model.fit(x_train, y_train, batch_size=32, epochs=50,
validation_data=(x_test, y_test),
validation_freq=1)
# 6.打印网络模型和参数----summary
model.summary()
总结
图片尺寸不一致时,加上
img.resize(())
版权声明:本文为qq_62625255原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。