人工智能上手 Pytorch

人工智能上手 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,里面是数组

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/513420.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Ardupilot无人船(车)各控制模式简介

本文介绍了Ardupilot固件无人船(车)的各种模式。 用户通常使用遥控器开关设置无人船(车)模式。也可以使用地面站更改模式。 对于3档开关&#xff0c;通常最好将一个开关位置设置为HOLD&#xff0c;另一个设置为MANUAL&#xff0c;第三个设置为STEERING或AUTO。 一、ACRO模式 …

C++中的string类模拟实现

目录 string类的模拟实现 string类的构造函数 string类拷贝构造函数 string类析构函数 string类c_str()函数 string类中的[]运算符重载函数 string类中的赋值运算符重载 string类中获取字符串有效字符个数 string类中获取字符串存储空间大小&#xff08;不包括\0&…

把标注数据导入到知识图谱

文章目录 简介数据导入Doccano标注数据&#xff0c;导入到Neo4j寻求帮助 简介 团队成员使用 Doccano 标注了一些数据&#xff0c;包括 命名实体识别、关系和文本分类 的标注的数据&#xff1b; 工作步骤如下&#xff1a; 首先将标注数据导入到Doccano&#xff0c;查看一下标注…

配置vite配置文件更改项目端口、使用@别名

一、配置vite配置文件更改项目端口 vite官方文档地址&#xff1a;开发服务器选项 | Vite 官方中文文档 (vitejs.dev) 使用&#xff1a; 二、使用别名 1. 安装 types/node types/node 包允许您在TypeScript项目中使用Node.js的核心模块和API&#xff0c;并提供了对它们的类型…

嵌入式面试八股文

大家好&#xff0c;今天给大家介绍嵌入式面试八股文&#xff0c;文章末尾附有分享大家一个资料包&#xff0c;差不多150多G。里面学习内容、面经、项目都比较新也比较全&#xff01;可进群免费领取。 嵌入式面试中&#xff0c;常被问到的问题通常涉及嵌入式系统的基础知识、应用…

zabbix源码安装

目录 一.安装php和nginx客户端环境 二.修改php配置 三.修改nginx配置文件 四.下载并编译zabbix 五.创建zabbix需要的用户及组 六.安装编译需要的依赖 七.配置zabbix文件 八.数据库配置 九.配置zabbix 十.web界面部署 十一.遇到无法创建配置文件 十二.登录zabbix 前…

非关系型数据库-----------Redis的主从复制、哨兵模式

目录 一、redis群集有三种模式 1.1主从复制、哨兵、集群的区别 1.1.1主从复制 1.1.2哨兵 1.1.3集群 二、主从复制 2.1主从复制概述 2.2主从复制的作用 ①数据冗余 ②故障恢复 ③负载均衡 ④高可用基石 2.3主从复制流程 2.4搭建redis主从复制 2.4.1环境准备 2.4…

Sy6 编辑器vi的应用(+shell脚本3例子)

实验环境&#xff1a; 宿主机为win11&#xff0c;网络&#xff1a;10.255.50.5 6389 WSL2 ubuntu 目标机的OS&#xff1a;Ubuntu 内核、版本如下&#xff1a; linuxpeggy0223:/$ uname -r 5.15.146.1-microsoft-standard-WSL2 linuxpeggy0223:/$ cat /proc/version Linux vers…

解析二极管的单向导电性

二极管是电子电路中很常用的元器件&#xff0c;非常常见&#xff0c;二极管具有正向导通&#xff0c;反向截止的特性。 在二极管的正向端&#xff08;正极&#xff09;加正电压&#xff0c;负向端&#xff08;负极&#xff09;加负电压&#xff0c;二极管导通&#xff0c;有电流…

云计算的安全需求

目录 一、概述 二、云安全服务基本能力要求 三、信息安全服务&#xff08;云计算安全类&#xff09;资质要求 3.1 概述 3.2 资质要求内容 3.2.1 组织与管理要求 3.2.2 技术能力要求 四、云安全主要合规要求 4.1 安全管理机构部门的建立 4.2 安全管理规范计划的编制 4…

