学习pytorch

3 篇文章 0 订阅
2 篇文章 0 订阅

1、

print('cuda') if torch.cuda.is_available() else print('cpu')

输出cuda
这就像if else语句一样
2、

super(LeNet, self).__init__()

这是python2中的写法,python3中在子类的初始化函数中,关联父类的初始化方法,不用再super()函数中传参

super().__init__()

3、
DataLoader(dataset)中的dataset是Dataset类对象
4、
isinstance
判断一个变量是否是某个类型可以用isinstance()判断:
5、
net.parameters()可以返回网络的权重以及bias
6、

if __name__ == ‘__main__‘:
	freeze_support()

在windows中使用Dataloader时,设置num_workers>0时出现上述错误,则需要在执行Dataloader前使用

if __name__ == '__main__':

7、获取数据
计算机视觉工具包import torchvision
主要有以下的工具包
  torchvision.datasets: 一些加载数据的函数及常用的数据集接口;
  torchvision.models: 包含常用的模型结构(含预训练模型),例如AlexNet、VGG、ResNet等;
  torchvision.transforms: 常用的图片变换,例如裁剪、旋转等;
  torchvision.utils: 其他的一些有用的方法。
8、
导入某个模块可以直接import ~.~
导入模块中的函数要from~ import ~
9、
从数据集中(Dataset类对象)中导出数据,生成迭代器,使用函数:

from torch.utils.data.dataloader import DataLoader

10、

类中的方法__call__

当一个类型实现了特殊方法__call__,该类的实例就变成了可调用的类型, 对象名() 等价于 对象名.call() ,有时候可以简化对象的调用,让对象变成可调用的对象, 实现__call__即可.

class TestCall(object):
    def __init__(self):
        self.name = "Xky"

    def __call__(self, *args, **kwargs):
        print("self.name: %s. " % self.name, end='   ')
        print('__call__()  is  running ')


if __name__ == '__main__':
    call = TestCall()
    call()  # call.__call__()

11、
在python3中, object类是Python中所有类的基类,如果定义一个类时没有指定继承哪个类,则默认继承object类。
在python2中如果不指定继承object类,则对象拥有的特性只有2个。
object类又称新式类,继承后对象的特性增多
12、
python中变量的作用域,global可以引入全局变量,nolocal可以引入函数外部作用域变量

x = 3
def func1():
    x = 5
    def func2():
        global x
        # nonlocal x
        x = x+10
        print("inner:", x)
    func2()
    print("outer:", x)
func1()
print("most outer:", x)
inner: 13
outer: 5
most outer: 13
x = 3
def func1():
    x = 5
    def func2():
        # global x
        nonlocal x
        x = x+10
        print("inner:", x)
    func2()
    print("outer:", x)
func1()
print("most outer:", x)

inner: 15
outer: 15
most outer: 3
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值