Win10系统下的 pytorch 库安装

  • 前言
  • 1. 安装版本
  • 2. 安装命令
  • 3. 测试代码

前言

Window 系统下的python库的安装并不友好,也许是因为“墙”的存在,很多原本非常容易安装的库,在国内并不好安装上,因此python的非官方版本的anacoda 变得非常流行,因为其中内置了很多安装和适配好的库,也就省去的很多人安装的烦恼。Python下面的很多库都是不同机构或个人开发的,他们的底层都是基于不同的其他库而进行的二次开发,因此造成了版本之间的兼容性问题,这也是Python中至今存在的一个问题,最新本版的库反而不如老版本的库好用。

下面笔者分享一下window下的pytorch安装的过程。需要注意的是,这里笔者使用的是官方的python而非anaconda,因为他们之间细微的差异难以用简单的语言描述,这只能仁者见仁,智者见智了。

1. 安装版本

  • python 3.6
  • pytorch 1.6.0

2. 安装命令

为了容易安装,笔者使用的是一个pytorch官方库的网址进行安装,具体命令如下:

pip install torch==1.6.0+cpu torchvision==0.7.0+cpu -f https://download.pytorch.org/whl/torch_stable.html

注意:pytorch版本与python版本之间一定要对应好,否则很容易出现无法安装或者安装之后无法使用等问题。
经验总结

  • 直接使用 pip install torch 可能安装不成功,出现各种错误
  • 使用高版本容易出错,注意看官方文档不同版本之间对python版本之间的关联pip install torch 可能安装不成功,出现各种错
  • 使用anaconda安装相对困难,基本无法安装,或安装成功之后出现各种问题

3. 测试代码

安装完成之后,进行测试,下面是两组测试代码,分享给各位。

  • 测试代码1
import torch
flag = torch.cuda.is_available()
print(flag)

ngpu= 1
# Decide which device we want to run on
device = torch.device("cuda:0" if (torch.cuda.is_available() and ngpu > 0) else "cpu")
print(device)
print(torch.cuda.get_device_name(0))
print(torch.rand(3,3).cuda())
  • 测试代码2
# Code in file tensor/two_layer_net_numpy.py
import numpy as np
 
# N is batch size; D_in is input dimension;
# H is hidden dimension; D_out is output dimension.
N, D_in, H, D_out = 64, 1000, 100, 10
 
# Create random input and output data
x = np.random.randn(N, D_in)
y = np.random.randn(N, D_out)
 
# Randomly initialize weights
w1 = np.random.randn(D_in, H)
w2 = np.random.randn(H, D_out)
 
learning_rate = 1e-6
for t in range(500):
  # Forward pass: compute predicted y
  h = x.dot(w1)
  h_relu = np.maximum(h, 0)
  y_pred = h_relu.dot(w2)
  
  # Compute and print loss
  loss = np.square(y_pred - y).sum()
  print(t, loss)
  
  # Backprop to compute gradients of w1 and w2 with respect to loss
  grad_y_pred = 2.0 * (y_pred - y)
  grad_w2 = h_relu.T.dot(grad_y_pred)
  grad_h_relu = grad_y_pred.dot(w2.T)
  grad_h = grad_h_relu.copy()
  grad_h[h < 0] = 0
  grad_w1 = x.T.dot(grad_h)
 
  # Update weights
  w1 -= learning_rate * grad_w1
  w2 -= learning_rate * grad_w2

如果两个代码中的任何一个可以完美运行,恭喜你,说明你已经安装成功了,下面就可以开始你得pytorch学习了。