Clariceneverlie 2025-03-03 21:16 采纳率: 33.3%
浏览 2
已结题

请问大家数据怎么从c盘载到jupyter里?以及为什么import报错呀

img

我在gitee上下载的李宏毅机器学习GAN的源码,然后直接放到jupyter上面了,现在不知道怎么办训练集数据从c盘载入到jupyter里,还有就是import为什么报错了呢?因为对应的库没下载吗

  • 写回答

2条回答 默认 最新

  • 阿里嘎多学长 2025-03-03 21:16
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    解答

    你遇到的问题是将数据从 C 盘加载到 Jupyter Notebook 中,然后使用 PyTorch 和 GAN 进行训练。下面是解决方案:

    1. 将数据从 C 盘加载到 Jupyter Notebook 中: 你可以使用 Python 的 ospathlib 模块来读取 C 盘上的数据。例如:
    import os
    import pathlib
    
    data_path = pathlib.Path('C:/path/to/your/data')
    data = pd.read_csv(data_path / 'your_data.csv')
    

    其中,data_path 是 C 盘上的路径,your_data.csv 是你要加载的数据文件。

    1. 解决 import 报错: 如果你遇到了 import 报错,可能是因为你没有安装对应的库或版本。可以尝试使用 pip 命令安装对应的库,例如:
    pip install torch torchvision
    

    如果你已经安装了对应的库,但仍然报错,可以尝试使用 import 语句指定具体的库版本,例如:

    import torch
    import torchvision
    

    如果你使用的是 PyTorch 1.9.x,可以尝试使用 import torch.nn as nnimport torch.optim as optim

    1. GAN 训练: 如果你已经加载了数据和安装了对应的库,可以尝试使用 PyTorch 和 GAN 训练。例如:
    import torch
    import torch.nn as nn
    import torch.optim as optim
    
    # 定义 GAN 模型
    class Generator(nn.Module):
        def __init__(self):
            super(Generator, self).__init__()
            self.fc1 = nn.Linear(100, 128)
            self.fc2 = nn.Linear(128, 784)
    
        def forward(self, x):
            x = torch.relu(self.fc1(x))
            x = torch.sigmoid(self.fc2(x))
            return x
    
    # 定义 Discriminator 模型
    class Discriminator(nn.Module):
        def __init__(self):
            super(Discriminator, self).__init__()
            self.fc1 = nn.Linear(784, 128)
            self.fc2 = nn.Linear(128, 1)
    
        def forward(self, x):
            x = torch.relu(self.fc1(x))
            x = torch.sigmoid(self.fc2(x))
            return x
    
    # 训练 GAN
    generator = Generator()
    discriminator = Discriminator()
    criterion = nn.BCELoss()
    optimizer_G = optim.Adam(generator.parameters(), lr=0.001)
    optimizer_D = optim.Adam(discriminator.parameters(), lr=0.001)
    
    for epoch in range(100):
        for i in range(len(data)):
            # 生成器训练
            optimizer_G.zero_grad()
            z = torch.randn(100, 100)
            fake_data = generator(z)
            loss_G = criterion(discriminator(fake_data), torch.ones_like(fake_data))
            loss_G.backward()
            optimizer_G.step()
    
            # 判别器训练
            optimizer_D.zero_grad()
            real_data = data[i]
            loss_D = criterion(discriminator(real_data), torch.ones_like(real_data)) + criterion(discriminator(fake_data), torch.zeros_like(fake_data))
            loss_D.backward()
            optimizer_D.step()
    

    这个示例代码使用 PyTorch 和 GAN 训练,生成器和判别器使用了不同的网络结构和损失函数。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月11日
  • 已采纳回答 3月3日
  • 创建了问题 3月3日