首页主机资讯Linux平台上PyTorch应用案例

Linux平台上PyTorch应用案例

时间2025-11-17 15:52:04发布访客分类主机资讯浏览1202
导读:Linux平台上PyTorch应用案例精选 一 环境搭建与验证 系统与工具:建议使用 Ubuntu 20.04/22.04 或 CentOS 7/8,搭配 Python 3.8+、Anaconda/Miniconda 或 venv 管理依...

Linux平台上PyTorch应用案例精选

一 环境搭建与验证

  • 系统与工具:建议使用 Ubuntu 20.04/22.04CentOS 7/8,搭配 Python 3.8+Anaconda/Minicondavenv 管理依赖。
  • 安装 PyTorch(示例命令,按你的 CUDA 版本选择其一):
    • CPU 版(pip):pip3 install torch torchvision torchaudio
    • GPU 版(pip):pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu118
    • CPU 版(conda):conda install pytorch torchvision torchaudio cpuonly -c pytorch
    • GPU 版(conda):conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
  • 验证:python3 - < < ‘PY’ import torch print(“PyTorch version:”, torch.version) print(“CUDA available:”, torch.cuda.is_available()) PY
    以上流程适用于 Ubuntu/CentOS 等主流发行版,能快速完成环境准备与可用性验证。

二 案例一 图像分类 CNN 训练与推理(CIFAR-10)

  • 任务目标:在 CIFAR-10 上训练一个小型 CNN,完成 10 类图像分类,并保存权重用于推理。
  • 关键步骤与代码要点:
    1. 数据预处理与加载
      transform = transforms.Compose([transforms.ToTensor(), transforms.Normalize((0.5,0.5,0.5),(0.5,0.5,0.5))])
      trainset = torchvision.datasets.CIFAR10(root=‘./data’, train=True, download=True, transform=transform)
      trainloader = DataLoader(trainset, batch_size=4, shuffle=True, num_workers=2)
    2. 定义模型
      class Net(torch.nn.Module):
      def init(self):
      super().init(); self.conv1=torch.nn.Conv2d(3,6,5); self.pool=torch.nn.MaxPool2d(2,2)
      self.conv2=torch.nn.Conv2d(6,16,5); self.fc1=torch.nn.Linear(1655,120)
      self.fc2=torch.nn.Linear(120,84); self.fc3=torch.nn.Linear(84,10)
      def forward(self,x):
      x=self.pool(torch.relu(self.conv1(x))); x=self.pool(torch.relu(self.conv2(x)))
      x=x.view(-1,1655); x=torch.relu(self.fc1(x)); x=torch.relu(self.fc2(x)); return self.fc3(x)
    3. 训练循环(示例:2 个 epoch)
      net=Net(); criterion=torch.nn.CrossEntropyLoss(); optimizer=torch.optim.SGD(net.parameters(),lr=0.001,momentum=0.9)
      for epoch in range(2):
      for i,data in enumerate(trainloader,0):
      inputs,labels=data; optimizer.zero_grad(); outputs=net(inputs); loss=criterion(outputs,labels)
      loss.backward(); optimizer.step()
    4. 保存与推理
      torch.save(net.state_dict(),‘cifar_cnn.pth’)

      推理:net.load_state_dict(torch.load(‘cifar_cnn.pth’)); net.eval(); …

该案例展示了从数据到训练再到保存的完整闭环,适合作为 Linux 上的入门图像任务模板。

三 案例二 文本情感分析 BERT 快速上手

  • 任务目标:使用 HuggingFace TransformersBERT 对英文句子进行二分类情感分析(正/负)。
  • 关键步骤与代码要点:
    1. 环境与依赖:pip install torch transformers
    2. 分词与编码
      from transformers import BertTokenizer, BertForSequenceClassification
      tokenizer=BertTokenizer.from_pretrained(‘bert-base-uncased’)
      model=BertForSequenceClassification.from_pretrained(‘bert-base-uncased’, num_labels=2)
      text=“PyTorch is a great framework for deep learning.”
      inputs=tokenizer(text, return_tensors=‘pt’, max_length=512, truncation=True)
    3. 推理
      with torch.no_grad(): outputs=model(**inputs); pred=torch.argmax(outputs.logits,dim=1).item()
      print(f’Predicted class: { pred} ')
    4. GPU 训练简例(简化版)
      device=torch.device(‘cuda’ if torch.cuda.is_available() else ‘cpu’); model.to(device)
      encoded=tokenizer(texts, padding=True, truncation=True, return_tensors=‘pt’)
      labels=torch.tensor([1,0]); dataset=TensorDataset(encoded[‘input_ids’],encoded[‘attention_mask’],labels)
      loader=DataLoader(dataset,batch_size=2)
      optimizer=torch.optim.AdamW(model.parameters(),lr=5e-5)
      model.train();
      for batch in loader: ids,masks,lbls=[b.to(device) for b in batch];
      out=model(input_ids=ids,attention_mask=masks,labels=lbls); loss=out.loss; loss.backward(); optimizer.step()
      该流程在 Ubuntu/CentOS 均可直接运行,适合作为 NLP 入门与快速验证的基线。

四 案例三 大模型本地部署与 Web 演示(Qwen-7B-Chat)

  • 任务目标:在 Ubuntu 20.04 上部署 Qwen-7B-Chat,并启动 Web 演示
  • 环境要点:Python 3.9PyTorch 2.2+cu121CUDA 12.1RTX 2080 Ti
  • 关键步骤与代码要点:
    1. 创建环境并安装 PyTorch(示例):
      conda create -n Chat python=3.9
      pip install torch-2.2.0+cu121-cp39-cp39-linux_x86_64.whl
      pip install torchvision==0.17.0+cu121 -f https://download.pytorch.org/whl/torch_stable.html
    2. 安装依赖与模型
      pip install modelscope transformers
      git clone https://github.com/QwenLM/Qwen.git & & cd Qwen
      pip install -r requirements.txt -r requirements_web_demo.txt
    3. 运行 Web 演示(示例):

      在 Qwen 目录执行

      pip install -r requirements_web_demo.txt
      python web_demo.py --model qwen/Qwen-7B-Chat --trust-remote-code
      该示例展示了在 Linux 上落地 7B 级大模型并进行在线演示的完整链路,适合作为企业内测或产品原型验证的起点。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Linux平台上PyTorch应用案例
本文地址: https://pptw.com/jishu/749024.html
Linux与PyTorch协同工作流程 PyTorch Linux开发环境搭建

游客 回复需填写必要信息