PyCharmでTensorflow(Windows10)

最近Python扱うことが多いので、統合開発環境は何を使おうかと悩んでいて、PyCharmを使ってみることにしました。どうせならPyCharmでTensorflowをサンプルコードがてら動かしてみようという試みです。

Tensorflow環境構築後の記事という位置づけなので、AnacondaとAnacondaでのTensorflowの仮想環境は構築済とします。

AnacondaでのTensorflow仮想環境構築は以下の記事を参照してください。

参考記事:GPU版TensorFlow環境構築(Windows 10)

今回の環境

・OS : Windows10(64bit)
・GPU: GeForce GTX 950
・Anaconda環境構築済(Version5.0.1)
・AnacondaにてTensorflow(GPU版)仮想環境構築済(仮想環境名:myTensorflow)
(参考記事:GPU版TensorFlow環境構築(Windows 10))

手順

(1) PyCharmのダウンロード

では、まずPyCharmのダウンロードを行いましょう

参考サイト:PyCharm: Python IDE for Professional Developers by JetBrains

お金がないので無償版のCommunityをダウンロードします。

DOWNLOADを押すと、自動でインストーラがダウンロードされました。

(2) PyCharmのインストール

では、ダウンロードしたインストーラを起動しましょう。

インストール場所は取りあえずデフォルトとしました。

.pyのファイルを開くときに、PyCharmを起動したい場合はCreate Associationsにチェックを入れてください。デスクトップショートカットも作りたかったので、「64-bit launcher」にもチェックを入れました。

インストールが開始されます。

無事インストールが完了しました。

(3) PyCharmの起動と設定

早速PyCharmを起動すると以下のような画面が出ました。

設定ファイルをインポートするか問われているようですが、使ったことないので取りあえずDo not import settingsで良さそうです。

以下のカスタマイズはさしあたりはスキップでよいでしょう。

スタート画面に遷移します。この画面を見るとAndroid Studioを思い出してしまう。早速「Create New Project」で新しいプロジェクトを作っていきましょう。

Project名は自由に決めてください。今回は「TensorflowTest」としました。
「Existing interpreter」から、既に構築済の仮想環境のインタプリタを選択していきます。
右の歯車マークをクリックし、「Add Local」をクリックします。

「Conda Environment」より、右側の「…」を押して仮想環境を選択します。

Anacondaのフォルダの「envs\仮想環境名\python.exe」を選択します。私の今回使用した仮想環境はmyTensorFlowで、Tensorflowの環境構築を既に行っている仮想環境となります。

これで、インタプリタを選択できたのであとは「OK」で閉じます。

プロジェクトを「Create」しましょう。これでプロジェクトの作成は完了です。

(4) Tensorflowコードの実行

それでは、テストコードを実行してプロジェクトが実行できるか確認しましょう。

Project上で右クリックして、「New」→「Python File」で新しいファイルを作成します。

ファイル名は適当でOKです。

作ったファイルに、コードを書きこんでいきますが、今回は「TensorflowのMNIST For ML Beginnersに挑戦」で使ったコードをそのまま投げ込んでみました。

一応コードは以下となります。

from __future__ import absolute_import
from __future__ import division
from __future__ import print_function

from tensorflow.examples.tutorials.mnist import input_data

import tensorflow as tf

# Mnistに使うデータセットをインポートする
mnist = input_data.read_data_sets('/tmp/tensorflow/mnist/input_data',
  one_hot=True)

# グラフの作成
x = tf.placeholder(tf.float32, [None, 784]) # 入力するPlaceholder
W = tf.Variable(tf.zeros([784, 10])) # 重み
b = tf.Variable(tf.zeros([10])) # バイアス
y = tf.matmul(x, W) + b #内積計算とバイアスの加算

# 正解ラベル用のplaceholeder
y_ = tf.placeholder(tf.float32, [None, 10])

# 損失の計算方法と、オプティマイザーを定義
cross_entropy = tf.reduce_mean(
 tf.nn.softmax_cross_entropy_with_logits(labels=y_, logits=y))
train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)

# セッションの作成と初期化
sess = tf.InteractiveSession()
tf.global_variables_initializer().run()
 
# 学習部(1000回学習)
for _ in range(1000):
 batch_xs, batch_ys = mnist.train.next_batch(100)
 sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys})

# テスト部
correct_prediction = tf.equal(tf.argmax(y, 1), tf.argmax(y_, 1))
accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
print(sess.run(accuracy, feed_dict={x: mnist.test.images,
 y_: mnist.test.labels}))

以下のように、このコードを入力し、実行します。実行はRunのタブから実行するか、「Shift」+「Alt」+「F10」でRun可能です。

実行すると以下のような結果が得られました。一番下に出ている「0.9194」がMNISTの正解率と思われますが、実行に成功しているようです。

まとめ

今回はPythonの統合開発環境としてPyCharmを試し、Tensorflowのコードの実行を行いました。

開発環境は基本は好きなものを使えばよいと思いますが、もし迷っている人がいたら、一つPyCharmも候補として検討してみてはいかがでしょうか。

スポンサーリンク

シェアする

フォローする