56

私は Caffe フレームワークに取り組んでおり、PyCaffe インターフェイスを使用しています。IPython Notebook 00-classification.ipynbを変換して取得した Python スクリプトを使用して、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...

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

4

3 に答える 3

74

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

$ ipython python/my_test_imagenet.py

その後get_ipython、すでにグローバルコンテキストになります。

注:from IPython import get_ipython通常のシェル経由でインポートしても、実際に実行pythonする必要があるため機能しませんipython

于 2015-09-12T13:17:25.860 に答える
23

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

plt.show(block=True)
于 2017-12-30T09:27:33.323 に答える