質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.04%

【Python/Tensorflow】テンサーフローが読み込めない?

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 5,017

score 1871

 前置き

はじめて「機械学習」に触れます.
Tensorflowが良いと聞いたので,まずはそれをと思って始めようとしていますが,
専門的知識は皆無です.

 環境

MaxOS X(10.10.5
プロセッサ:2.8 GHz Intel Core i5
メモリ:16 GB 1600 MHz DDR3
Python:2.7.10

 質問

はじめてのテンサーフローワークショップに参加しました
TensorFlowで Hello Worldを動かしてみた&その解説

を参考に,恐らくTensorflowをインストールすることができたと思われます.
実際に,直接の打ち込みは動作しました.

実行図

しかしながら,上記のスクリプトをファイルとして作成し,
実行しようとするとエラーが発生します.

実行図
※1行目末端の「R」は誤字です.修正しても同様のエラーが出ます.
※画像の差し替えを行おうとしたら,何故かできませんでした…あしからず.

このエラーの原因と,解決策をご存知のかたがいらっしゃいましたらご教授頂けませんでしょうか.
日本語資料が少なく,また,このエラーの解決策が私には見つけられませんでした.
tensor flowのインストールはMacOSではありませんでしたし…)

よろしくお願いいたします.

 追記1

Atom-runnerではなく,ターミナルで実行した場合,
エラーは減りましたがやはりエラーで実行できませんでした.

※Tensorフローモード(?)でpythonコマンドを叩いた場合
ターミナル実行図

※通常モードでpythonコマンドを叩いた場合
ターミナル実行図

 追記2

$ pip freezeの実行結果

altgraph==0.12
bdist-mpkg==0.5.0
bonjour-py==0.3
feedparser==5.1.3
macholib==1.5.1
matplotlib==1.3.1
mecab-python==0.996
modulegraph==0.12
numpy==1.10.4
PIL==1.1.7
protobuf==3.0.0a3
py2app==0.9
pyobjc-core==2.5.1
pyobjc-framework-Accounts==2.5.1
pyobjc-framework-AddressBook==2.5.1
pyobjc-framework-AppleScriptKit==2.5.1
pyobjc-framework-AppleScriptObjC==2.5.1
pyobjc-framework-Automator==2.5.1
pyobjc-framework-CFNetwork==2.5.1
pyobjc-framework-Cocoa==2.5.1
pyobjc-framework-Collaboration==2.5.1
pyobjc-framework-CoreData==2.5.1
pyobjc-framework-CoreLocation==2.5.1
pyobjc-framework-CoreText==2.5.1
pyobjc-framework-DictionaryServices==2.5.1
pyobjc-framework-EventKit==2.5.1
pyobjc-framework-ExceptionHandling==2.5.1
pyobjc-framework-FSEvents==2.5.1
pyobjc-framework-InputMethodKit==2.5.1
pyobjc-framework-InstallerPlugins==2.5.1
pyobjc-framework-InstantMessage==2.5.1
pyobjc-framework-LatentSemanticMapping==2.5.1
pyobjc-framework-LaunchServices==2.5.1
pyobjc-framework-Message==2.5.1
pyobjc-framework-OpenDirectory==2.5.1
pyobjc-framework-PreferencePanes==2.5.1
pyobjc-framework-PubSub==2.5.1
pyobjc-framework-QTKit==2.5.1
pyobjc-framework-Quartz==2.5.1
pyobjc-framework-ScreenSaver==2.5.1
pyobjc-framework-ScriptingBridge==2.5.1
pyobjc-framework-SearchKit==2.5.1
pyobjc-framework-ServiceManagement==2.5.1
pyobjc-framework-Social==2.5.1
pyobjc-framework-SyncServices==2.5.1
pyobjc-framework-SystemConfiguration==2.5.1
pyobjc-framework-WebKit==2.5.1
pyOpenSSL==0.13.1
pyparsing==2.0.1
python-dateutil==1.5
pytz==2013.7
scipy==0.13.0b1
six==1.10.0
tensorflow==0.6.0
Twisted==13.2.0
virtualenv==14.0.5
wheel==0.26.0
xattr==0.6.4
zope.interface==4.1.1

