原创

2021-05-25

1. zip() 函数

作用:用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。

如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。

语法:zip([iterable, ...]) #其中,iterable是一个或多个迭代器

例子:

>>> a = [1,2,3]
>>> b = [4,5,6]
>>> c = [4,5,6,7,8]
>>> zipped = zip(a,b)     # 打包为元组的列表
[(1, 4), (2, 5), (3, 6)]
>>> zip(a,c)              # 元素个数与最短的列表一致
[(1, 4), (2, 5), (3, 6)]
>>> zip(*zipped)          # 与 zip 相反,*zipped 可理解为解压,返回二维矩阵式
[(1, 2, 3), (4, 5, 6)]

2. for循环和range() 函数

在使用 for 循环时,最基本的应用就是进行数值循环。比如说,想要实现从 1 到 100 的累加,可以执行如下代码:

print("计算 1+2+...+100 的结果为:") #保存累加结果的变量
result = 0 #逐个获取从 1 到 100 这些值,并做累加操作
for i in range(101):  
    result += iprint(result)

运行结果为:

计算 1+2+...+100 的结果为: 5050

上面代码中,使用了 range() 函数,此函数是 Python 内置的函数,用于生成一系列连续的整数,多用于 for 循环中。

range() 函数的语法格式如下:

range(start,end,step)

此函数中各参数的含义如下:

  1. start:用于指定计数的起始值,如果省略不写,则默认从 0 开始。
  2. end:用于指定计数的结束值(不包括此值),此参数不能省略。
  3. step:用于指定步长,即两个数之间的间隔,如果省略,则默认步长为 1。

总之,在使用 range() 函数时,如果只有一个参数,则表示指定的是 end;

如果有两个参数,则表示指定的是 start 和 end。

出处:https://www.jb51.net/article/173875.htm

3. none是python一个特别的空值常量

4. pytorch中的DateLoader:本质是一个可迭代对象

详细:https://www.cnblogs.com/ranjiewen/p/10128046.html

5. 迭代器(Iterator):

迭代是Python最强大的功能之一,是访问集合元素的一种方式。

迭代器是一个可以记住遍历的位置的对象。

迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。

详情:https://www.runoob.com/python3/python3-iterator-generator.html

6. 遇到了一个bug:

迭代DataLoader时出现
TypeError: Caught TypeError in DataLoader worker process 0.
TypeError: 'NoneType' obj。

地址:https://blog.csdn.net/qinglingLS/article/details/104411589

7. 从图像中提取特征:

image.shape[0], 图片垂直尺寸

image.shape[1], 图片水平尺寸

image.shape[2], 图片通道数

地址:https://baijiahao.baidu.com/s?id=1646437833421814260&wfr=spider&for=pc

8. __getitem__方法

9. load_state_dict()方法

在 Pytorch 中一种模型保存和加载的方式如下:

# save
torch.save(model.state_dict(), PATH)

# load
model = MyModel(*args, **kwargs)
model.load_state_dict(torch.load(PATH))
model.eval()

10. torch之模型加载load_state_dict

地址:https://blog.csdn.net/yangwangnndd/article/details/100207686

11. pytorch 分布式训练 distributed parallel 笔记

地址:https://blog.csdn.net/m0_38008956/article/details/86559432

12. dict()函数

作用:用于创建一个字典。

语法:

class dict(**kwarg)
class dict(mapping, **kwarg)
class dict(iterable, **kwarg)

参数:

  • **kwargs -- 关键字
  • mapping -- 元素的容器。
  • iterable -- 可迭代对象。

返回值:返回一个字典。

13. pytorch 状态字典:state_dict使用详解

pytorch 中的 state_dict 是一个简单的python的字典对象,将每一层与它的对应参数建立映射关系。

state_dict是在定义了model或optimizer之后pytorch自动生成的,可以直接调用.常用的保存state_dict的格式是".pt"或'.pth'的文件,即下面命令的 PATH="./***.pt"

load_state_dict 也是model或optimizer之后pytorch自动具备的函数,可以直接调用

仅保存学习到的参数,用以下命令

torch.save(model.state_dict(), PATH)

加载model.state_dict,用以下命令

model = TheModelClass(*args, **kwargs)
model.load_state_dict(torch.load(PATH))
model.eval()

