前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2021-05-25

2021-05-25

原创
作者头像
Hi0703
修改2021-05-27 14:40:51
5330
修改2021-05-27 14:40:51
举报
文章被收录于专栏:Hi0703Hi0703

1. zip() 函数

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

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

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

例子:

代码语言:javascript
复制
>>> 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 的累加,可以执行如下代码:

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

运行结果为:

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

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

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

代码语言:javascript
复制
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:

代码语言:javascript
复制
迭代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 中一种模型保存和加载的方式如下:

代码语言:javascript
复制
# 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()函数

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

语法:

代码语言:javascript
复制
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自动具备的函数,可以直接调用

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

代码语言:javascript
复制
torch.save(model.state_dict(), PATH)

加载model.state_dict,用以下命令

代码语言:javascript
复制
model = TheModelClass(*args, **kwargs)
model.load_state_dict(torch.load(PATH))
model.eval()

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

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档