人工智能上手 Pytorch

发布于:2024-04-04 ⋅ 阅读:(126) ⋅ 点赞:(0)

人工智能上手 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

image-20240402200043549

2.1 安装anacoda

官网地址 https://www.anaconda.com/download

直接下载,安装

image-20240402225915991

安装好,进入环境,可以在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 requests

DATA_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 gzip

with 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 np

pyplot.imshow(x_train[0].reshape((28,28)),cmap="gray")
print(x_train.shape)

image-20240403204002586

4、torch和numpy的区别

torch是GPU跑,tensorflow也是

numpy是CPU,里面是数组