【PyTorch教程】P3. Python学习中的两大法宝函数(当然也可以用在PyTorch)
温馨提示:为了更好的教程体验,提供视频、阅读地址
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 是否可用。

最后
这两个函数非常有用,以后遇到问题的时候,可以善用这两个函数。一定会解决你的不少问题。
我的大本营
寻找有趣或更有效率的事、工具和教程

【PyTorch教程】P3. Python学习中的两大法宝函数(当然也可以用在PyTorch)的更多相关文章
- Python学习教程(Python学习视频_Python学些路线):Day06 函数和模块的使用
Python学习教程(Python学习视频_Python学些路线):函数和模块的使用 在讲解本章节的内容之前,我们先来研究一道数学题,请说出下面的方程有多少组正整数解. $$x_1 + x_2 + x ...
- 记录Python学习中的几个小问题
记录Python学习中的几个小问题,和C#\JAVA的习惯都不太一样. 1.Django模板中比较两个值是否相等 错误的做法 <option value="{{group.id}}&q ...
- Python基础入门教程,Python学习路线图
给大家整理的这套python学习路线图,按照此教程一步步的学习来,肯定会对python有更深刻的认识.或许可以喜欢上python这个易学,精简,开源的语言.此套教程,不但有视频教程,还有源码分享,让大 ...
- 如何在Python中让两个print()函数的输出打印在一行内?
1.两个连续的print()函数为什么在输出时内容会分行显示? 解:print()中有两个默认参数sep和end,其中sep是代替分隔符,end是代替末尾的换行符,默认使用‘,’代替空格,且默认末尾加 ...
- python学习 day09 (3月14日)----函数
一.函数的进阶 1.1 动态参数 1.2* ** 1.3*args , **kwargs 1.4 函数的注释 1.5名称空间 1.6函数的嵌套全局变量 : 贴边写的局部变量 : 不是贴边写的. ''' ...
- Python学习笔记——常用的内置函数
一.yield def EricReadlines(): seek = 0 while True: with open('D:/temp.txt','r') as f: f.seek(seek) da ...
- webpack 教程 那些事儿03-webpack两大精华插件,热加载
本节主要讲述 webpack的两大经典开发调试插件,热插拔内存缓存机制 文章目录 1. html-webpack-plugin插件的使用 2. webpack-dev-middleware 插件登场 ...
- Python学习(八) —— 内置函数和匿名函数
一.递归函数 定义:在一个函数里调用这个函数本身 递归的最大深度:997 def func(n): print(n) n += 1 func(n) func(1) 测试递归最大深度 import sy ...
- 3dTiles 数据规范详解[3] 内嵌在瓦片文件中的两大数据表
转载请声明出处:全网@秋意正寒 零.本篇前言 说实话,我很纠结是先介绍瓦片的二进制数据文件结构,还是先介绍这两个重要的表.思前想后,我决定还是先介绍这两个数据表. 因为这两个表不先给读者灌输,那么介绍 ...
随机推荐
- shell命令大全笔记
## -print 将匹配的文件输出到标准输出## -exec 将匹配的文件执行该参数所给出的shell命令## -ok 将匹配的文件执行该参数所给出的shell命令,每次执行命令有提示 #----- ...
- Java匹马行天下之教你用学汉语式方法学编程语言
Java匹马行天下之教你用学汉语式方法学编程语言 前言: 前段时间接连更新了带小白从入门到了解的几篇博客: <Java匹马行天下之编程常识知多少> <Java匹马行天下之走进编程的殿 ...
- vue3.0 vue.config.js 配置实战
今天讲述一下vue-config.js配置,我们前面搭建好脚手架会发现,这个对比2.x版本少了很多东西,没有build的配置,也没有webpack的配置,那么问题来了,我们如何去开发我们的项目呢,比如 ...
- bugku--web--输入密码查看flag
首先打开网页链接 随机五位数的密码爆破,先用python写一个脚本来生成随机五位数: x=range(0,10) f=open("3.txt",'w') for i in x: f ...
- insert增数据详解
查看表结构: desc 表名; describe的缩写,意为描述 增加数据不会改变表的结构,只是增加了行. 创建一张表: mysql> create table class( -> id ...
- 如何正确的在 Android 上使用协程 ?
前言 你还记得是哪一年的 Google IO 正式宣布 Kotlin 成为 Android 一级开发语言吗?是 Google IO 2017 .如今两年时间过去了,站在一名 Android 开发者的角 ...
- Bran的内核开发教程(bkerndev)-01 介绍
介绍 内核开发不是件容易的事,这是对一个程序员编程能力的考验.开发内核其实就是开发一个能够与硬件交互和管理硬件的软件.内核也是一个操作系统的核心,是管理硬件资源的逻辑. 处理器或是CPU是内核 ...
- 攻防世界(XCTF)WEB(进阶区)write up(二)
国庆就要莫得了 起床刷几道 NewsCenter mfw Training-WWW-Robots NaNNaNNaNNaN-Batman bug NewsCenter search传参那里发现有注 ...
- [Noip2007] 字符串的展开
题目描述 在初赛普及组的“阅读程序写结果”的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于“d-h”或者“4-8”的字串,我们就把它当作一种简写,输出时,用连续递增的字母或数 ...
- Unity - Raycast 射线检测
本文简要分析了Unity中射线检测的基本原理及用法,包括: Ray 射线 RaycastHit 光线投射碰撞信息 Raycast 光线投射 SphereCast 球体投射 OverlapSphere ...