【Pytorch-入门】windows下的环境搭建(经验证成功~)

前言

实验需要,之前使的tensorflow【因为自己手边的服务器都是windows环境TT...】,但身边的师兄们用的都是pytorch,自己查了查现在做科研基本上都是用的pytorch,而且现在pytorch的windows版本也已经很成熟了,fastai深度学习库也受到了广泛的好评,所以...果断转!

环境搭建-windows-gpu版:

入门嘛当然是先搭建环境啦,网上资料蛮多的,这里我就记录一下我的搭建过程吧:

一、版本选择:

网上看看,现在pytorch最新版的都是1.0了哇,然而很多开源的项目用的还都是0.4版的,现在刚入门,还是基础为主,就选择最新版pytorch1.0吧!

二、系统需求:

1、Python:3.6及以上

2、操作系统环境:windows

系统 GPU CPU
linux binary binary
mac source binary
windows source source

备注: binary = 直接可以安装, source = 必须从源码编译

三、通过Anaconda安装:

之前没安装过Anaconda的需要安装好之后再进行之后的操作![教程网上很多(有的也很坑,慎重选择!),这里不再赘述]

这里因为俺之前摸爬滚打,入了很多坑,所以有些操作就只简单解释一下,如果不懂可以自己查查或者留言~

1、使用Anaconda创建虚拟环境【防止出现你之前的许多包or环境与Python,PyTorch以及其他包的版本出现不兼容等玄学问题!】:

  • 查看当前存在哪些虚拟环境:conda env list 或 conda info -e

  •  创建python虚拟环境: 
使用 conda create -n your_env_name python=X.X(2.7、3.6等) anaconda 命令创建python版本为X.X、名字为your_env_name的虚拟环境。your_env_name文件可以在Anaconda安装目录envs文件下找到。
# 指定python版本为3.6,注意至少需要指定python版本或者要安装的包# 后一种情况下,不指定python版本,自动安装最新python版本
conda create -n env_name python=3.6
# 同时安装必要的包
conda create -n env_name numpy matplotlib python=3.6

  •  激活创建的虚拟环境:Windows: activate your_env_name(虚拟环境名称),这是使用python --version可以检查当前python版本是否为想要的。

 2、在当前虚拟环境下通过conda安装pytorch:

如果和我一样准备安装的是gpu版的,注意一定要检查你的cuda版本,确保和你的系统保持一致。一般推荐的是cuda9.0版的【相对最新版要稳定的多】,如果没安装cuda,可以自行安装后再进行之后的步骤,推荐按照官网教程来:win10+cuda9.0+cuDNN 7.0+TensorFlow-gpu install steps【一定要注意版本匹配的问题!】:

  • 进入之前配置好的虚拟环境中:activate -虚拟环境名称(如果你忘记了之前的虚拟环境名称,输入:conda env list)
  • 安装每日编译 nightly 的 PyTorch,注意 cuda 的版本要和你自己的系统保持一致,比如在 CUDA 9.2 上安装:
conda install -c pytorch pytorch-nightly cuda92
  • 如果你的系统没有安装 cuda,那么可以通过下面的命令安装 cpu 版本的 PyTorch:
conda install -c pytorch pytorch-nightly-cpu

 安装 fastai:

conda install -c fastai fastai
  • 如果安装过程有什么问题,请确保你的 conda 版本已经更新到最新: 
conda update conda

3、安装成功后的测试:

因为是gpu版的,而且在windows上安装,难免会有许多玄学bug出现,这时是否能用,就要测试一下啦:

同样在之前的cmd虚拟环境中输入:

import torch    # 如正常则静默

a = torch.Tensor([1.])    # 如正常则静默

a.cuda()    # 如正常则返回"tensor([ 1.], device='cuda:0')"

from torch.backends import cudnn # 如正常则静默

cudnn.is_acceptable(a.cuda())    # 如正常则返回 "True"

 

猜你喜欢

转载自www.cnblogs.com/GrPhoenix/p/10324172.html