关于pytorch训练时数据输入的问题

本文分享了作者初次接触机器学习并尝试实现BP神经网络的经验,特别是在使用PyTorch过程中的学习体会和常见问题解决方法。

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

刚刚入坑机器学习,看到经典的BP神经网络就尝试了一下自己写代码实现。看到网上比较多人做函数拟合,我也就照猫画虎试了一下。下图是最后的拟合结果,一开始发现画的线乱七八糟,后面才发现是因为取数据没有按照顺序。

对于神经网络有了基本的概念以后,就想着实现效率更高的的神经网络,使用大神们设计的模块无疑是提高生产效率的好方法。pytorch近几年风头正劲,不仅效率高,学习难度也更低,我就决定学pytorch。

刚开始学需要了解张量,刚接触觉得很复杂,后面就不想那么多就当做列表看待。我使用Python用的数据类型最多的就是列表,记得将列表和张量的互换方式就基本不会出错。接下去学我又在数据的输入和训练上卡壳了。

我的数据类似是这样的 

#训练数据
list1=[[x1,x2,x3...xn],[y1,y2,y3...yn],...,[p1,p2,p3...pn]]

#标签
list2=[[L1],[L2],[L3],....[LP]]

list1是训练的样本空间,list2是标签值。训练时每次输入值为list1的第二层列表,对应list2的第二层的标签值。一开始我想的是逐个将第二层取出转化成张量然后输入到神经网络中训练,后来发现大可不必,直接把list1和list2转换成的张量代入到神经网络中就可以,只要包层设置的节点数和数据的个数能对应上就好。

其实这个问题挺简单,但是网上很多关于pytorch的项目都是关于图像处理的,我不了解图像数据的输出形式所以比较难类比,着实摸索了一段时间。我比较菜,但我总觉得这个问题也会困扰一些新手,写出来希望能有一些帮助。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值