目前PyTorch 已经支持windows环境,由于pytourch建立的神经网络是动态的, 相比静态的 Tensorflow, 他能更有效地处理一些问题, 比如说 RNN 变化时间长度的输出,所以深度学习中PyTorch 也是备受推崇。
安装tourch
pip install http://download.pytorch.org/whl/cu80/torch-0.4.0-cp36-cp36m-win_amd64.whl
pip install torchvision
模拟程序
import torch
import torch.nn as nn
import numpy as np
# 构建输入集
x = np.mat('0 0;'
'0 1;'
'1 0;'
'1 1')
x = torch.tensor(x).float()
y = np.mat('1;'
'0;'
'0;'
'1')
y = torch.tensor(y).float()
myNet = nn.Sequential(
nn.Linear(2, 10),
nn.ReLU(),
nn.Linear(10, 1),
nn.Sigmoid()
)
print(myNet)
# 设置优化器
optimzer = torch.optim.SGD(myNet.parameters(), lr=0.05)
loss_func = nn.MSELoss()
for epoch in range(5000):
out = myNet(x)
loss = loss_func(out, y) # 计算误差
optimzer.zero_grad() # 清除梯度
loss.backward()
optimzer.step()
print(myNet(x).data)