0

だから私はこのような基本的な構造を持ついくつかのコードを書きました:

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

誰かが私のコードの何が問題なのか教えてもらえますか?? どうもありがとう!

4

1 に答える 1