温馨提示×

ubuntu pytorch如何导入数据

小樊
41
2026-10-04 20:01:56
栏目: 智能运维

在 Ubuntu 上使用 PyTorch 导入数据,通常有以下几种常见方式,从最基础到最规范:


一、最基础:直接用 Python / NumPy 导入

1. 从 NumPy 导入

import numpy as np
import torch

data = np.loadtxt('data.csv', delimiter=',')
x = torch.from_numpy(data)
print(x.shape)

2. 从文本 / CSV 读取

import pandas as pd
import torch

df = pd.read_csv('data.csv')
x = torch.tensor(df.values, dtype=torch.float32)

二、推荐方式:使用 torch.utils.data.Dataset

自定义 Dataset(适合图片、文本、自定义格式)

from torch.utils.data import Dataset

class MyDataset(Dataset):
    def __init__(self, data_path):
        self.data = ...  # 读取数据

    def __len__(self):
        return len(self.data)

    def __getitem__(self, idx):
        x = self.data[idx]
        y = ...
        return x, y

使用:

from torch.utils.data import DataLoader

dataset = MyDataset('data.csv')
loader = DataLoader(dataset, batch_size=32, shuffle=True)

for x, y in loader:
    print(x.shape, y.shape)

三、图片数据:使用 ImageFolder(最常用)

适用于如下目录结构:

data/
  train/
    cat/
      img1.jpg
    dog/
      img2.jpg
from torchvision import datasets, transforms

transform = transforms.Compose([
    transforms.Resize((224, 224)),
    transforms.ToTensor()
])

dataset = datasets.ImageFolder('data/train', transform=transform)
loader = torch.utils.data.DataLoader(dataset, batch_size=32, shuffle=True)

四、常见数据集(torchvision / torchtext)

图像

from torchvision import datasets

train = datasets.CIFAR10(root='./data', train=True, download=True)

文本(NLP)

from torchtext.datasets import IMDB
train_iter = IMDB(split='train')

五、Ubuntu 常见注意事项

  1. 确保 PyTorch 已安装
python -c "import torch; print(torch.__version__)"
  1. 使用虚拟环境(推荐)
python -m venv venv
source venv/bin/activate
pip install torch torchvision
  1. GPU 数据
device = 'cuda' if torch.cuda.is_available() else 'cpu'
x = x.to(device)

六、简单总结

数据类型 推荐方式
CSV / NumPy torch.tensor
自定义数据 Dataset + DataLoader
图片 ImageFolder
标准数据集 torchvision / torchtext

如果你能告诉我:

  • 数据格式(CSV / 图片 / 文本)
  • 是否用 GPU
  • 是否是训练模型

我可以直接给你一段 可运行的完整代码示例。

0 踩