![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
研发进阶
博客已停更
这个作者很懒,什么都没留下…
展开
-
Python批量训练深度学习模型
【总结】 可以达到预期效果,运行中没有出现卡顿,且不会造成显存泄露。用Python批量训练深度学习模型(或自动尝试最优超参数)。使用 argparse 模块和 os.system() 方法。函数,然后使用argparse参数解析。第一步,实现业务接口。第二步,编写运行脚本。原创 2023-04-14 20:09:38 · 371 阅读 · 1 评论 -
内网穿透、seaFile、NAS私人云盘(一些原理和操作视频网址)
内网穿透搭建NAS私人云盘的一种方式原创 2023-02-11 15:32:19 · 410 阅读 · 0 评论 -
Ubuntu下查看CPU和GPU信息
参考Ubuntu – 下如何查看CPU信息, 包括位数和多核信息 - ma_fighting - 博客园查看服务器显卡GPU型号_BISTU_theRookie的博客-CSDN博客_查看服务器显卡型号原创 2022-04-08 16:13:51 · 1221 阅读 · 0 评论 -
PyTorch Swin-Transformer 各层特征可视化
PyTorch相关开源库https://gitee.com/hejuncheng1/pytorch-grad-cam安装命令pip install grad-cam具体使用参考Swin Transformer各层特征可视化_不高兴与没头脑Fire的博客-CSDN博客原创 2022-04-08 16:01:28 · 3178 阅读 · 1 评论 -
用fvcore计算PyTorch网络的参数量和FLOPs
依赖库安装命令pip install fvcoreFLOPs: 注意s小写,是floating point operations的缩写(s表复数),意指浮点运算数,理解为计算量,可以用来衡量算法/模型的复杂度。示例import torchfrom torchvision.models import resnet50from fvcore.nn import FlopCountAnalysis, parameter_count_table# 创建resnet50网络model = resn原创 2022-04-08 15:54:14 · 2467 阅读 · 1 评论 -
Python迭代器和线程池使用示例
假如有一个列表,每次只取2个,不断迭代下去,直至取完,用Python迭代器实现。def mynext(a, n): res = [] for _ in range(n): try: res.append(next(a)) except: break return resif __name__ == '__main__': b = [1, 2, 3, 4, 5, 6, 7] c原创 2022-03-16 16:39:59 · 1933 阅读 · 0 评论 -
yaml文件None的传参
深度网络结构配置yaml文件里的空值用 null、~、或直接不填写 这3种方式表示,如果直接写None读取出来的是str变量“None”。详细阅读文章:yaml文件语法——None和“None“不一样的传参,不一样的含义_山和尚的博客-CSDN博客...原创 2022-03-11 11:17:06 · 757 阅读 · 0 评论 -
GPU显存不够用时,如何用PyTorch训练大模型(torch.utils.checkpoint的使用)
当只有一颗GPU时,常规方法通常难以训练大batchsize下的大模型。torch.utils.checkpoint 梯度检查点技术可以用于解决该问题,可阅读文章:Chen T, Xu B, Zhang C, et al. Training deep nets with sublinear memory cost[J]. arXiv preprint arXiv:1604.06174, 2016.基本原理:网络训练高效内存管理——torch.utils.checkpoint的使用_风筝大晒的博客-原创 2022-03-11 11:03:52 · 4252 阅读 · 0 评论 -
学校实验室团队远程访问同一台GPU服务器
1. GPU服务器IP向学校有关部门申请固定IP。2. WinSCP文件传输在自己电脑下载git项目、网络预训练权重、数据集等大型文件,用WinSCP软件上传至GPU服务器。教程:winscp连接ubuntu,Linux 摸索:使用winSCP连接ubuntu系统以Ubuntu服务器为例,服务器安装并开启ssh服务,自己电脑安装并开启WinSCP,填写服务器IP、用户名和密码,连接后即可上传、下载文件,就不用自己专门拿着移动硬盘跑到机房拷贝数据。3. VS Code远程开发下载VS Code原创 2022-03-01 15:17:40 · 1055 阅读 · 0 评论 -
numpy矩阵的旋转与翻转
使用skimage.io读出来的图片是numpy.darray格式,掌握numpy矩阵的旋转与翻转,可实现数据增广(data augmentation)。1 Numpy矩阵的旋转参考文档NumPy矩阵的旋转,可用rot90函数实现,例子如下:import numpy as npmat = np.array([[1,3,5], [2,4,6], [7,8,9] ])print mat, "# origna原创 2021-01-15 16:57:35 · 6747 阅读 · 0 评论 -
Python从底层实现Meanshift聚类
Python从底层实现Meanshift聚类,很棒的一篇文章:MeanShift算法原理及其python自定义实现转载 2021-01-15 16:48:07 · 305 阅读 · 0 评论 -
python 创建空文件的方法
import pathlibfile_name = "123.txt"pathlib.Path(file_name).touch()转载 2021-01-15 16:20:58 · 1917 阅读 · 0 评论 -
python 获取项目的根路径
path = os.path.abspath(os.path.dirname(__file__))print(path)打印上述路径,可获取当前python文件的路径,自己做字符串处理即可获取项目根路径。Referencepython 获取项目的根路径原创 2020-12-29 16:31:16 · 714 阅读 · 0 评论 -
PyTorch迁移学习简单例子
目录1 仅导入前几层参数1.1 不相同的网络模型1.2 相同的网络模型2 冻结迁移的参数Reference1 仅导入前几层参数1.1 不相同的网络模型这里演示如何仅迁移前1层参数,代码如下:import numpy as npimport torchfrom torch.nn import Modulefrom torch import nnfrom torch.nn import functional as F# 预训练的网络模型 Net1class Net1(Module):原创 2020-12-09 17:18:44 · 617 阅读 · 0 评论 -
PyTorch网络初始化方式
网络参数初始化对于训练收敛有极大重要性,对于卷积神经网络,在TensorFlow时我一般采用Xavier,但在用PyTorch时发现kaiming_normal(何氏初始化)效果更好。如果不精心挑选网络初始化方法,训练时网络Loss值可能一直稳定维持在某个数值,例如:对于分类任务,假设有C个类别,Loss可能一直维持在−log(1C)-\log(\frac{1}{C})−log(C1)附近。代码:import torchimport torch.nn as nnclass VGG16(nn原创 2020-12-05 11:21:16 · 3484 阅读 · 0 评论 -
深度学习在训练时对图片随机剪裁(random crop)
文章目录为何要采取random crop?对图片进行随机裁减和缩放有些图片有4个颜色通道图像转换成torch.Tensor对象Reference为何要采取random crop?在训练学习器时对图片进行随机裁减,背后的一个直觉就是可以进行数据增广(data augmentation),防止学习器陷入过拟合。假设类别CCC的主要特征为FFF,采集得到的图片包含背景噪声BBB,即现在CCC表示为(F,B)(F, B)(F,B),我们本来期望学习关系f∗:F→Cf^*: F \to Cf∗:F→C,结果现在可原创 2020-12-05 10:57:33 · 18528 阅读 · 0 评论 -
A Simple Example of PyTorch for Initiates
Paszke, A., Gross, S., Massa, F., Lerer, A., Bradbury, J., Chanan, G., et al. (2019). PyTorch: An imperative style, high-performance deep learning library. ArXiv e-prints, pp. arXiv:1912.01703.Thanks all the authors of PyTorch for their great contributi.原创 2020-11-26 17:11:55 · 193 阅读 · 0 评论 -
用PyTorch版本R-FCN训练自己的数据
本文章使用的是princewang1994/R-FCN.pytorch开源代码,项目地址https://github.com/princewang1994/R-FCN.pytorch首先阅读README.md文件,特别是Preparation中的prerequisites,要求Python 3.6Pytorch 0.3.0, NOT suport 0.4.0 because of some errorsCUDA 8.0 or higher。之前我用的是PyTorch 1.0版本,导致原创 2020-10-03 11:22:26 · 2242 阅读 · 2 评论 -
用TensorFlow的slim实现VGG16
目录TensorFlow的slim模块训练过程中Loss稳定不下降最后一层为线性激活函数代码迁移学习TensorFlow的slim模块TensorFlow提供了slim模块,可以很方便地写出VGG网络。这里推荐博文:tensorflow中slim模块api介绍,这篇文章有slim的api文档,里面也有一个vgg网络简单demo;【Tensorflow slim】 slim.arg_scope的用法,可以重点看slim.arg_scope的用法;Tensorflow slim库使用小记;tens原创 2020-09-17 20:56:05 · 367 阅读 · 0 评论 -
Java工厂模式解耦合的例子
目录第一个例子第二个例子第三个例子最终项目路径如下:第一个例子假设有如下接口,package service;public interface Notice { public void work(String message);}实现类如下,package service;public class NoticeImpl implements Notice { @Override public void work(String message) { // TODO Aut原创 2020-07-01 21:30:20 · 480 阅读 · 1 评论 -
VOC格式数据集数据处理小工具(Python脚本)
目录1. 源代码1.1 接口说明1.2 代码2. Reference1. 源代码1.1 接口说明parse_vocxml: 解析voc_xml文件,返回一个列表bboxes = [bbox_1, bbox_2, …],其中边界框bbox = [cls, x_min, y_min, x_max, y_max],参数cls是类别class缩写,即返回所有的标注框。del_specific_cls: 删除voc_xml文件中的指定类别标注框,参数clss是classes的缩写,数据类型为set。cha原创 2020-06-27 16:11:33 · 888 阅读 · 0 评论 -
python装饰器(符号@)示例
目录1. 应用需求2. 装饰器2.1. 粗糙的方法2.2 使用符号@2.3 符号@的有趣用法Reference1. 应用需求购物车场景,有两个函数get_name和get_info,已实现def get_name(sess): name = sess['name'] return namedef get_info(sess): info = sess['info'] return info假设现在接到一个需求,需验证登录后才能获取name和info。如果我们在原创 2020-06-26 22:29:30 · 253 阅读 · 0 评论 -
使用Python随机生成n个不重复的坐标
使用Python随机生成nnn个不重复的坐标,例如,范围(5,3)内的坐标:(1,2),(1,3),(2,2),(2,3),等等。import itertoolslist(itertools.product(range(1, 6), range(1, 4)))如果需要随机的话,直接随机产生以上list里的index,import randomn = 5random_list = l...转载 2020-03-29 22:25:20 · 7427 阅读 · 0 评论