天天看点

【算法01】pycharm + win11 + conda中利用pytorch实现CNN环境搭建代码解释其他知识

目录

  • 环境搭建
  • 代码解释
  • 其他知识
    • 1. torchvision
    • 2. PIL:Python Image Library
    • 3. torch

环境搭建

个人记录文档,电脑系统为win11
  1. 安装conda和pycharm,cuda,cuDNN以及pytorch

    conda和pychram安装不再赘述

    cuDNN:

    【算法01】pycharm + win11 + conda中利用pytorch实现CNN环境搭建代码解释其他知识
    >复制解压后的cdDNN文件到cuda的相关安装目录即可,之后查看是否安装成功cuDNN
    【算法01】pycharm + win11 + conda中利用pytorch实现CNN环境搭建代码解释其他知识
    conda建立好环境之后安装pytorch
conda create -n pytorch_gpu python=3.9 # 利用conda创建环境
# conda create --clone foo_env --name bar_env # 将foo_env的环境复制到新环境bar_env中
# 此时需查看自己电脑安装的cuda版本(2中有示例)
pip install torch==1.10.1+cu102 torchvision==0.11.2+cu102 torchaudio==0.10.1 -f https://download.pytorch.org/whl/cu102/torch_stable.html
           
  1. 查看cuda的安装版本和位置

    nvcc -V

    set cuda

    【算法01】pycharm + win11 + conda中利用pytorch实现CNN环境搭建代码解释其他知识
    【算法01】pycharm + win11 + conda中利用pytorch实现CNN环境搭建代码解释其他知识
  1. 显卡为NVIDIA GTX 1660 super
    【算法01】pycharm + win11 + conda中利用pytorch实现CNN环境搭建代码解释其他知识
  2. 其他电脑设置如下:
    【算法01】pycharm + win11 + conda中利用pytorch实现CNN环境搭建代码解释其他知识

代码解释

其他知识

1. torchvision

构成:

  • torchvision.datasets:常用的数据集接口
  • torchvision.models:常用的模型结构,譬如AlexNet,VGG, ResNet
  • torchvision.transforms:图片变换
    • transforms.CenterCrop 对图片中心进行裁剪

      transforms.ColorJitter 对图像颜色的对比度、饱和度和零度进行变换

      transforms.FiveCrop 对图像四个角和中心进行裁剪得到五分图像

      transforms.Grayscale 对图像进行灰度变换

      transforms.Pad 使用固定值进行像素填充

      transforms.RandomAffine 随机仿射变换

      transforms.RandomCrop 随机区域裁剪

      transforms.RandomHorizontalFlip 随机水平翻转

      transforms.RandomRotation 随机旋转

      transforms.RandomVerticalFlip 随机垂直翻转

  • torchvision.utils:其他操作

2. PIL:Python Image Library

是Python 语言的一个第三方库,支持图像存储、显示和处理,能够处理几乎所有格式的图片。

3. torch

  • 3.1 torch:生成随机数字的tensor,满足标准正态分布(0~1)
print(torch.randn(3),'\n',
      torch.randn(3, 4),'\n',
      torch.randn(3, 4, 5))
###################################
tensor([ 0.2965, -1.9862,  0.6845]) 
 tensor([[ 0.0102, -0.7910,  0.2807,  0.2399],
        [ 0.0896, -0.4920,  1.1830,  1.0532],
        [-0.3168, -0.5191, -0.2676,  0.0547]]) 
 tensor([[[ 0.3623, -0.0488, -0.9397,  2.0493, -0.4924],
         [-0.8506,  0.0435,  0.1077,  0.5010, -0.6206],
         [-0.0964,  1.2366,  1.2035,  1.1832, -1.0772],
         [ 0.7585, -2.2725, -0.7748, -0.6995,  1.4313]],

        [[-0.8132,  0.3222, -2.0298, -0.8955, -1.5885],
         [-1.9234, -0.2824, -2.0615,  2.4361,  1.0798],
         [-0.7023,  0.8195, -0.5983,  1.6142, -0.5253],
         [-0.3071, -1.3893,  0.7453,  0.0168, -0.8236]],

        [[-0.5623,  0.5198, -0.1727,  0.0726,  0.9915],
         [ 1.7734,  0.4547, -0.1993,  0.3765, -0.4798],
         [ 0.0041,  0.0529,  1.1025,  1.3861, -0.1418],
         [-0.4634,  1.1942,  0.6051,  0.3423,  0.2027]]])

           
  • 3.2 torch.nn
  • 3.3 torch.cuda
  • 3.4 torch.sparse
torch.sparse_coo_tensor(indices, values,
					    size=None, *,
					    dtype=None,
					    device=None,
					    requires_grad=False)

***
待更新

           

继续阅读