简介:
一、实验准备
1.Pytorch
Pytorch是torch的python版本,是由Facebook开源的神经网络框架,专门针对 GPU 加速的深度神经网络(DNN)编程。Torch 是一个经典的对多维矩阵数据进行操作的张量(tensor )库,在机器学习和其他数学密集型应用有广泛应用。与Tensorflow的静态计算图不同,pytorch的计算图是动态的,可以根据计算需要实时改变计算图。但由于Torch语言采用 Lua,导致在国内一直很小众,并逐渐被支持 Python 的 Tensorflow 抢走用户。作为经典机器学习库 Torch 的端口,PyTorch 为 Python 语言使用者提供了舒适的写代码选择。
1.1 Pytorch的安装
1.1.1 Anaconda安装
此处我选用的是Anaconda3-5.2.0-Windows-x86_64.exe版本
1.1.2 pytorch的环境配置及安装
打开Anaconda Prompt 输入
conda create -n pytorch python=3.6
创建了一个新环境,然后使用如下命令进入环境
conda activate pytorch
之后需要安装gpu版本的pytorch,按照视频教程去pytorch.org使用官方命令安装pytorch怎么样安装的都是cpu版本,找了很多教程,都没有用,最直接的解决方案是自己下载离线文件,此处按照下面这个教程安装
在环境里安装torchvision时报错ReadTimeout,可能是安装依赖的问题,解决方法:设置pip全局设置镜像源
1 | pip3 config --global set global.index-url https://mirrors.aliyun.com/pypi/simple/ |
检验是否安装成功,依次输入
1 | python |
返回True
代表成功
配置和安装pytorch遇到了很多报错,终于是成功了,如果觉得有问题,可以把环境文件夹删了重来一遍(我的文件夹路径为C:\Users\Frelar\Anaconda3\envs\)
1.2 python的编辑器及配置
1.2.1 PyCharm
下载2023版使用import torch
报错了 下回2019版成功
1.2.2 Jupyter Notebook
按照教程下载报错,改为在Anaconda Promot(pytorch环境)里输入conda install jupyter notebook
,下载后new选项里没有当前环境,依次输入
1 | conda install ipykernel |
成功解决
1.3 一些库
1.3.1 opencv
这里使用pip install opencv-python
安装报错Failed building wheel for opencv-python
,然后尝试用conda安装,报错找不到库,所以还是采用离线下载方式,进入网址Archived: Python Extension Packages for Windows - Christoph Gohlke (uci.edu)找到你对应的python版本(cp36代表python3.6),使用迅雷下载会快很多,然后在环境下使用pip install your_path\opencv_python-4.4.0-cp36-cp36m-win_amd64.whl
安装成功
import cv2
1 | cv2.imread() #读取图片,返回ndarray类型图片及信息 |
1.3.2 os
import os
1 | os.listdir(dir_path) #读取获取目录下所有文件名称 |
1.3.3 torch
1.3.3.1 torch.utils.data.Dataset
from torch.utils.data import Dataset
包含自定义数据集方法的类,用户可以通过继承该类来自定义自己的数据集类,在继承时要求用户重载__len__()和__getitem__()这两个魔法方法
1 | from torch.utils.data import Dataset |
1.3.3.2 torch.utils.data. DataLoader
from torch.utils.data import DatLoader
1 | train_loader=DataLoader(dataset=train_data,batch_size=64,shuffle=True,num_workers=0,drop_last=True) |
1.3.3.3 torch.nn
from torch import nn
一个用于创建神经网络模型的类,可以作为参数、容器、子模块和函数
1 | #神经网络骨架 |
1.3.3.4 torch.optim
import torch
用于参数优化的库(可以说是花式梯度下降)
1 | optim=torch.optim.SGD(yourClass.parameters(),lr=0.01) #优化器(参数集,学习速率) |
1.3.4 torchvision
import torchvision
处理图像的工具集
1 | #获取数据集 |
1.3.4.1 torchvision.transforms
from torchvision import transforms
对图片进行操作
使用方法:
1 | mytool=transforms.tool(arguments1) #实例化 |
tool:
1 | myToTensor=transforms.ToTensor() |
1.4 利用GPU加速
1 | #方法一 |
遇到问题:
解决方案:
Tips:
结语:
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 21009200039@stu.xidian.edu.cn