PySyft AttributeError: 'DataFrame' 对象在从 csv 读取数据时没有属性 'federate'

问题描述

我正在尝试为我的 csv 数据实现联合学习的 pysyft 代码。我正在关注的教程是 https://github.com/bt-s/Split-Learning-and-Federated-Learning/blob/master/src/federated_learning.py 他们使用了火炬库 FMNIST 数据,即 iamge 。我在为我的 csv 数据自定义代码时遇到困难。

这是我收到的错误

文件“C:/user/python/PCA/federated_learning.py”,第 175 行,在 train_loader = sy.FederatedDataLoader(train_set,transform=data_transformer.federate(workers),train=True,batch_size=args.batch_size,shuffle=True,**kwargs) AttributeError: 'Compose' 对象没有属性 'federate

# Pysyft needs to be hooked to PyTorch to enable its features
    hook = sy.TorchHook(torch)

    # Define the workers
    alfa    = sy.VirtualWorker(hook,id="alfa")
    bravo   = sy.VirtualWorker(hook,id="bravo")
    workers = (alfa,bravo)

    device = "cuda" if torch.cuda.is_available() else "cpu"
    device = torch.device(device)
    kwargs = {'num_workers': 1,'pin_memory': True} if device=="cuda" else {}

    # Specify required data transformation
    data_transformer = transforms.Compose([
        transforms.ToTensor(),transforms.normalize((0.5,),(0.5,))
    ])

    import pandas as pd
    print("Loading CSV...")
    test_set = pd.read_csv("C:/user/python/PCA/data/test.csv",encoding = "UTF-8")
    train_set = pd.read_csv("C:/user/python/PCA/data/train.csv",encoding = "UTF-8")
    train_loader = sy.FederatedDataLoader(train_set,**kwargs)
    test_loader = torch.utils.data.DataLoader(test_set,transform=data_transformer,train=False,**kwargs)
    

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...