
CV笔记
文章平均质量分 50
主要记录学习CV过程中的一些重要笔记,方便自己二次阅读
xx_xjm
这个作者很懒,什么都没留下…
展开
-
id函数 / 可变类型变量 / 不可变类型变量 / +=操作
无原创 2023-03-05 00:50:21 · 750 阅读 · 0 评论 -
pytorch自定义forward和backward函数
无原创 2023-02-05 23:20:24 · 3625 阅读 · 4 评论 -
爱因斯坦求和约定:torch/np.enisum
无原创 2023-01-30 11:19:28 · 732 阅读 · 0 评论 -
setuptools的使用----setup函数参数设置
无原创 2023-01-25 20:13:17 · 835 阅读 · 0 评论 -
torch.gather函数的使用
dsa原创 2022-11-27 14:30:11 · 434 阅读 · 0 评论 -
手动下载github包到虚拟环境
无原创 2022-10-27 16:15:53 · 1008 阅读 · 0 评论 -
nn.Batchnorm2d
学习原创 2022-09-29 16:35:31 · 486 阅读 · 0 评论 -
F.grid_sample采样
学习原创 2022-09-24 10:51:25 · 1757 阅读 · 0 评论 -
制作表格坐标python
学习原创 2022-09-23 15:29:25 · 486 阅读 · 0 评论 -
torchvison.transforms.functional.affine()/resized_crop()
基础原创 2022-09-01 15:22:46 · 771 阅读 · 0 评论 -
Coco数据集中的rle格式处理
基础原创 2022-08-30 17:13:02 · 6888 阅读 · 3 评论 -
nn.unfold和nn.fold与张量.unfold,还有F.unfold是不一样的操作
笔记原创 2022-08-02 14:12:42 · 1177 阅读 · 0 评论 -
非局部均值滤波(NON-LOCAL-mean)/注意力机制
非局部均值滤波原创 2022-07-21 10:42:04 · 1535 阅读 · 0 评论 -
各种数据文件的读取(持续更新)
笔记原创 2022-07-08 15:44:08 · 277 阅读 · 0 评论 -
tensorboard的使用
笔记原创 2022-07-04 18:39:56 · 2415 阅读 · 0 评论 -
nn.Parameter和torch.nn.init系列函数给模型参数初始化
笔记原创 2022-06-26 09:18:02 · 438 阅读 · 0 评论 -
__getitem__和__setitem__
笔记原创 2022-06-25 21:43:43 · 847 阅读 · 0 评论 -
Object类,以及__new__,__init__,__setattr__,__dict__
笔记原创 2022-06-25 21:11:13 · 605 阅读 · 0 评论 -
collections.defaultdict()的使用
笔记原创 2022-06-25 16:11:04 · 170 阅读 · 0 评论 -
Dataloader参数collate_fn的使用
笔记原创 2022-06-25 09:45:18 · 3511 阅读 · 0 评论 -
sampler与dataloader和dataset的关系
sampler原创 2022-06-18 21:08:11 · 305 阅读 · 0 评论 -
rpc框架的运用
rpc原创 2022-06-12 09:45:28 · 293 阅读 · 0 评论 -
torch.distributed补充
补充原创 2022-06-06 15:41:05 · 767 阅读 · 1 评论 -
pytorch分布式训练
分布式训练原创 2022-06-05 21:43:34 · 6686 阅读 · 1 评论 -
iter()和next(),__iter__和__next__
基础知识原创 2022-06-01 10:42:33 · 1462 阅读 · 0 评论 -
backward()反向传播后神经网络的梯度计算
loss.backward()反向传播计算的梯度是根据loss的计算方式来的。如果loss用到了整个batch,则梯度是整个batch的梯度之和,也可能是平均,取决于loss的计算方式,如果loss只用到了batch中的某一个图,则梯度只会是这一个图的影响。...原创 2022-05-11 18:00:30 · 914 阅读 · 0 评论 -
列表的append()操作和list()函数对应的copy关系
结论:1:append没有进行复制,只是进行了引用:2:list()函数相当于浅拷贝:参考自python的list赋值方法-浅拷贝与赋值 - JavaShuo 所以如果是将列表a添加到列表b,一般采用b.append(list(a)); 另外,列表浅拷贝的方法有三种: 图片也参考自上面网址-----------------------------------------------------------------------...原创 2022-04-24 11:30:20 · 980 阅读 · 0 评论 -
sys.stdin.readline和readlines以及input()
1:sys.stdin.readline:只能从cmd读取一行输入,读完之后就退出输入,程序继续执行2:sys.stdin.readlines:可以从cmd读取多行输入,但是怎么终止退出还不清楚,网上说的ctrl+d或者ctrl+z都不行,多加一个enter也不行(我的是在pycharm中,连接远程服务器linux系统),反正很奇怪3:可以用下图方式读取多行,并按enter结束(加strip是因为默认结尾会有\n): 4:如何把输入的数...原创 2022-04-20 10:23:57 · 1993 阅读 · 0 评论 -
cv中的transformer和Non-local
两者本质上是一个东西,都是用来求自注意力的,但具体而言还是有一些差别;1:首先说Non-local,它是像素级别的self-attention,算的是图片中各个像素点对指定像素点的影响;2:transformer我们拿swin-transformer和vision-transformer,来举例子。如下可,我们可以看到,两者都对图像进行了分块,不同的是swin-transformer先分了大块,再在大块里面分小块,而VIT就只分为固定的快,然后他们在做self-attention的时候,其实是算原创 2022-04-15 16:32:22 · 2842 阅读 · 0 评论 -
BN和LN
1:BN,对于一个batch中的样本,取不同样本同一通道的数据进行标准化。理解下图,N表示batch大小为N(也就是说这个batch包含N个样本,样本也可以理解为图片),C表示每个样本的通道数,比如常用的一张图片有RGB三个通道,H*W就是样本的大小,也就是图片的高和宽,图中可以理解为将图片flatten了。所以,如图,BN就是对同一batch下不同样本,同一通道做标准化图和内容均参考自:深入理解Batch Normalization原理与作用 | 电子创新网 Imgtec 社区 (eetrend.co原创 2022-04-15 10:47:43 · 186 阅读 · 0 评论 -
关于absl.app和absl.flags
absl.flags类似于tensorflow.flags:参考自:Tensorflow项目中--FLAGS=tf.flags.FLAGS - 剪掉辫子的人 - 博客园 (cnblogs.com)FLAGS = tf.flags.FLAGS #FLAGS保存命令行参数的数据而absl.app类似于tf.app:(1条消息) (tensorflow)——tf.app.run()使用方法的解释_咖啡味儿的咖啡的博客-优快云博客_app.run(main)...原创 2022-04-12 17:39:10 · 1025 阅读 · 0 评论 -
model.eval()和loss.backward(retain_graph = True)
1:model.eval()会固定网络的nn.BN层和nn.Dropout层,nn.BN层在train的时候针对每一个batch会计算一次均值方差,然后最后归纳整个训练集的均值方差,所以在test的时候就不能再让BN层的均值方差发生变化了。参考文章:(1条消息) Pytorch model.eval()的作用_嘿,兄弟,好久不见的博客-优快云博客_model.eval()作用2:loss.backward(retain_graph = True),首先,forward一次会建立一个计算图,正常back原创 2022-04-09 21:45:29 · 2159 阅读 · 0 评论 -
python的import机制
我们要明确,python导入机制的搜索顺序是,先在内存(sys.modules)中寻找,再到内置模块(builtin)寻找,最后再依照搜索路径(sys.path)寻找。1:理解sys.modules,这是一个全局变量,在从python程序启动就加载到了内存,用于保存当前已导入(加载)的所有模块名和模块对象。在python的模块查找中,sys.modules起到缓存作用,避免了模块的重复加载。此处参考自:https://blog.youkuaiyun.com/u014294083/article/details/10原创 2022-01-24 20:56:07 · 2103 阅读 · 2 评论 -
python中负数取余和取整
取整比较好理解,就是向下取整:取余其实是根据取整来决定的,比如这里-17 // 5 = -4,那么5 * -4 = -20,所以余数就是-17 -(-20) = 3,反过来,如果是17 // -5 = -4, 所以 -5 *(-4)=20,所以余数为17-20 = -3,所以可以稍微总结一下,余数的符号其实和除数的符号一致,基本思想就是这样。实验结果如下:...原创 2022-04-07 10:09:03 · 4557 阅读 · 0 评论 -
model.modules()和model.children()以及model._modules.items(),buffer / name_buffer()
两者包含的其实是你所定义的网络中继承自nn.Module的模块,比如nn.Relu,nn.Conv2d等,并不是你整个网络的forward()结构,而且你自定义的函数模块也是没有的,实验如下:原创 2022-04-05 17:10:31 · 2234 阅读 · 0 评论 -
torch.gather
torch.gather(input, dim, index, out=None) → Tensor:其实就是用来挑选输入张量中特定位置的值的但有一点需要注意的是这里的dim和index之间的关系:这里的dim不再是说对输入进行操作,而是说index中的序列号应该按照输入中的哪个维度来排列重新理解Pytorch中torch.gather函数祥解 - 简书 (jianshu.com)eg1:(例子参考自:Pytorch中torch.gather函数祥解 - 简书 (jianshu.com))原创 2022-04-04 21:11:54 · 1925 阅读 · 0 评论 -
转置卷积:nn.ConvTranspose2d
总结:1:转置卷积可以用正常卷积来理解,对于没有padding的卷积来说,其转置卷积等同于 a: 对输入进行四边补零,单边补零的数量为k-1 b:将卷积核旋转180°,在新的输入上进行直接卷积参考自:(4条消息) 抽丝剥茧,带你理解转置卷积(反卷积)_史丹利复合田的博客-优快云博客_转置卷积2:当卷积涉及到补零以及strides不等于1的情况的时候,其转置卷积步骤如下: 这里要对转置卷积的输入进行插值补零等操作,原因是要保证数...原创 2022-04-01 22:16:38 · 417 阅读 · 0 评论 -
torch.autograd.profiler.profile()
简单来说,这只是一个辅助函数,帮你弄清楚底层计算机运行情况而已。参考自:Pytorch剖析器及Pytorch模型的逐层分析 - 那抹阳光1994 - 博客园 (cnblogs.com)原创 2022-03-28 10:03:15 · 3320 阅读 · 0 评论 -
Image.open打开图像格式
参考自:用PIL中Image.open打开图像并转换为np.asarray时遇到的坑_鱼木木和木木鱼的博客-优快云博客_np.asarray(img)转载 2022-03-24 10:02:58 · 1916 阅读 · 0 评论 -
日志logger的使用
需要模块:logging步骤:①:创建logger:logger = logging.getLogger(name),name是字符串格式的模块名字,可自行定义,这之后的日志格式中的%(name)s 对应的是这里的模块名字。②:设置logger的等级:logger.setLevel(logging.DEBUG/INFO/.....)只有等级大于等于设置级别的日志才会被记录③:设置日志发送目的地:常用的ch_hander = logging.StreamHandler(stream =输出到哪原创 2022-03-23 14:52:26 · 2498 阅读 · 0 评论