Colab/PyTorch - Getting Started with PyTorch

Colab/PyTorch - Getting Started with PyTorch

  • 1. 源由
  • 2. 概要
    • 2.1 PyTorch是什么?
    • 2.2 为什么学习PyTorch?
    • 2.3 PyTorch库概览
  • 3. 步骤
  • 4. 预期&展望
  • 5. 总结
  • 6. 参考资料

1. 源由

世界在发展,为其服务的技术也在不断演变。每个人都要跟上技术迅速变化的步伐至关重要。其中一个见证最快、最大进步的领域是人工智能。

之前基本上都是花了两周的时间过了一遍:

  • 《ubuntu22.04@laptop OpenCV Get Started》
  • 《Jammy@Jetson Orin - Tensorflow & Keras Get Started》

为了更好的了解业界的一些基础代码框架,今后有机会用于《一种部件生命期监测方法》在高度专业业务领域的预测应用。

接下来,对PyTorch做个入门的学习和研读,和大家一起共勉!

2. 概要

2.1 PyTorch是什么?

PyTorch是一个基于Python的库,它方便地构建深度学习模型并在各种应用中使用它们。但这不仅仅是另一个深度学习库,它是是一个面向两组受众的基于Python的科学计算包:

  1. 作为NumPy的替代品,利用GPU的强大能力
  2. 提供最大灵活性和速度的深度学习研究平台

PyTorch使用Tensor作为其核心数据结构,类似于Numpy数组。你可能会对这种特定的数据结构选择感到好奇。答案在于,有了适当的软件和硬件支持,张量提供了各种数学运算的加速。当这些操作在大量的深度学习中进行时,速度上的巨大差异就显而易见了。

与Python类似,PyTorch专注于易用性,使得即使是具有非常基本编程知识的用户也能在其项目中使用深度学习。

2.2 为什么学习PyTorch?

Keras, Tensorflow, Caffe, Theano (RIP)等等深度学习的工具不乏其人。那么,PyTorch有何不同之处呢?

一个理想的深度学习库应该易于学习和使用,足够灵活以适用于各种应用,高效以处理庞大的现实生活数据集,并且准确到足以在输入数据不确定性存在时提供正确的结果。

PyTorch在上述所有指标上表现非常出色。其“Pythonic”编码风格使得学习和使用变得简单。GPU加速、支持分布式计算和自动梯度计算有助于从前向表达式开始自动执行反向传播。

当然,由于Python,它面临着运行时缓慢的风险,但是高性能的C++ API(libtorch)消除了这种开销。这使得从研发到生产的过渡非常顺畅。这是使用PyTorch的另一个原因!

2.3 PyTorch库概览

现在我们了解了PyTorch及其独特之处,让我们看一看PyTorch项目的基本流程。下面的图描述了一个典型的工作流程以及与每个步骤相关的重要模块。

在这里插入图片描述
注:重要PyTorch模块包括:torch.nn、torch.optim、torch.utils和torch.autograd。

3. 步骤

凡事只能一步一个脚印,稳扎稳打,就像山寨货,虽然能快速出来,但是出了问题就只能儍瞪眼的份。

因此,我们的习惯就是一步一个脚印,马上踏上PyTorch的学习之旅:

  • 【1】Colab/PyTorch - 001 PyTorch Basics
  • 【2】Colab/PyTorch - 002 Pre Trained Models for Image Classification
  • 【3】Colab/PyTorch - 003 Transfer Learning For Image Classification
  • … …后续慢慢补充

4. 预期&展望

预期:1~2周完成入门学习,了解基本概念和API操作。

展望:在Jetson Orin Nano上引入Yolo算法,完成目标追踪功能。

目的:

  • 《ArduPilot开源代码之CompanionComputer上天计划》
  • 《Ardupilot开源代码之Rover上路计划》
  • 《Ardupilot & OpenIPC & 基于WFB-NG构架分析和数据链路思考》
  • 《一种部件生命期监测方法》

5. 总结

后续,等完成了这个小目标后,再做总结整理。

6. 参考资料

