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

前言python

实验须要,以前使的tensorflow【由于本身手边的服务器都是windows环境TT...】,但身边的师兄们用的都是pytorch,本身查了查如今作科研基本上都是用的pytorch,并且如今pytorch的windows版本也已经很成熟了,fastai深度学习库也受到了普遍的好评,因此...果断转!linux

环境搭建-windows-gpu版:

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

1、版本选择:windows

网上看看,如今pytorch最新版的都是1.0了哇,然而不少开源的项目用的还都是0.4版的,如今刚入门,仍是基础为主,就选择最新版pytorch1.0吧!服务器

2、系统需求:app

一、Python:3.6及以上学习

二、操做系统环境:windows测试

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

备注: binary = 直接能够安装, source = 必须从源码编译spa

3、经过Anaconda安装:操作系统

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

这里由于俺以前摸爬滚打,入了不少坑,因此有些操做就只简单解释一下,若是不懂能够本身查查或者留言~

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

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

  •  建立python虚拟环境: 
使用 conda create -n your_env_name python=X.X(2.七、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版本是否为想要的。

 二、在当前虚拟环境下经过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

三、安装成功后的测试:

由于是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"

相关文章
相关标签/搜索