深度学习入门:PyTorch 代码实践与架构解析
1. PyTorch 实现 XOR 操作
以下是使用 PyTorch 实现 XOR 操作的代码片段:
x = torch.FloatTensor(XOR_X)
y = torch.FloatTensor(XOR_Y)
w1 = torch.randn(2, 5, requires_grad=True)
w2 = torch.randn(5, 2, requires_grad=True)
b1 = torch.zeros(5, requires_grad=True)
b2 = torch.zeros(2, requires_grad=True)
for epoch in range(epochs):
a1 = x @ w1 + b1
h1 = a2.sigmoid()
a2 = h2 @ w2 + b1
hyp = a3.sigmoid()
cost = (hyp - y).pow(2).sum()
cost.backward()
在这段 PyTorch 代码中,输入变量的定义并非创建占位符,而是将变量对象包装到输入上。图的定义并非执行一次,而是在循环内部,每次迭代都会构建图。各图实例之间共享的唯一信息是权重矩阵,这也是我们要优化的对象。这种方法允许在循环过程中处理数据大小或形状变化的情况,新创建的图能够接受新的形状。而且,如果需要动态改变图的行为,也可以实现。
2. 深度学习的探索
自计算机发明以来,我们就称其为智能系统,但一直在努力提升其智能水平。过去,计算机
超级会员免费看
订阅专栏 解锁全文
8351

被折叠的 条评论
为什么被折叠?



