Python/Dask“;AssertError:buf应具有来自resbuf的数据,正在关闭进程; Python 3.8.3 Dask 2.20.0

Python/Dask“;AssertError:buf应具有来自resbuf的数据,正在关闭进程; Python 3.8.3 Dask 2.20.0,python,dask,dask-distributed,Python,Dask,Dask Distributed,以下n_workers=1的脚本成功运行。当n_workers=2时,它会给出一个错误:“AssertError:buf应该有来自resbuf的数据,正在关闭进程” from dask.distributed import Client from dask.distributed import LocalCluster from dask import dataframe as dd import xgboost as xgb def main(client): column_nam

以下n_workers=1的脚本成功运行。当n_workers=2时,它会给出一个错误:“AssertError:buf应该有来自resbuf的数据,正在关闭进程”

from dask.distributed import Client
from dask.distributed import LocalCluster
from dask import dataframe as dd
import xgboost as xgb

def main(client):

    column_names = ['fraud', 'id', 'card_id', 'tran_dt', 'year', 'month', 'day', 'week', 'day_of_week', 'tran_type', 'status_id', 'merchant_code', 'merchant_category', 'merchant_city_id', 'merchant_lat', 'merchant_long', 'zipcode', 'hour', 'end_balance', 'domestic', 'merchant_name_id', 'merchant_part_id', 'merchant_count', 'amount', 'card_present', 'mco_fraud_count', 'mco_fraud_amount', 'mn_count_fraud_perc', 'mn_amount_fraud_perc', 'mp_count_fraud_perc', 'mp_amount_fraud_perc', 'city_count_fraud_perc', 'city_amount_fraud_perc', 'card_days', 'tax_returns', 'population', 'income']

    d_train = dd.read_csv("http://www.clinios.com/train.csv", sep=',', names=column_names)
    d_train_label = d_train['fraud']
    d_train = d_train.loc[:, 'merchant_count':]
    dtrain = xgb.dask.DaskDMatrix(client, d_train, d_train_label)

    d_test = dd.read_csv("http://www.clinios.com/test.csv", sep=',', names=column_names)
    d_test_label = d_test['fraud']
    d_test = d_test.loc[:, 'merchant_count':]
    dtest = xgb.dask.DaskDMatrix(client, d_test, d_test_label)

    output = xgb.dask.train(client,
                        {'max_depth':2
                        ,'objective':'binary:logistic'
                        ,'eval_metric':['aucpr']
                        ,'scale_pos_weight':100
                        ,'max_delta_step':'1'
                        ,'tree_method':'hist'},
                        dtrain, num_boost_round=100, evals=[(dtrain, 'train'), (dtest, 'test')], early_stopping_rounds=5)

    bst = output['booster']
    print('bst.best_iteration:' + str(bst.best_iteration))
    print('bst.best_score: ' + str(bst.best_score))
    history = output['history']
    print(str(history))

if __name__ == '__main__':
    #with LocalCluster(n_workers=1, threads_per_worker=1) as cluster:
    with LocalCluster(n_workers=2, threads_per_worker=1) as cluster:
        with Client(cluster) as client:
            main(client)