莫烦Pytorch学习记录——关于搭建神经网络

博客介绍了神经网络并非真正的黑盒,而是特征表示的转换。阐述了使用Pytorch的原因,它是Torch在Python上的衍生,具有动态图特性。还对比了Numpy和Torch,并对搭建网络的代码进行理解,指出第二种搭建方法更简单。

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

1.神经网络黑盒并不黑

与其说神经网络是一种黑盒,不如说是将一种表示特征不断的转换位另外的一种表示特征。
(只不过随着网络层数的增加,人类没办法理解了,所以觉得实个黑盒hhh)

2. 为什么使用Pytorch

Pytorch是Torch在Python上的衍生,,而Torch是一个使用Lua语言的神经网络库,但是Lua流行度不高,所以
Pytorch一出世:
下面这些就都在用了
在这里插入图片描述
pytorch是动态图!

3.Numpy 和Torch的对比
# 从numpy到torch
torch.from_numpy()
# 从torch到numpy
torch_data.numpy()
4. 搭建网络中的代码理解:
 # 这里就说名Net继承了从torch里来的nn.Mudle里的东西
 # nets中很多的功能都包含在这个Module中
 # __init__和forward是最重要的两个信息
Class Net(nn.Module):   
	def __init__(self, n_features, n_hidden, n_output):    # 所以init里面是定义好这些层,定义定义定义!!!
		super(Net, self).__init__()   #把Net里初始化等的东西继承进来,官方步骤,必须这么做!
		self.hidden = torch.nn.Linear(n_features, n_hidden)    #接下来就是自己的内容了,这里就是一层的神经网络隐藏层了
		self.predict = torch.nn.Linear(n_hidden, n_output) 
	def forward(self,x):     # 真正搭网络是在forward里面进行的,这里的x就是真正的输入信息,
		x = F.relu(self.hidden(x),)
		x = self.predict
		return x  # 最终返回了predict的结果

第二种搭建网络的方法更简单,不用定义一个Class

直接用

net2 = torch.nn.Sequential(
#就是直接在这个括号里面垒神经层就好了,而不再需要用self的属性那样来
)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值