【Pytorch 0.4.0】Windows操作系統下搭建Pytorch平臺

0x00 前言

就在今天,PyTorch 官方 GitHub 發佈 0.4.0 版本,Pytorch主頁上的OS也令人愉快的增加了Windows的選項。
這意味着PyTorch對於沒有Linux/Unix系統,且沒有遠程開發機的學習者而言,更加易於上手便於使用了。
而對於非初學者而言,這次的改進合併了Tensor和Variable,着實是一項非常偉大的改進,
不僅如此,聽說Caffe加入了PyTorch大家庭,在底層優化和新功能的支持也提供了幫助。

二話不說先給出解決方案:命令行下輸入下述兩行即可
(如果python版本不爲python3.6需要安裝於自己python版本對應的文件)
pip install http://download.pytorch.org/whl/cu80/torch-0.4.0-cp36-cp36m-win_amd64.whl
pip install torchvision

那麼,今天就來試着給我的Surface裝一個看看,順便作爲環境配置的備忘記錄。
Windows

0x01 更新內容

更新列表及簡要吐槽

本次更新內容的完整詳細版,見Github Release中的 0.4.0 部分
簡要列舉本次 0.4.0 版本的更新內容如下,括號內爲自己的吐槽(中文翻譯部分參考自機器之心

  • 重大核心變化
    • Tensor/Variable 合併(這一點包含了太多東西,之後看有沒有時間爲這一點單獨寫一篇)
      • (我認爲需要單獨拎出來說一下,volatile這個flag在該版本起就棄用了,變爲無效flag)
    • 零維張量(shape爲[0, 2, 3]的張量現在變爲允許,不報錯了,動態生長樹結構的時候曾受限於這一點)
    • 數據類型(現在Tensor具有其對應的dtype屬性定義了,詳情可以見這裏的官方文檔)
    • 遷移指南(友情提醒,新手請務必從0.4.0版本開始(簡單),如果已有完整項目最好不要急着升級到0.4.0(改動多))
  • 新特徵:
    • Tensors:
      • 全面支持高級索引(現在Tensors索引不知能否到達Numpy的易用程度了,Tensorflow先前在這一點上優於PyTorch)
      • 快速傅立葉變換(這個以前寫某個BP解析的時候提到過PyTorch的高階求導效果受限於其FFT未實現,現在完成了)
    • 神經網絡:
      • 計算時的存儲權衡(之前有些呆板的內存共享,比較影響編碼流暢性,沒有reshape只有view便是其導致結果之一)
      • bottleneck-識別代碼中熱點(hotspots)的工具(這個還不太懂,後期去看看,但都說是瓶頸了應該蠻厲害)
    • torch.distributions
      • 24 個基礎的概率分佈
      • 增加cdf、方差、信息熵、困惑度等
    • 分佈式訓練
      • 易於使用的 Launcher utility
      • NCCL2 後端
    • C++拓展
    • Windows 支持!
    • ONNX 改進
    • RNN 支持
  • 性能改進
  • Bug 修復

tensor的高級索引

單獨把索引部分挑出來做個例子,也順便作爲給新入門的同學簡要看一下PyTorch在數據處理上大概的寫法

a = torch.rand(10, 10, 10, 10)

# the indexing elements can have other shapes than 1
b = a[[[3, 2]], :, [[1, 3]]]  # NICE! EXCELLENT!

# broadcasting also supported in the indices, as well as lists,
# negative indices, slices, elipses, numbers
c = a[[1, -2], 2:4, :, [1]]

# can also support tensors as indices
index = torch.tensor([2, 4])
d = a[index]  # NICE!

# and the indices can be on the GPU
# or CPU
e = a[index.cuda()]
f = a.cuda()[index]

mask = torch.rand(10) > 0.5
# we can now index with a mask that has fewer
# dimensions than the indexing tensor
c = a[mask, :5]

0x02 環境的安裝與配置

首先打開你的命令行,直接敲python,第一行就能看到你的python版本

C:\Users\okcd0>python
Python 3.6.0 |Anaconda 4.3.1 (64-bit)| (default, Dec 23 2016, 11:57:41) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.

>>> exit()

得知自己是python3.6,那麼去官方主頁上選中python3.6和Windows,
cuda…… 鑑於cuda裝起來還是相當費勁的,而且剛入門的時候大家主要還是使用CPU進行訓練的,
所以我們主要講PyTorch在CPU上的訓練與使用,這裏就先不講CUDA相關的部分了,隨便選一個好啦~

這裏的python3.6就是文件名中的cp36了,所以我們使用這兩個命令來安裝pytorch
pip install http://download.pytorch.org/whl/cu80/torch-0.4.0-cp36-cp36m-win_amd64.whl
pip install torchvision

C:\Users\okcd0>pip install http://download.pytorch.org/whl/cu80/torch-0.4.0-cp36-cp36m-win_amd64.whl
Collecting torch==0.4.0 from http://download.pytorch.org/whl/cu80/torch-0.4.0-cp36-cp36m-win_amd64.whl
  Downloading http://download.pytorch.org/whl/cu80/torch-0.4.0-cp36-cp36m-win_amd64.whl (579.1MB)
    13% |████▌                           | 80.8MB 232kB/s eta 0:35:42

這文件還不小,所以現需要經過一段時間的等待,
安裝完成……就可以直接用了……

  Downloading http://download.pytorch.org/whl/cu80/torch-0.4.0-cp36-cp36m-win_amd64.whl (579.1MB)
    100% |████████████████████████████████| 579.1MB 71kB/s
Installing collected packages: torch
Successfully installed torch-0.4.0

C:\Users\okcd0>python
Python 3.6.0 |Anaconda 4.3.1 (64-bit)| (default, Dec 23 2016, 11:57:41) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> torch.zeros([2,3])
tensor([[ 0.,  0.,  0.],
        [ 0.,  0.,  0.]])
>>>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章