tensorflow笔记【5】深度学习-自制数据集

本文详细介绍了如何使用TensorFlow生成和处理自定义数据集,包括准备图片与标签、创建数据集函数,以及构建并训练一个简单的深度学习模型。通过实际操作演示了从数据预处理到网络训练的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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(())
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值