栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

遇到的问题

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

遇到的问题

pickle是啥 数据类/(有很多功能的文件)库 序列化类型 一堆乱七八糟的给他打包 也可以返序列化
pickle.dump()序列化
pickle.load()读取

pytorch/张量的数据类型 32种
每一种数据类型都有cpu型和gpu型 ,取决于数据保存的设备
浮点32位,整数16位,byte8位,长整型 longtensor64位

PyTorch】张量超详细介绍(数据类型、生成、操作、计算)讲的超级好,但是我没看完,可以等需要的时候查

Pytorch之requires_grad 这篇讲的很细致

列表推导式
这篇列表推导式真的是保姆级教程 55555写的很好
关于lambda讲解

pil读图片的数据类型

transform正在学

  • vit

调dehazenet代码的时候要用cv2读取图片:
@cv2.imread()读取图片失败
1.路径(path)中含有中文,会导致读取失败,如:“图片熊猫1.png”,
正确的用法:修改目录为英文表达,使用“”,带上后缀
如:picturepandaabc.jpg
否则图片会报错‘none’

关于cv2.imwrite写的很好cv2.imwrite

看代码有个看不懂:

Python中的%占位符%s,%d%和%f等

-------------------------------关于dehazenet-----------------------------------------------

  • 怎么解决Brelu的问题

关于cpu、gpu
因为torch创建方式默认是在把张量放在CPU(内存)中,然后我x在gpu上面 to(x.device)放在gpu上
gpu计算能力很牛逼

这里不能简单的使用:必须每一维去比较 看看人家代码多严谨

补:torch.zeros() and torch.ones()全0,全1

关于cpu/gpu如何转化

这篇博文报错的内容没看懂
残差网络:何凯明 解决退化问题

下载github项目到pycharm的两种方法
---------------------------------------------------vit--------------------------------------------
啥是余弦相似度



Vision Transformer详解

关于layernor:layernorm
6 functools.partial

帮助文档的那句话,作用就是:New function with partial application of the given arguments and keywords,即:应用者给定了部分参数和关键字的新函数。注意,这是个新函数。

主要用在需要事先给定一些参数值的地方,比如,深度学习模型中,构建一个前向推理序列,有的函数需要给定一个参数,但是这个参数属于不疼不痒的,这就没必要把这个参数设置成整个模型的输入参数了,或者是你调用别人的一个功能函数,但是没注意他需要一个参数,这时候不想再改模型了,那就用这个partial自定义一个函数即可:

?!norm_layer = functools.partial(LayerNorm, eps=1e-5)

这个例子中,LayerNorm是torch.nn.LayerNorm,它需要设定一个很小的数,防止方差是0,但是整个定义里面也没有个初始值,这就很尴尬,那就重新写一下,把这个初始值固定为1e-6,函数名字另起为norm_layer。

flatten(2)的具体原理:flatten
关于全连接层基本原理:


矩阵乘法 是x维度【。。。。,x,d】 W是【d,3d】 最后两维进行矩阵乘法 得到【。。。。,x,3d】所以给我们看到的就是最后一个维度变成了3d

带偏置的线性映射,其实就是个weight矩阵,加上一维bias。默认情况下是共享参数的

  • 然后关于Position Embedding就是之前Transformer中讲到的Positional Encoding,、、、、不记得Transformer中的Position Embedding了 要去回顾!

对于张量:

关于一些小bug自己解决了:

关于softmax(dim=0/1/-1/2) 最后一个图醍醐灌顶

关于nn.Identity()
python基础:类、对象、方法
python基础:类、对象、方法、静态方法
关于x.item()

loss.item()为什么需要item()

关于extend()

1.将张量中单数维的数据扩展到指定的size。返回tensor的一个新视图,单个维度扩大为更大的尺寸。 tensor也可以扩大为更高维,expend()详细解释

新增加的维度将附在前面。 扩大tensor不需要分配新内存,只是仅仅新建一个tensor的视图。

注意事项:
expand()函数只能将size=1的维度扩展到更大的尺寸,如果扩展其他size()的维度会报错。
expend()代码

关于权重初始化?!

张量的维度问题:

用扑克牌理解:

关于张量的自动扩充:
1.对于相同维度的:对应位置相乘
2.对于不同维度的:扩充扩充扩充扩充
具体如何扩充


关于sequeeze和unsequeeze


**切片、pytorch张量数据索引切片与维度变换操作
切的是前闭后开区间范围内的元素,切片超出索引范围不报错,直接截断

layernorm
drop path(Stochastic Depth随机深度的drop方法 efficentnet)**



torch.sqrt():逐元素计算张量的平方根

卷积的公式:

kernal=32:output[B,7,7,768]
kernal=16: output[B,14,14,768] 卷积核越小,参数越多

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/657759.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号