详细:https://www.jb51.net/article/178720.htm

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 2021-05-25:给定一个矩阵matrix,值有正、负、

    2021-05-25:给定一个矩阵matrix,值有正、负、0,蛇可以空降到最左列的任何一个位置,初始增长值是0,蛇每一步可以选择右上、右、右下三个方向的任何一...

    福大大架构师每日一题
  • 【Rust日报】2021-05-25 20分钟用 Rust 写一个 MVP 聊天服务器

    今天 @吴翱翔 在飞书直播为我们展示了如何基于 tokio 来实现简单的聊天服务器,实现的功能有:

    MikeLoveRust
  • 邻近模糊匹配?你可能不知道的pandas骚操作,确实很好用!

    现在我们有两份数据,一份记录着每天不同玩家购买某道具的时候实际支付的购买金额,另外一份记录着该道具调整售价的日期及对应售价。

    可以叫我才哥
  • AKShare-股票数据-调查平均持仓

    持仓调查的数据是市场参与者心理、行为表现的结果。市场行为会因为交易规则、政策面消息、媒体噪声等因素的变化而变化。若排除以上因素,在稳定、可重复的博弈环境下,市场...

    数据科学实战
  • MySQL 工具集:官方导出工具mysqlpump

    备份恢复是 DBA 绕不开的核心话题,市面上也有很多开源的备份恢复方案,不过官方的 mysqldump 一直是处于鄙视链底端的那个。终于,官方在 MySQL5....

    王文安@DBA
  • AKShare-期货数据-日频数据

    目标地址: https://finance.sina.com.cn/futures/quotes/V2105.shtml

    数据科学实战
  • 又肝了3天,整理了80个Python DateTime 例子,必须收藏!

    日常工作中,用 Python 处理时间格式的数据是非常常见的,今天就来分享 DateTime 相关的示例

    周萝卜
  • HLS合成为一整个视频拓展篇

    M3U8视频下载完成之后, 会有一个索引文件加上N多个分片文件, 这样我们想拷贝整个M3U8文件就会很麻烦, 而且M3U8索引文件中会定义分片文件的位置, 如果...

    马上就说
  • Go 每日一库之 dateparse

    不管什么时候,处理时间总是让人头疼的一件事情。因为时间格式太多样化了,再加上时区,夏令时,闰秒这些细枝末节处理起来更是困难。所以在程序中,涉及时间的处理我们一般...

    用户7731323
  • 高级SQL查询技巧——利用SQL改善和增强你的数据

    关系数据库系统和混合/云数据管理解决方案的用户都可以使用SQL灵活地访问业务数据,并以创新的方式进行转换或显示。

    云原生
  • Autodiscover漏洞分析

    通常Microsoft Exchange使用Autodiscover协议配置客户端(如Microsoft Outlook),但它有一个设计缺陷,可导致web请求...

    FB客服
  • RDD 编程

    spark 遇到 RDD action 时才会真正的开始执行,遇到转换的时候,只是记录下来,并不真正执行

    Michael阿明
  • 使用my2sql来恢复mysql数据

    使用说明来源原作者:my2sql的GitHub地址:https://github.com/liuhr/my2sql

    wangwei-dba
  • MINIO搭建单机以及集群

    Minio是Apache License v2.0下发布的对象存储服务器。它与Amazon S3云存储服务兼容。它最适合存储非结构化数据,如照片,视频,...

    小陈运维
  • 去O入云的探索--Oracle到MySQL的迁移改造方案

    字段映射关系请参考: https://blog.csdn.net/weixin_34128839/article/details/91644197

    数据和云
  • LocalDateTime、OffsetDateTime、ZonedDateTime互转,这一篇绝对喂饱你

    也许平时开发中你只用到过LocalDateTime这个API,那是极好的,但是不能止步于此,否则就图样图森破了。

    YourBatman
  • 国产数据库|TiDB 5.0 快速体验

    TiDB 是平凯星辰 PingCAP 公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理 (Hybrid Transactio...

    JiekeXu之路
  • 小白学习MySQL - 表空间碎片整理方法

    《小白学习MySQL - MySQL会不会受到“高水位”的影响?》曾提到了MySQL中数据删除的空间清理和文件释放的问题。碰巧看到姚老师这篇文章,《MySQL表...

    bisal
  • 技术分享 | MySQL 表空间碎片整理方法

    MySQL 的表在进行了多次 delete 、update 和 insert 后,表空间会出现碎片。定期进行表空间整理,消除碎片可以提高访问表空间的性能。

    爱可生开源社区

扫码关注云+社区

领取腾讯云代金券