だから私はこのような基本的な構造を持ついくつかのコードを書きました:
from numpy import *
from dataloader import loadfile
from IPython.parallel import Client
from clustering import *
data = loadfile(0)
N_CLASSES = 10
rowmax = nanmax(data.values, 0)
rowmin = nanmin(data.values, 0)
# Defines the size of block processed at a time
BLOCK_SIZE = 50000
classmean, classcov, classcovinv, classlogdet, classlogprob = init_stats(data, N_CLASSES, rowmax, rowmin)
client = Client()
ids = client.ids
nodes = len(ids)
view = client.load_balanced_view()
dview = client[:]
def get_ml_class(data, args): do sth
dview.scatter('datablock', data)
dview.execute('res1, res2 = get_ml_class(datablock, args)', block=False)
dview.execute 部分の出力は
<AsyncResult: execute>
ただし、結果を取得しようとしたときに実行されることを意味します
dview.pull(['res1','res2'], block=True)
それが示している:
NameError: name 'res1' is not defined
誰かが私のコードの何が問題なのか教えてもらえますか?? どうもありがとう!