Pytorch基本操作(1)——dir()以及help()

1 前言

在学习李沐在B站发布的《动手学深度学习》PyTorch版本教学视频中发现在操作使用PyTorch方面有许多地方看不懂,往往只是“动手”了,没有动脑。所以打算趁着寒假的时间好好恶补、整理一下PyTorch的操作,以便跟上课程。

学习资源:

2 python中两个重要基本函数

  • dir(): 打开,看见package里面有啥东西

    • 打开看见一个 package 里面有什么功能,如:dir(pytorch),输出1,2,3。还可以逐级往下用 dir() 打开,如: dir(pytorch.3) ,输出a, b, c
  • help(): 说明书;官方说明文档

    • 看具体的使用说明。用dir()打开之后,知道里面具体有哪些东西了,就可以用help()来看如何使用,如:help(pytorch.3.a)

下面我们来使用 dir() 试着找一下 torch.cuda.is_available() 这个函数

import torch
dir(torch) # 这句的输出里面含有'cuda'
['AVG',
 'AggregationType',
 'AliasDb',
 'AnyType',
	...
 '_C',
 '_StorageBase',
 '_VF',
 '__all__',
 '__annotations__',
 '__builtins__',
	...
 'ctypes',
 'cuda',
 'cuda_path',
 'cuda_version',
 'cudnn_affine_grid_generator',
	...
 'sqrt_',
 ...] # 输出太长删减了不必要的部分
dir(torch.cuda) # 这句的输出里面就可以找到 'is_available'
['Any',
 'BFloat16Storage',
	...
 'is_available',
 'is_initialized',
 'list_gpu_processes',
	...
 'traceback',
 'warnings'] # 输出太长删减了不必要的部分
dir(torch.cuda.is_available) # 这一层还是用很多输出
['__annotations__',
 '__call__',
 '__class__',
 '__closure__',
 '__code__',
 '__defaults__',
 '__delattr__',
 '__dict__',
 '__dir__',
 '__doc__',
 '__eq__',
 '__format__',
 '__ge__',
 '__get__',
 '__getattribute__',
 '__globals__',
 '__gt__',
 '__hash__',
 '__init__',
 '__init_subclass__',
 '__kwdefaults__',
 '__le__',
 '__lt__',
 '__module__',
 '__name__',
 '__ne__',
 '__new__',
 '__qualname__',
 '__reduce__',
 '__reduce_ex__',
 '__repr__',
 '__setattr__',
 '__sizeof__',
 '__str__',
 '__subclasshook__']

dir(torch.cuda.is_available) 这句的输出中我们可以看到这里所有的输出都是 前后分别带有两个下划线的, 和之前两个有所区别。这里的双下划线是一种规范,代表着我们不可以随意去篡改,说明 torch.cuda.is_available 这里就不再是一个package分隔区,而是一个 确确实实的函数 了,这里我们就可以使用 help() 方法来看这个函数是如何使用的。如下:

help(torch.cuda.is_available)
Help on function is_available in module torch.cuda:

is_available() -> bool
    Returns a bool indicating if CUDA is currently available.

即该函数返回一个布尔值,这个布尔值对应了CUDA是否可用

这里需要注意的是我们放入 help() 中的应该是 torch.cuda.is_available 而不是 torch.cuda.is_available() ,这样放入的才是 函数本身。

如果放入 torch.cuda.is_available() ,实际上就是把这个函数 当前的返回值 放入了。在 python 中输入 torch.cuda.is_available() ,返回一个 True ,则 help(torch.cuda.is_available()) 等价于 help(True)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值