计算机视觉之三维重建(5)---双目立体视觉

文章目录 一、平行视图1.1 示意图1.2 平行视图的基础矩阵1.3 平行视图的极几何1.4 平行视图的三角测量 二、图像校正三、对应点问题3.1 相关匹配法3.2 归一化相关匹配法3.3 窗口问题3.4 相关法存在的问题3.5 约束问题 一、平行视图 1.1 示意图 如下图即是一个平行视图。特点&a…

大数据设计为何要分层,行业常规设计会有几层数据

大数据设计通常采用分层结构的原因是为了提高数据管理的效率、降低系统复杂度、增强数据质量和可维护性。这种分层结构能够将数据按照不同的处理和应用需求进行分类和管理&#xff0c;从而更好地满足不同层次的数据处理和分析需求。行业常规设计中&#xff0c;数据通常按照以下…

java框架学习——注解/元注解概述及使用案例

前言&#xff1a; 整理下学习笔记&#xff0c;打好基础&#xff0c;daydayup!!! 注解 注解&#xff08;Annotation&#xff09;是java代码里的特殊标记。作用为&#xff1a;让其他程序根据注解信息来决定怎么执行该程序&#xff0c;如&#xff1a;Override,Test等。同时可以根…

安装pillow库的方法最终解答!

安装pillow库&#xff0c;记录留痕。 Pillow库是一个非常强大的图像处理库。它提供了广泛的图像处理功能&#xff0c;让我们可以轻松地操作图像&#xff0c;实现图像的转换、裁剪、缩放、旋转等操作。此外&#xff0c;Pillow还支持多种图像格式的读取和保存&#xff0c;包括JP…

「每日跟读」句型公式 第2篇

「每日跟读」句型公式 第2篇 1. I’m thinking about____ 我在考虑____ I’m thinking about my future career (我正在思考我未来的职业) I’m thinking about our marriage (我在考虑我们的婚姻) I’m thinking about taking a vacation (我在考虑度一个假) I’m think…

【RedHat9.0】Timer定时器——创建单调定时器实例

一个timer&#xff08;定时器&#xff09;的单元类型&#xff0c;用来定时触发用户定义的操作。要使用timer的定时器&#xff0c;关键是要创建一个定时器单元文件和一个配套的服务单元文件&#xff0c;然后启动这些单元文件。 定时器类型&#xff1a; 单调定时器&#xff1a;即…

回溯算法 DFS

目录 回溯算法和dfs的区别回溯算法基本框架例题&#xff1a;【1,2&#xff0c;3】的全排列代码详解完整代码 DFS 本文思路、代码均参考于&#xff1a;https://labuladong.online/algo/essential-technique/backtrack-framework-2/#%E4%B8%80%E3%80%81%E5%85%A8%E6%8E%92%E5%88%…

【数字图像处理】图像的最近邻插值、双线性插值和双三次插值

图像最近邻插值、双线性插值和双三次插值 用 O ( X , Y ) O(X,Y) O(X,Y)表示 H W H\times W HW的原始图像&#xff0c; G ( X ^ , Y ^ ) G(\hat{X},\hat{Y}) G(X^,Y^)表示 H ^ Y ^ \hat{H}\times\hat{Y} H^Y^的目标图像。 最近邻插值 最近邻插值法令目标图像在 ( x ^ , y…

深入理解直播美颜SDK背后的深度学习原理

直播美颜SDK技术背后涉及了深度学习原理的应用&#xff0c;今天我将为大家讲解美颜SDK其中的深度学习算法&#xff0c;还有一些基本原理与关键技术。 一、深度学习在直播美颜中的应用 直播美颜SDK的核心是基于深度学习的算法模型。这些模型通常由多个卷积神经网络组成&#xf…

SCI一区 | Matlab实现BES-TCN-BiGRU-Attention秃鹰算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测

SCI一区 | Matlab实现BES-TCN-BiGRU-Attention秃鹰算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测 目录 SCI一区 | Matlab实现BES-TCN-BiGRU-Attention秃鹰算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测预测效果基本介绍模型描述程序…