温馨提示:为了更好的教程体验,提供视频、阅读地址

Youtube: https://www.youtube.com/playlist?list=PLgAyVnrNJ96CqYdjZ8v9YjQvCBcK5PZ-V

BiliBili: https://www.bilibili.com/video/av74281036/

Github: https://github.com/xiaotudui/PyTorch-Tutorial

相关下载:https://pan.baidu.com/s/16koDDDvAFO7rNoi-uR-A_g 提取码:pahi

在学习中,遇到任何问题,可以关注公众号:土堆碎念,直接在对话框中留言,我会不定时解答的~

公众号:土堆碎念,回复:pytorch,即可获得所有的数据集及安装包, 省去找软件、数据集的时间。(同步更新中,请勿急躁)


前言

一般的教程的介绍顺序是:基本的数据类型,一些常用函数之类的。

但我在学习的过程中,比如他在介绍 b函数,总会引入 a函数之类的。而 a函数的意义我又不知道,就很烦了。

而且,我还不知道每个模块中,有哪些函数,整个学习过程中,对我来说太痛苦了。

所以,这次我会介绍 Python 中的两个法宝函数,它试用于任何 Python Package,所以,当然也适用于 PyTorch。

授人以鱼不如授人以渔,这两个法宝函数,对你自学,深入学习,一定有巨大帮助。

Package 与 两大法宝函数

我们之前说过,一个 Package 就好像一个工具箱。我们现在来解析,这个名为 pytorch 的工具箱结构。

游戏开始!你有两个道具:

dir() 道具:相当于你的手和眼睛,它可以帮你打开东西和看到其中的东西。

help() 道具:相当于说明书,你可以知道每个工具的使用方法。

现在让我们去探索吧!

我们首先对 pytorch 工具箱使用 dir() 道具,这样就可以发现其中有 1,2,3,4 的分隔区 或者 小工具箱。

dir(pytorch) 的输出将会是:1,2,3,4。

现在我们想去探索 分隔区1 里面有什么?

我们继续使用我们的 dir() 道具,dir(pytorch.1),将会输出 a,b,c。

这就说明,在 1 的分隔区或者小工具箱中,有名为 a,b,c的工具。

现在我们知道了 a 道具在 pytorch 工具箱中的1分隔区。

我们想知道如何使用它,这个时候,我们需要使用到另一个道具,help(),我们这样使用,help(pytorch.1.a)。它将会输出,使用 a 的方法。

总而言之:

dir(),能让你了解package有哪些东西,也许是更小的模块,或者是函数。

help(),能让你知道函数的使用方法。

实战——两个重要函数( dir(), help() )

1、首先,打开 PyCharm,应该默认会打开上一节创建的项目,如果没有的话,点击左上角的 File - Open,打开上一节创建的项目地址。

之后,点击左下角的 Python Console,检查第一行的 envs 后是不是 你创建的 conda环境的名字。

2、我们使用 import torch,导入 PyTorch。之前说过,package 就像一个工具箱,里面有各种各样的工具。

当我们要使用工具箱的时候,我们需要知道:工具箱中有什么工具,以及工具该如何使用(说明书)。而这两个函数,就是对应这两个功能。

dir 函数能让我们知道 工具箱 以及工具箱中的分隔区有什么东西。

help 函数能让我们知道每个工具是如何使用的,工具的使用方法。

3、现在,我们想去看看 torch 工具箱中,有什么?我们输入 dir(torch),会看到大量的结果。

这些结果也许是工具,也许是工具分隔区。

4、现在我们就之前检查 torch.cuda.is_available() 为例。我们在 torch 工具箱中,发现了 cuda 工具分隔区,或者更小的工具箱。

我们现在继续看看,cuda 这个小工具箱中,有什么?

5、我们在这个工具箱中,可以看到,is_available,我们之前使用的。我们对 is_available 继续使用 dir() 函数,可以看到输出,是带有前后双下划线的。这个时候,就大致表明,你看到的是这个对象的一些属性。也就是说明,这是一个函数,一个工具。你应该使用 help() 函数去查看这个工具的使用方法。

现在,我们使用 help(torch.cuda.is_available) 来查看这个工具,函数的使用方法。

当我们输入指令的时候,你可以看到这个工具、函数的作用。

torch.cuda.is_available 这个函数,返回一个 True 或者 False 来表明 CUDA 是否可用。

最后

这两个函数非常有用,以后遇到问题的时候,可以善用这两个函数。一定会解决你的不少问题。


我的大本营

学会这三个排版原则,你就能超过80%人的排版

你想过将你的人生游戏化吗?

用游戏的思路激励自己

寻找有趣或更有效率的事、工具和教程

