[菜鸟备忘录]pytorch官网教程笔记——Data Loading and Processing Tutorial

pytorch官网教程笔记——Data Loading and Processing Tutorial


链接

笔记1:assert

参考资料
assert expression [, arguments]
assert是Python 中的断言,其中 expression 是必填的条件表达式,arguments 是可选参数,用于在断言被触发的时候输出相关信息。当 expression 值为 False 的时候将触发断言,中断程序,所以它和以下代码段的功能相似:

if not expression:
  raise AssertionError()

需要注意的一点是,assert 在 Python 3 中只是声明,所以如果写成:

assert(False, "Error")

这种形式,断言将永远不会被触发。因为此时 assert 的 expression 参数是内容为 (…, …) 的 Tuple ,而 Tuple 只有在内容为空的时候才会被判断为 False。
下面这段代码用来检测数据类型的断言,因为 a_str 是 str 类型,所以认为它是 int 类型肯定会引发错误。

>>> a_str = 'this is a string'
>>> type(a_str)
<type 'str'>
>>> assert type(a_str)== str
>>> assert type(a_str)== int

Traceback (most recent call last):
  File "<pyshell#41>", line 1, in <module>
    assert type(a_str)== int
AssertionError

笔记2:isinstance()

参考资料
isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。
isinstance() 与 type() 区别:

  • type() 不会认为子类是一种父类类型,不考虑继承关系。
  • isinstance() 会认为子类是一种父类类型,考虑继承关系。

如果要判断两个类型是否相同推荐使用 isinstance()。
代码示例

>>>a = 2
>>> isinstance (a,int)
True
>>> isinstance (a,str)
False
>>> isinstance (a,(str,int,list))    # 是元组中的一个返回 True
True
class A:
    pass

class B(A):
    pass
 
isinstance(A(), A)    # returns True
type(A()) == A        # returns True
isinstance(B(), A)    # returns True
type(B()) == A        # returns False

笔记3:DataLoader()

torch.utils.data.DataLoader可以提供以下功能:

  • 批量处理数据
  • 洗牌数据使用
  • 多处理工作程序并行加载数据。
    torch.utils.data.DataLoader是一个提供所有这些功能的迭代器。下面使用的参数应该是清楚的。感兴趣的一个参数是collat​​e_fn。您可以使用collat​​e_fn指定需要批量处理的样本的准确程度。但是,对于大多数用例,默认整理应该可以正常工作。
dataloader = DataLoader(transformed_dataset, batch_size=4,
                        shuffle=True, num_workers=4)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值