人工智能上手 Pytorch
1、人工智能框架历史走向
2015年, caffe,优势配置简单,缺点安装麻烦,且不更新维护
2016年,tensorflow 1.x,定义太严格,很复杂。开发成本高。简单的任务,也很麻烦。
2017年,keras,封装了tensorflow 1.x,非常简洁的api,深受同学和老师的喜爱
2018年,tensorflow 2.x,收购了keras,tf2.0版本。
2019年,torch的python版本,pytorch。19年初比不过tf2.0. 简单。pytorch,学习成本极低。很少很短时间就能掌握torch。最有价值的地方。
2020年,2021年,2022年,pytorch已经是主导地位了。使用人数在90%。tf只有5%。
毋庸置疑,用pytorch。
2、安装pytorch
官网:
https://pytorch.org/
版本:
cpu、gpu
cpu是每个人都要装的,gpu得看版本
gpu的显存<=4g就别装了,没有意义。
显存6G以上,推荐8G以上。。
查看了一下,本地的gpu是8g内存。intel的Arc 750
2.1 安装anacoda
官网地址 https://www.anaconda.com/download
直接下载,安装
安装好,进入环境,可以在anaconda新建一个env
D: 直接切换盘然后cd 进入相关安装目录非常的纯净。ai是我建的env D:\IDE\anaconda3\envs\ai\Scripts>pip list
Package Version
---------- -------
pip 23.3.1
setuptools 68.2.2
wheel 0.41.2
Torch安装方法
cpu: pip install torch
还需要安装torchvision
pip install torchvision
n卡使用
nvidia-smi
访问
https://developer.nvidia.com/cuda-tookit-archive
intel的A卡使用
gpu: gpu需要装CUDA 自己去筛选版本。
pytorch下载地址 http://download.pytorch.org/whl/torch_stable.html
3、开始学习
1、边用边学,torch只是个工具,真正用,查的过程才是学习的过程
2、直接上案例就行,先来跑,遇到啥解决啥就完事了。
3.1 Mnist分类任务:
1.引入torch
import torch
print(torch.__version__)
打印2.2.2+cpu
2.显示图形的命令
%matplotlib inline
%matplotlib inline 是 Jupyter Notebook 或 JupyterLab 中的一个魔术命令(magic command),用于在 Notebook 中显示 Matplotlib 绘图的输出结果。当你在 Notebook 中使用 Matplotlib 进行绘图时,通常需要使用这个命令来确保图形能够正确地显示在 Notebook 中。具体来说,%matplotlib inline意味着在 Notebook 中生成的图形将直接嵌入到输出单元格中,而不是作为弹出窗口显示。这使得图形可以在 Notebook 中直接展示,并且可以随着代码的执行而动态更新。需要注意的是,%matplotlib inline 只适用于 Jupyter Notebook 或 JupyterLab,而在其他的 Python 环境中,如 Python 解释器或集成开发环境(IDE),可能需要使用其他方式来显示 Matplotlib 图形。
3.下载数据
from pathlib import Path
import requestsDATA_PATH=Path("data")
PATH = DATA_PATH / "mnist"PATH.mkdir(parents=True, exist_ok=True)URL = "http://deeplearning.net/data/mnist/"
FILENAME = "mnist.pkl.gz"if not (PATH / FILENAME).exists():content = requests.get(URL + FILENAME).content(PATH / FILENAME).open("wb").write(content)
4.把下载的数据读进来
import pickle
import gzipwith gzip.open((PATH / FILENAME).as_posix(),"rb") as f:((x_train,y_train),(x_valid,y_valid),_) = pickle.load(f, encoding = "latin-1")
5、运行全部,显示成功
from matplotlib import pyplot
import numpy as nppyplot.imshow(x_train[0].reshape((28,28)),cmap="gray")
print(x_train.shape)
4、torch和numpy的区别
torch是GPU跑,tensorflow也是
numpy是CPU,里面是数组