NVIDIA GeForce RTX 4060 Laptop GPU
PyTorch是一个用于机器学习和深度学习的开源深度学习框架,由Facebook于2016年发布,其主要实现了自动微分功能,并引入动态计算图使模型建立更加灵活。Pytorch可分为前后端两个部分,前端是与用户直接交互的python API,后端是框架内部实现的部分,包括Autograd,它是一个自动微分引擎。
Pytorch基于已有的张量库Torch开发,在PyTorch的早期版本中,使用的是Torch7,后来随着PyTorch的发展,逐渐演变成了PyTorch所使用的张量库。
现如今,Pytorch已经成为开源机器学习系统中,在科研领域市场占有率最高的框架,其在AI顶会上的占比在2022年已达80% 。
这里特别说明一下,pytorch的cudnn与C语言版本的cudnn版本没有关系,pytorch使用自己的cudnn库。(从实际操作中得出相关结论)
版本选择、安装和验证方法和步骤参考如下帖子:
https://cloud.tencent.com/developer/article/2498755
版本选择、安装和验证方法和步骤参考如下帖子:
https://cloud.tencent.com/developer/article/2498755
找到pytorch官方网址,如下:
https://pytorch.org/get-started/locally/
根据下图,我们知道目前pytorch不在推荐conda安装方法,我们这里直接使用pip3方式安装。
sudo apt install python3-pip
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple
pip config set install.trusted-host mirrors.aliyun.com
pip3 install torch torchvision torchaudio
版本信息验证
import torch
print("torch.__version__: ", torch.__version__)
print("torch.version.cuda: ", torch.version.cuda)
print("torch.cuda.is_available: ", torch.cuda.is_available())
print("torch.backends.cudnn.version: ", torch.backends.cudnn.version())
if torch.cuda.is_available():
device_name = torch.cuda.get_device_name(0)
device_count = torch.cuda.device_count()
print('torch.cuda.get_device_name: ' + device_name)
print('torch.cuda.device_count: ' + str(device_count))
for i in range(device_count):
props = torch.cuda.get_device_properties(i)
print(f"\n设备 {i}:")
print(f" 名称: {props.name}")
print(f" 计算能力: {props.major}.{props.minor}")
print(f" 总内存: {props.total_memory / (1024 ** 2):.2f} MB")
print(f" 多处理器数量: {props.multi_processor_count}")
print(f" 每个多处理器的最大线程数: {props.max_threads_per_multi_processor}")
print(f" 是否集成在主板上: {props.is_integrated}")
# 测试深度学习模型是否可以在GPU上训练
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
print(f"\n当前设备: {device}")
# 创建一个示例张量并移动到当前设备上
tensor = torch.randn(3, 3).to(device)
print(f"张量在{tensor.device}上")
# 如果张量在GPU上,则可以在GPU上进行训练
if tensor.device.type == "cuda":
print("深度学习模型可以在GPU上进行训练")
else:
print("深度学习模型无法在GPU上进行训练,将使用CPU进行训练")
else:
print("此机器上没有 CUDA 设备可用")
运行结果如下:
python3 verfy_version_cudnn.py
torch.__version__: 2.6.0+cu124
torch.version.cuda: 12.4
torch.cuda.is_available: True
torch.backends.cudnn.version: 90100
torch.cuda.get_device_name: NVIDIA GeForce RTX 4060 Laptop GPU
torch.cuda.device_count: 1
设备 0:
名称: NVIDIA GeForce RTX 4060 Laptop GPU
计算能力: 8.9
总内存: 7933.12 MB
多处理器数量: 24
每个多处理器的最大线程数: 1536
是否集成在主板上: 0
当前设备: cuda:0
张量在cuda:0上
深度学习模型可以在GPU上进行训练
参考链接
https://blog.csdn.net/weixin_72965172/article/details/139647628
git clone https://github.com/pytorch/examples.git
cd pytorch/examples/mnist
python3 main.py
运行log跟C语言mnist类似,最后出现
Test set: Average loss: 0.0257, Accuracy: 9920/10000 (99%)
这里没有使用Conda等方法,后面有需要在试验一下。
名称 | 说明 |
---|---|
Conda | Conda是一个开源的包管理和环境管理系统,适用于Python和其他语言。它可以帮助我们安装和管理不同版本的软件包,以及创建、保存、加载和切换不同的虚拟环境。Conda的核心功能是包管理和环境管理,这使得它在Python开发中具有广泛的应用。 |
Anaconda | Anaconda则是基于Conda的一个Python发行版,它预装了Conda、某个版本的Python以及一些常用的科学计算和数据分析包。Anaconda提供了一个全面的科学计算环境,适合数据科学、机器学习等领域的用户。 |
Miniconda | Miniconda则是Anaconda的一个轻量级版本,它只包含最基本的Conda包和Python解释器,没有预装其他科学计算包。这使得Miniconda在需要最小化安装或自定义环境的场景下非常有用。。 |
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。