【1】Welcome to PyTorch Tutorials
【2】The Top 23 Pytorch Open Source Projects

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

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

相关文章

【Linux】动态库与静态库的底层比较

送给大家一句话: 人生最遗憾的,莫过于,轻易地放弃了不该放弃的,固执地坚持了不该坚持的。 – 柏拉图 (x(x_(x_x(O_o)x_x)_x)x) (x(x_(x_x(O_o)x_x)_x)x) (x(x_(x_x(O_o)x_x)_x)x) 底层比较 1 前言2 编译使用比较2 如何加载Than…

一竞技LOL:中韩首场对决暴露TES大问题 BLG和T1的比赛成为焦点!

北京时间5月12日,昨天结束的MSI比赛中第二场比赛是本次MSI第一场中韩大战,由LCK赛区的一号种子GEN战队对阵LPL的二号种子TES战队。TES最终是2:3非常遗憾的输给了Gen,这也意味着TES将要去败者组,本场比赛也是暴露出了TES战队比较大的问题,中单的英雄池以及上单369的状态成为TES战…

enable_shared_from_this使用笔记

解决了&#xff1a; 不能通过原指针增加引用次数的问题 &#xff0c;通过weak_ptr实现。 class MyCar:public std::enable_shared_from_this<MyCar> { public:~MyCar() { std::cout << "free ~Mycar()" << std::endl; } };int main() { MyCar* _…

走进开源,拥抱开源

走进开源&#xff0c;拥抱开源 一、开源文化1.1 什么是开源1.2 为什么要开源1.3 有哪些开源协议 二、选择开源2.1 开源社区的类型与特点2.2 如何选择开源社区2.3 如何选择开源项目 三、参与开源3.1 开源社区的参与方式3.2 开源项目的参与方式 四、Apache Doris 参与示例4.1 Dor…

【iOS】RunLoop详解(二)

RunLoop详解&#xff08;二&#xff09; RunLoop 的概念RunLoop 与线程的关系RunloopRunloop与线程的关系RunLoop对外的接口Runloop的Mode举例说明小结 RunLoop 的内部逻辑RunLoop的底层实现苹果用RunLoop实现的功能AutoreleasePool事件响应手势识别界面更新定时器PerformSelec…

Python经典案例爬取豆瓣Top250电影数据

随着网络数据的日益丰富&#xff0c;如何从海量的信息中快速、准确地提取出有价值的数据&#xff0c;成为了许多开发者和技术爱好者关注的焦点。在这个过程中&#xff0c;网络爬虫技术凭借其强大的数据获取能力&#xff0c;成为了数据分析和挖掘的重要工具。本文将通过一个经典…

[JNI]使用jni实现简单的Java调用本地C语言代码

[JNI]使用jni实现简单的Java调用本地C语言代码 JNI的解释 Java Native Interface&#xff0c;即Java本地接口。 在Java官方描述中为&#xff1a; The JNI is a native programming interface. It allows Java code that runs inside a Java Virtual Machine (VM) to interope…

day11-StreamFile

1.Stream流 1.1 体验Stream流 需求&#xff1a;按照下面的要求完成集合的创建和遍历 创建一个集合&#xff0c;存储多个字符串元素 把集合中所有以"杨"开头的元素存储到一个新的集合 把"杨"开头的集合中的长度为3的元素存储到一个新的集合 遍历上一步得到…

C++语言题库(三)—— PAT

目录 1. 打印点、圆、圆柱信息 2. 国际贸易统计 3. 设计一个类CRectangle 4. 定义一个时间类 5. 定义一个Date类 6. 定义一个Time类 7. 设计一个People类 8. 平均成绩 9. 计算若干个学生的总成绩及平均成绩 11. 使用面向对象的方法求长方形的周长 1. 打印点、圆、圆柱…

回溯算法精讲

原理 回溯&#xff0c;就和深度优先遍历&#xff08;DFS&#xff09;类似&#xff0c;属于先一层到底直至到终点&#xff0c;如果这条路径不对&#xff0c;则回退一下&#xff0c;再继续往下搜索。 抽象地说&#xff0c;解决一个回溯问题&#xff0c;实际上就是遍历一棵决策树…

