问题描述
当我使用pysyft执行某些联合学习任务时,出现错误:
AttributeError:“ WebsocketServerWorker”对象没有属性“ add_dataset”
def start_websocket_server_worker(id,host,port,hook,verbose,training,dataset,dataset_labels):
server = websocket_server.WebsocketServerWorker(id=id,host=host,port=port,hook=hook,verbose=verbose)
# change dataset to tensor
x_values_tensor = dataset.reshape(dataset.shape[0],dataset.shape[2],dataset.shape[1],1).astype(float)
y_values_tensor = dataset_labels.astype(float)
one_HARdataset = HARdataset(x_values=x_values_tensor,y_values=y_values_tensor,transform=transforms.Compose([
ToTensor()
]))
server.add_dataset(one_HARdataset,key="har_dataset")
print("datasets: %s",server.datasets)
server.start()
return server
错误:
Traceback (most recent call last):
File "run_websocket_server.py",line 166,in <module>
dataset_labels=data_sep_worker_labels[work_dic[args.id]]
File "run_websocket_server.py",line 122,in start_websocket_server_worker
server.add_dataset(one_HARdataset,key="har_dataset")
AttributeError: 'WebsocketServerWorker' object has no attribute 'add_dataset'
Traceback (most recent call last):
File "run_websocket_server.py",key="har_dataset")
AttributeError: 'WebsocketServerWorker' object has no attribute 'add_dataset'
我不知道该怎么解决:(
解决方法
我明白了。 pysyft的最新版本在'WebsocketServerWorker'对象中没有add_dataset属性,因此我们应该回到以前的版本,如0.2.5。 我们可以使用以下命令:
pip install syft==0.2.5 -f https://download.pytorch.org/whl/torch_stable.html
祝你好运,玩得开心!