tensorflow训练自己的数据集

这篇博客分享了在TensorFlow中训练自定义数据集(矩阵格式)时遇到的问题及解决方案,包括数据集导入、标签编码成one-hot、模型定义、训练和预测等步骤。在标签编码过程中遇到了TypeError和ValueError,最终通过使用numpy成功解决。
摘要由CSDN通过智能技术生成

 

 

开了好几次头,也不知道要说啥,就直接进入正题吧。

一直做的都不是图片处理,我的数据集都是矩阵,所以从哪导入矩阵,矩阵的正确格式就是关键问题了。一直都让我很困扰,研究几天终于调通了一个模型,有些心得体会想要分享给大家。

 

代码主要来源:

https://blog.csdn.net/Enchanted_ZhouH/article/details/74116823?utm_source=blogkpcl2

https://blog.csdn.net/ShadowN1ght/article/detailyi78076081

(一)导入数据集

我的数据集是pkl格式的,有训练集,测试集,验证集

#导入数据集
def load_data_shared(filename="你自己的文件.pkl"):
    f = open(filename, 'rb')
    training_data, validation_data, test_data = pickle.load(f)
    f.close()

    def shared(data):
        shared_x = np.asarray(data[0], np.float32)
        shared_y = np.asarray(data[1], np.int32)
        return shared_x, shared_y

    return [shared(training_data), shared(validation_data), shared(test_data)]
#调用
training_data, validation_data, test_data = load_data_shared()
training_x, training_y = training_data
validation_x, validation_y = validation_data
test_x, test_y = test_data

(二)将标签编码成onehot

这块折腾了我好久,遇到了好多问题,罗列一下吧,万一有情况相似的小伙伴呢。

(1)没编码直接将标签喂进模型,模型正确率一直为1.0,预测输出全部为0。毫无头绪的错误啊,然后我就想起来我之前用theano写的那个模型如果4类的话最后分类层输出至少要大于4,然后我就找了tensorflow这个模型,果然最后一层输出为1,所以结果只能是0。但是如果把输出改成4,又会报错说形状不对,那就只能把输入的y改成(,4),可是我的数据集的标签是(,1)的格式。思来想去,觉得还是标签这的问题,我就想起之前有次无意间看到mnist的标签是onehot的形式,我就死马当活马医将标签编码,然后第二个问题就

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值