LoginSignup
0

More than 5 years have passed since last update.

PyTorchの環境作ってIntelliJ IDEAで動かすところまで

Posted at

pyenv + Anaconda + PyTorch + IntelliJ IDEA 環境を構築するときの手順メモです。

Anacondaで環境揃えてた所にIntelliJ IDEAからも触れるようにしたいなぁと思った人用です。果たしてどれだけ需要があるのやら。。。

前提

  • MacBook Pro 2016(High Sierra)で構築しています。
  • Windows10な環境でも一応同じような手順でできることは確認してます。

Anaconda入れる

windowsの場合

以下からwindows用のAnaconda(python3系)をダウンロードして、インストールします。
https://www.anaconda.com/download/#windows
もろもろの環境がセットされているので楽です。

Macの場合

PythonやAnacondaぐらいしか触らないという場合は、同じように以下からダウンロードしてインストールでもよいです。
https://www.anaconda.com/download/#macos

が、他にも色々開発していたり、複数のpythonバージョンの共存を気にする場合はpyenvなどの環境分離ツールを使っておくと安全です。
特にAnacondaはシステムのデフォルトpythonのPATHなんかを上書きしたりするので注意が必要です。
今回は、Mac自体のpython(2系がデフォルトで入っている)を生かしつつ、開発用のプロジェクトディレクトリのみAnacondaで導入される3系を使うようにしています。

pyenv入れる

まずMacで定番のパッケージ管理ツールhomebrewを入れておきます。
これ。
Homebrew

homebrew
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

続いてhomebrewでpyenvをインストール
これ。
pyenv

pyenv
$ brew update
$ brew install pyenv

インストール可能なリストを表示

anaconda
$ pyenv install --list

3.6.4
3.7.0b2
3.7-dev
anaconda-1.4.0
・・・
anaconda3-5.1.0

$ pyenv install anaconda3-5.1.0

3.x.xみたいなのはpythonのバージョンです。pythonだけインストールしたい場合はこちら。
今回はanaconda3-5.x.xを選択します。
インストール後、現在インストールされている内容をversionsで確認してみます。

確認
$ pyenv versions
* system
  anaconda3-5.1.0

$ mkdir qiita
$ cd qiita
$ pyenv local anaconda3-5.1.0

特定のディレクトリ下だけにanaconda環境を反映したい場合は、そのディレクトリでpyenv local anaconda3-5.1.0のように設定をするとOKです。
デフォルト設定自体を変えたい場合はlocalのところをglobalで。

PyTorch入れる

続いて機械学習ライブラリであるPyTorchを入れてみます。
といっても公式サイトにあるように1、2行で終わりです。
https://pytorch.org/

今回はAnacondaを使っているので、package managerはcondaを選びましょう。

pytorch_mac
conda install pytorch torchvision -c pytorch

CUDAあるなしで少し変わりますね。
windowsの場合はAnaconda promptから実行しましょう。

IntelliJ IDEAで開く

PyCharmの場合はpython用なので何も問題なしです。
IntelliJ IDEAをお使いの場合は、pythonプライグインをインストールしておきます。
スクリーンショット 2018-06-20 2.49.02.png

次に先ほど諸々設定したディレクトリを開き、プロジェクトの設定(File -> Project structure)を開きます。
Project SDKというところに何も設定されていない状態かと思いますので、Python環境の設定を行います。
Newをクリック

スクリーンショット 2018-06-20 3.13.59.png

スクリーンショット 2018-06-20 3.41.04.png

Existing environmentの所に自動的に設定したanacondaの設定が出て来ます。
(出てこない場合もありましたが、再起動したり、後述のScientific Modeなどに切り替えてたりすると認識されました。もしくはそれでもダメなら手動設定)
そちらを選択してOKを押すと、環境の読み込みがバックグラウンドで実行されます。

コード書いて確認

pythonファイルを追加し、動作確認を行います。
PyTorchのような機械学習ライブラリを使う場合、コードを書いては消してというような試行錯誤を行うことが多いので、適したモードに切り替えます。
Scientific Modeというもので、JupterNotebookとかspyderとかに近い使い勝手になります。すごい。

View -> Scientific Mode で切り替わります。ついでにTool -> Python Consoleも表示しておくといい感じです。

ではpythonファイルを作成して、以下を記述。

sample
from __future__ import print_function
import torch
import matplotlib.pyplot as plt

#%%
x = torch.empty(5, 3)
print(x)

#%%
plt.plot([1,2,4,2])
plt.show()

#%%という記述でブロックの区切り目が作れます。そしてCtrl+Enterで、現在カーソルがあるブロックのみを実行できるので便利です。
また、カーソルがある一行だけを実行というのもできます。ショートカットは"Execute selection"あたりで検索すると出てきます。
スクリーンショット 2018-06-20 4.05.39.png

これで、ソースコード+コンソールで対話的に実行+グラフやドキュメント表示+変数の中身確認ができる環境ができました。何これ強化版spyder

スクリーンショット 2018-06-20 4.09.42.png

環境設定周りはもっとうまくできそうな気もしますが、ひとまず既存のプロジェクトをIntelliJに認識さすということをしたかったので、ザクっとやった手順メモでした。

補足とか言い訳

  • PyTorch動かすだけならAnacondaいらない可能性...
  • IntelliJ IDEA上でプロジェクト作成&PyTorchインストールしたら、何も難しい設定いらない可能性...

既存のプロジェクトがある所に後からIntelliJ導入したので。。。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
0