pip freeze実行結果

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

+4

解決方法

インタラクティブモードでは通るコードがAtomでは動かないのは、恐らくですがAtomのRunner(control-Rの起動方法)のPYTHONPATHの設定が出来てないからでしょう。

面倒ですが、terminal等でスクリプトが置いてあるパスまで移動して実行するのが、一番確実だと思います。

python testTensor.py

これで実行できるはずです。

ちなみに

NumpyとはPythonの数値計算用のライブラリです。

余談ですが

atomのterm3というパッケージを使えば、Atomのタブ上でterminalが使えますので、わざわざterminalとatomの切り替えの必要がありません。

追記 2016年2月3日午後8時49分

すいません、やっとわかりました。tensorflowに詳しくないもので、推測でいろいろ答えていましたがやっと謎が解けました。

結論としては、tensorflowモードになってpython testTensor.pyとしてください。
tensorflowモードの実行結果が何故か乱れていますが、正しく実行されています。エラーコードのように見えますが、正しく実行されているみたいです。ここを読んで理解しました。

42

という結果は正しい結果なのではないのでしょうか?
表示が乱れているのは、ターミナルの再起動や「Control+L」などで直ったりしませんか?

env系統とは

私もとても詳しいという訳ではないので、あえてぼかして表現していたのですが、pythonはバージョンによって動作が結構違ったりするので(python2.x系とpython3.x系)、virtualenvと呼ばれるものなどで、バージョンの管理やライブラリの管理などをします。この環境を管理するシステムが結構あるので、わざと「系統」とぼかしました。

tensorflowモードと読んでらっしゃるのは、virtualenvのライブラリ管理機能でtensorflowが使えるライブラリだけが使えるようにします。
source ~/tensorflow/bin/activateを実行することで、pythonの環境(バージョン、ライブラリ等)を変えているのです。

env系統について更に詳しく知りたければ、ここなどを参考にしてください。

更に何か質問があれば、私の知っている範囲でお答えします。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/02/03 16:37 編集

    ご回答有り難うございます.

    よくわからないので,「テンサーフローモード」と「通常モード」で呼ばせていただいておりますが,

    ここでいうテンサーフローモードとは,
    「$ source ~/tensorflow/bin/activate」
    を実行した状態を指し,

    通常モードとは,
    「(tensorflow)$ deactivate」
    を実行した状態又は,「$ source ~/tensorflow/bin/activate」を実行していない状態を指しています.

    次にenv系列とは何でしょうか.
    特に何も入れた記憶がありませんので….

    最後に,
    $ pip freeze
    を実行した結果を追記2に表記させていただきます.
    よろしくお願いいたします.

    キャンセル

  • 2016/02/03 21:20

    ご回答有り難うございます。

    本当に、よくよく見たら42と出力されておりました…申し訳ありません。
    また、丁寧な解説本当に有難うございます。
    とても勉強になりました。

    私もこの分野に入ったところなので、どんどん勉強していこうと思います。
    本当にありがとうございました。

    キャンセル

  • 2016/02/03 21:26

    私と違って面倒見の良い人が居てよかったw

    キャンセル

+1

まだ回答が無いようなので書きます。

エラーメッセージの最初の行を日本語に訳してください。RuntimeErrorの行です。
numpyのバージョンがマッチしていないのではないですか?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/02/02 00:17

    ご回答有り難うございます。

    「numpy」とは何でしょうか。
    また、どのようにバージョンをあげるのでしょうか?
    Macにはデフォルトで入っているのでしょうか?(入れた覚えはありません。

    申し訳ありませんが、よろしくお願いいたします

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.04%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る