web-dev-qa-db-ja.com

NameError:name 'get_ipython'は定義されていません

私はCaffeフレームワークに取り組んでおり、PyCaffeインターフェースを使用しています。私はPython IPython Notebook00-classification.ipynbの変換から取得したスクリプトを使用して、 ImageNetのトレーニング済みモデル。ただし、スクリプト内のget_ipython()ステートメントは次のエラーを返します。

$ python python/my_test_imagenet.py 
Traceback (most recent call last):
  File "python/my_test_imagenet.py", line 23, in <module>
    get_ipython().magic(u'matplotlib inline')

スクリプトでは、次をインポートしています。

import numpy as np
import matplotlib.pyplot as plt

get_ipython().magic(u'matplotlib inline')

# Make sure that caffe is on the python path:
caffe_root = '/path/to/caffe/'
import sys
sys.path.insert(0, caffe_root + 'python')

import caffe

plt.rcParams['figure.figsize'] = (10, 10)
plt.rcParams['image.interpolation'] = 'nearest'
plt.rcParams['image.cmap'] = 'gray'

import os

# ... Rest of the code...

誰かがこのエラーを解決するのを手伝ってくれますか?

28
Adarsh Chauhan

Ipythonでスクリプトを実行する必要があります。

$ ipython python/my_test_imagenet.py

その場合、get_ipythonはすでにグローバルコンテキストにあります。

注:通常のシェルpythonfrom IPython import get_ipythonを介してインポートすることは、実際にipythonを実行する必要があるため機能しません。

35
beezz

変換された.pyファイルノートブックを実行する場合は、get_ipython()ステートメントをコメントアウトするだけです。 matlibplotの出力はコンソール内に表示できないため、作業が必要になります。理想的には、iPythonはこれらのステートメントを生成すべきではありません。以下を使用してプロットを表示できます。

plt.show(block=True)
12
Shital Shah