Ubuntu20.4安装pytorch的笔记和遇到的坑

1。 选择miniconda.

具体方法是下载到

Miniconda3-py311_23.11.0-1-Linux-x86_64.sh

然后执行安装。这里我不累述了。

2。 添加路径到~/.bashrc 中的$PATH

3。 conda deactivate后,conda create -n myenv

具体如下

conda create -n myenv python=3.8
conda activate myenv

为什么要指定为3.8?

这里是一个坑。因为没有装这个包,也可以安装pytorch,但没有这个包,就无法import pytorch。
但只有3.8以下的版本,才能安装numpy.

4. 看清楚源

将原有的源删除:

conda config --remove channels https://repo.continuum.io/pkgs/free

conda config --remove channels nvidia

conda config --remove channels pytorch

添加新的源

conda config --show channels
conda config --remove-key channels
conda config --add channels https://repo.anaconda.com/pkgs/free/linux-64/
conda config --add channels https://repo.anaconda.com/pkgs/main/linux-64/
conda config --set show_channel_urls yes
conda config --show channels

源这里坑有两个被我遇到。

一是网上都说清华源,也不清楚是不是我运气不好,不太灵光。其它的也都不行。

第二是个坑是,这个网站:https://repo.anaconda.com/pkgs/free/linux-64/

网上的文章是 : https://repo.anaconda.com/pkgs/free/win-64/

我也比较马虎,没有看清楚,但越来越觉得不对。

然后直接把这个链接放到web browser,才发现,还有一个 linux-64的路径。

5. 安装cuda
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia

安装前,应当确认自己的显卡。

我很久以前买的1050Ti,目前NVDIA还是支持的很好。看来有米还是买Ti版本的。(当前主流为4090X)

要注意应先将显卡驱动装好。然后得到与之对应的CUDA. 如果差距过大,需要卸载驱动,重装cuda.还应当先去 pytorch网站,查看一下,当前最新的 cuda版本是什么。

有人说cuda向下兼容,有人说,最好完全一样。这个看个人喜好。但如果差了大版本,那可能是要出问题。

这也是一个坑。

6。 安装好之后验证:

import torch

>>> print("PyTorch version:", torch.__version__)
PyTorch version: 2.3.0


示例2:

import torch
import time

if torch.cuda.is_available():
    device = torch.device('cuda')
else:
    device = torch.device('cpu')

print(f"Device: {device}")

# 定义一个较大的张量用于计算
size = (10240, 10240)
input_cpu = torch.randn(size)
input_gpu = input_cpu.to(device)

# 在CPU上执行矩阵乘法(耗时操作)
start_time_cpu = time.time()
output_cpu = torch.mm(input_cpu, input_cpu.t())
duration_cpu = time.time() - start_time_cpu

# 在GPU上执行同样的操作
start_time_gpu = time.time()
output_gpu = torch.mm(input_gpu, input_gpu.t().to(device))
duration_gpu = time.time() - start_time_gpu

# 输出结果和运行时间
print(f"CPU Matrix Multiplication Time: {duration_cpu:.6f} seconds")
print(f"GPU Matrix Multiplication Time: {duration_gpu:.6f} seconds")

输出为:

>>> # 输出结果和运行时间
>>> print(f"CPU Matrix Multiplication Time: {duration_cpu:.6f} seconds")
CPU Matrix Multiplication Time: 2.947035 seconds
>>> print(f"GPU Matrix Multiplication Time: {duration_gpu:.6f} seconds")
GPU Matrix Multiplication Time: 0.329065 seconds
 

  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值