【PyTorch教程】P3. Python学习中的两大法宝函数(当然也可以用在PyTorch)的更多相关文章

  1. Python学习教程(Python学习视频_Python学些路线):Day06 函数和模块的使用

    Python学习教程(Python学习视频_Python学些路线):函数和模块的使用 在讲解本章节的内容之前,我们先来研究一道数学题,请说出下面的方程有多少组正整数解. $$x_1 + x_2 + x ...

  2. 记录Python学习中的几个小问题

    记录Python学习中的几个小问题,和C#\JAVA的习惯都不太一样. 1.Django模板中比较两个值是否相等 错误的做法 <option value="{{group.id}}&q ...

  3. Python基础入门教程,Python学习路线图

    给大家整理的这套python学习路线图,按照此教程一步步的学习来,肯定会对python有更深刻的认识.或许可以喜欢上python这个易学,精简,开源的语言.此套教程,不但有视频教程,还有源码分享,让大 ...

  4. 如何在Python中让两个print()函数的输出打印在一行内?

    1.两个连续的print()函数为什么在输出时内容会分行显示? 解:print()中有两个默认参数sep和end,其中sep是代替分隔符,end是代替末尾的换行符,默认使用‘,’代替空格,且默认末尾加 ...

  5. python学习 day09 (3月14日)----函数

    一.函数的进阶 1.1 动态参数 1.2* ** 1.3*args , **kwargs 1.4 函数的注释 1.5名称空间 1.6函数的嵌套全局变量 : 贴边写的局部变量 : 不是贴边写的. ''' ...

  6. Python学习笔记——常用的内置函数

    一.yield def EricReadlines(): seek = 0 while True: with open('D:/temp.txt','r') as f: f.seek(seek) da ...

  7. webpack 教程 那些事儿03-webpack两大精华插件,热加载

    本节主要讲述 webpack的两大经典开发调试插件,热插拔内存缓存机制 文章目录 1. html-webpack-plugin插件的使用 2. webpack-dev-middleware 插件登场 ...

  8. Python学习(八) —— 内置函数和匿名函数

    一.递归函数 定义:在一个函数里调用这个函数本身 递归的最大深度:997 def func(n): print(n) n += 1 func(n) func(1) 测试递归最大深度 import sy ...

  9. 3dTiles 数据规范详解[3] 内嵌在瓦片文件中的两大数据表

    转载请声明出处:全网@秋意正寒 零.本篇前言 说实话,我很纠结是先介绍瓦片的二进制数据文件结构,还是先介绍这两个重要的表.思前想后,我决定还是先介绍这两个数据表. 因为这两个表不先给读者灌输,那么介绍 ...

随机推荐

  1. shell命令大全笔记

    ## -print 将匹配的文件输出到标准输出## -exec 将匹配的文件执行该参数所给出的shell命令## -ok 将匹配的文件执行该参数所给出的shell命令,每次执行命令有提示 #----- ...

  2. Java匹马行天下之教你用学汉语式方法学编程语言

    Java匹马行天下之教你用学汉语式方法学编程语言 前言: 前段时间接连更新了带小白从入门到了解的几篇博客: <Java匹马行天下之编程常识知多少> <Java匹马行天下之走进编程的殿 ...

  3. vue3.0 vue.config.js 配置实战

    今天讲述一下vue-config.js配置,我们前面搭建好脚手架会发现,这个对比2.x版本少了很多东西,没有build的配置,也没有webpack的配置,那么问题来了,我们如何去开发我们的项目呢,比如 ...

  4. bugku--web--输入密码查看flag

    首先打开网页链接 随机五位数的密码爆破,先用python写一个脚本来生成随机五位数: x=range(0,10) f=open("3.txt",'w') for i in x: f ...

  5. insert增数据详解

    查看表结构: desc 表名; describe的缩写,意为描述 增加数据不会改变表的结构,只是增加了行. 创建一张表: mysql> create table class( -> id ...

  6. 如何正确的在 Android 上使用协程 ?

    前言 你还记得是哪一年的 Google IO 正式宣布 Kotlin 成为 Android 一级开发语言吗?是 Google IO 2017 .如今两年时间过去了,站在一名 Android 开发者的角 ...

  7. Bran的内核开发教程(bkerndev)-01 介绍

    介绍   内核开发不是件容易的事,这是对一个程序员编程能力的考验.开发内核其实就是开发一个能够与硬件交互和管理硬件的软件.内核也是一个操作系统的核心,是管理硬件资源的逻辑.   处理器或是CPU是内核 ...

  8. 攻防世界(XCTF)WEB(进阶区)write up(二)

    国庆就要莫得了   起床刷几道 NewsCenter mfw Training-WWW-Robots NaNNaNNaNNaN-Batman bug NewsCenter search传参那里发现有注 ...

  9. [Noip2007] 字符串的展开

    题目描述 在初赛普及组的“阅读程序写结果”的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于“d-h”或者“4-8”的字串,我们就把它当作一种简写,输出时,用连续递增的字母或数 ...

  10. Unity - Raycast 射线检测

    本文简要分析了Unity中射线检测的基本原理及用法,包括: Ray 射线 RaycastHit 光线投射碰撞信息 Raycast 光线投射 SphereCast 球体投射 OverlapSphere ...