【神经网络】输出层的设计

文章目录 前言一、恒等函数和softmax函数恒等函数softmax 函数python实现softmax函数 二、实现softmax函数时的注意事项函数优化python实现 三、softmax函数的特征计算神经网络的输出输出层的softmax函数可以省略“学习”和“推理”阶段 四、输出层的神经元数量 前言 神经网络…

Disk Map for Mac,让您的Mac更“轻”松

还在为Mac磁盘空间不足而烦恼吗&#xff1f;Disk Map for Mac来帮您轻松解决&#xff01;通过独特的TreeMap视觉显示技术&#xff0c;让您一眼就能看出哪些文件和文件夹占用了大量空间。只需简单几步操作&#xff0c;即可快速释放磁盘空间&#xff0c;让您的Mac更“轻”松。快来…

el-checkbox选中后的值为id,组件显示为label中文

直接上代码 方法一 <el-checkbox v-for"item in list" :key"item.id" :label"item.id">{{中文}} </el-checkbox> 方法二 <el-checkbox-group class"flex_check" v-model"rkStatusList" v-for"item…

prometheus、mysqld_exporter、node_export、Grafana安装配置

工具简介 Prometheus&#xff08;普罗米修斯&#xff09;&#xff1a;是一个开源的服务监控系统和时间序列数据库 mysqld_exporter&#xff1a; 用于监控 mysql 服务器的开源工具&#xff0c;它是由 Prometheus 社区维护的一个官方 Exporter。该工具通过连接到mysql 服务器并执…

EasyNmon服务器性能监控工具环境搭建

一、安装jdk环境 1、看我这篇博客 https://blog.csdn.net/weixin_54542209/article/details/138704468 二、下载最新easyNmon包 1、下载地址 https://github.com/mzky/easyNmon/releases wget https://github.com/mzky/easyNmon/releases/download/v1.9/easyNmon_AMD64.tar.…

openssl 生成证书步骤

本地测试RSA非对称加密功能时&#xff0c;需要用到签名证书。本文记录作者使用openssl本地生成证书的步骤&#xff0c;并没有深入研究openssl&#xff0c;难免会有错误&#xff0c;欢迎指出&#xff01;&#xff01;&#xff01; 生成证书标准流程&#xff1a; 1、生成私钥&am…

单位学校FM调频电台直放站系统

随着教育技术的不断发展&#xff0c;校园广播系统的建设已成为现代学校必不可少的一部分。作为传统有线广播的有效补充&#xff0c;基于无线电信号传输的 FM 调频电台在学校的使用日益广泛&#xff0c;尤其是在紧急通知、日常信息传播及教学辅助等方面发挥着重要作用。为了增强…

msvcp140dll怎么修复,分享5种有效的解决方法

MSVCP140.dll文件丢失这一现象究竟是何缘由&#xff0c;又会引发哪些令人头疼的问题呢&#xff1f;在探索这个问题的答案之前&#xff0c;我们先来深入了解这个神秘的DLL文件。MSVCP140.dll是Microsoft Visual C Redistributable Package的一部分&#xff0c;它扮演着至关重要的…

IP地址定位技术在网络安全中的作用

在当今数字化时代&#xff0c;网络安全已经成为企业、政府和个人面临的重要挑战之一。随着互联网的普及和网络攻击的增加&#xff0c;保护个人隐私和防止网络犯罪变得尤为重要。在这一背景下&#xff0c;IP地址定位技术作为网络安全的重要组成部分之一&#xff0c;发挥着关键作…

【Shell】shell编程之循环语句

目录 1.for循环 例题 2.while循环 例题 3.until循环 1.for循环 读取不同的变量值&#xff0c;用来逐个执行同一组命令 for 变量 in 取值列表 do 命令序列 done [rootlocalhost ~]# for i in 1 2 3 > do > echo "第 $i 次跳舞" > done 第 1 次跳舞 第 …