- 博客(85)
- 收藏
- 关注
原创 FLOPs和模型参数计算
# from ptflops import get_model_complexity_info # flops, params = get_model_complexity_info(model, (3,640,640), as_strings=True, print_per_layer_stat=True) # print('FLOPs: ', flops) # print('Params: ', params) # aa # from thop import pr
2022-03-09 19:21:20
503
原创 Gram matrix(格拉姆矩阵)
文章目录一、基础知识-向量的内积二、Gram matrix介绍三、Gram matrix的应用-风格迁移一、基础知识-向量的内积1.1 向量的内积定义:也叫向量的点乘,对两个向量执行内积运算,就是对这两个向量对应位一一相乘之后求和的操作,内积的结果是一个标量。1.2 实例:a和b的内积公式为:1.3 作用:内积判断向量a和向量b之间的夹角和方向关系a·b>0 方向基本相同,夹角在0°到90°之间a·b=0 正交,相互垂直a·b<0 方向基本相反,夹角在9
2021-12-10 16:14:19
574
原创 学习杂记【待整理】
ReflectionPad2d、InstanceNorm2d详解及实现nn.ReLU(inplace=True)中inplace的作用参数: inplace-选择是否进行覆盖运算hook函数:链接lr_scheduler和optimizer:链接transforms.Compose()类详解:串联多个transform操作链接...
2021-12-08 10:49:19
765
原创 Ubuntu18 yolov5使用ncnn部署
文章目录准备工作编译ncnn.pt文件转.onnx文件onnx2ncnn(有坑)ncnnoptimize优化C++代码处理测试准备工作yolov5 v5.0:git clone https://github.com/ultralytics/yolov5.gitgit checkout v5.0ncnn源码git clone https://github.com/Tencent/ncnn.gitcd ncnngit submodule update --init安装依赖su
2021-05-30 22:28:11
1588
6
原创 【超参搜索】模型自动超参数优化方法:网格搜索、随机搜索、遗传算法
文章目录一、超参二、网格搜索 GridSearchCV三、随机搜索 RandomizedSearchCV四、自动超参搜索:遗传算法(GA)一、超参学习器模型中一般有两类参数,一类是可以从数据中学习估计得到,我们称为参数(Parameter)。还有一类参数时无法从数据中估计,只能靠人的经验进行设计指定,我们称为超参数(Hyper parameter)。超参数是在开始学习过程之前设置值的参数。相反,其他参数的值通过训练得出。参数空间的搜索一般由以下几个部分构成:一个estimator(回归器 or 分
2021-05-12 18:43:21
12826
3
原创 利用随机数种子来使pytorch中的结果可以复现
在神经网络中,参数默认是进行随机初始化的。不同的初始化参数往往会导致不同的结果,当得到比较好的结果时我们通常希望这个结果是可以复现的,在pytorch中,通过设置随机数种子也可以达到这么目的。直接上code: import torch SEED = 0 torch.manual_seed(SEED) torch.cuda.manual_seed_all(SEED) torch.backends.cudnn.deterministic = True
2021-04-28 08:59:01
253
原创 PixelShuffler原理
PixelShuffler是一种端到端可学习的上采样模块,通过设置上采样比例,就可由低分辨率图像获取指定倍率的高分辨率图像。上采样可以理解为在同一个位置,原来只是以1:1的比例提取信息,而现在以1:4的比例提取信息,提取信息的频率更高了,所以能反映的细节也就更多。对于tensor来说,在同一个位置多提取信息,也就是通过卷积生成通道数更多的tensor。具体过程为(以一个(n,64,64,64)的特征图为例)通过卷积,得到通道数倍增的特征图(n,64,64,256)将特征图切割成若干份,对每一份(n,6
2021-04-25 10:11:53
2230
原创 BN、LN、IN、GN和SN
一、相关paperBatch Normalization,其论文:https://arxiv.org/pdf/1502.03167.pdfLayer Normalizaiton,其论文:https://arxiv.org/pdf/1607.06450v1.pdfInstance Normalization,其论文:https://arxiv.org/pdf/1607.08022.pdfGroup Normalization,其论文:https://arxiv.org/pdf/1803
2021-04-22 11:08:34
792
原创 【Python】@ 操作符
python的@ 除了用在装饰器上,还可以用在矩阵乘法操作。效果大概等同于mul。code举例:import torchea = [[1, 2, 3], [3, 2, 1]]eb = [[1, 2], [2, 1], [1, 1]]ea = torch.tensor(ea)eb = torch.tensor(eb)print(ea.shape)print(eb.shape)ec = ea @ ebprint(ec)print(ec.shape)
2021-04-16 09:48:40
267
原创 【图像处理】双边滤波算法(bilateral filter)和导向滤波算法(guided filter)
一、双边滤波算法(Bilateral Filter)1、原理高斯滤波是以距离为权重,设计滤波模板作为滤波系数,只考虑了像素间的空间位置上的关系,因此滤波的结果会丢失边缘的信息。高斯滤波的缺陷如下图所示:平坦区域正常滤波,图像细节没有变化,而在突变的边缘上,因为只使用了距离来确定滤波权重,导致边缘被模糊。在高斯基础上,进一步优化,叠加了像素值的考虑,因此也就引出了双边滤波,一种非线性滤波,滤波效果对保留边缘更有效。空间距离:当前点距离滤波模板中心点的欧式距离。灰度距离:当前点距离滤波模板中心点
2021-04-13 09:26:40
3723
原创 HR图像添加运动焦散模糊【Matlab】
直接上code和效果图:I = imread('C:\Users\jizef\Desktop\flower.jpg');figure,subplot(2,2,1);imshow(I);title('原图像');%T = rgb2gray(M);figure;imshow(I);PSF = fspecial('motion',20,15);J = imfilter(I,PSF,'conv','circular');subplot(2,2,2);imshow(J);title('模糊运动的图像');
2021-04-07 10:31:26
485
原创 tmux常用命令
tmux是什么tmux是一个 terminal multiplexer(终端复用器),它可以启动一系列终端会话。我们使用命令行时,打开一个终端窗口,,会话开始,执行某些命令如npm run dev,关闭此终端窗口,会话结束,npm run dev服务会话随之被关闭。有时我们希望我们运行的服务如npm run dev 或者一些cd命令等,被保留,而不是关闭窗口再打开后,重新手动执行。tmux的主要用途就在于此。它解绑了会话和终端窗口。关闭终端窗口再打开,会话并不终止,而是继续运行在执行。将会话与终端窗后
2021-03-17 15:56:38
2414
原创 frp进行内网穿透
云服务器去https://github.com/fatedier/frp/releases下载适合你服务器系统的frp软件,我这里是用的是腾讯云64位Ubuntu18.04所以选择frp_0.34.3_linux_amd64.tar.gz,下好之后解压:tar -zxvf frp_0.34.3_linux_amd64.tar.gz
2020-12-22 16:38:24
367
原创 docker 权限问题 Got permission denied while trying to connect to the Docker daemon socket at 。。。
在用户权限下docker 命令需要 sudo 否则出现以下问题通过将用户添加到docker用户组可以将sudo去掉,命令如下sudo groupadd docker #添加docker用户组sudo gpasswd -a $USER docker #将登陆用户加入到docker用户组中newgrp docker #更新用户组...
2020-11-27 07:38:56
4260
原创 Ubuntu18.04 xrdp多用户远程桌面
wget http://www.c-nergy.be/downloads/install-xrdp-3.0.zipunzip install-xrdp-3.0.zipchmod 777 Install-xrdp-3.0.sh./Install-xrdp-3.0.sh注意如果是中文版系统可能会报错,改为英文或者自己创建一个cd ~mkdir Downloads期间可能回因为权限问题导致安装失败,自己查看报错信息,进入都相应的目录,然后使用sudo chmod 777 文件名进行权限赋予,就
2020-11-26 23:39:34
2239
原创 ubuntu18.04+RTX 3090安装docker并配置pytorch环境
[Ubuntu18.04安装Docker] (https://blog.csdn.net/weixin_38369492/article/details/105808668)[Ubuntu18.04安装NVIDIA Docker]Ubuntu18.04安装DockerUbuntu18.04安装NVIDIA Docker踩坑:执行下面语句时,报错curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
2020-11-26 19:19:21
1149
原创 Ubuntu 18.04 8T硬盘挂载
# 删除磁盘初始化,可选parted /dev/sda mklabel gpt# 初始化磁盘parted /dev/sda mkpart primary 0TB 8TB# 格式化分区mkfssudo mkfs.ext4 /dev/sda1# 赋予权限:sudo chmod 777 /dev/sda1df -h(查看分区情况及数据盘名称)或者sudo fdisk -l如果已经挂载到了自己想要的位置就直接设置开机自动挂载就行了如果想改目录:设置想要挂载到的目录:mkdir /da
2020-11-25 15:09:59
2117
原创 Python:functools.cmp_to_key(func)使用
比较函数:functools.cmp_to_key(func)leetcode经常用到该函数,记录一下。435. 无重叠区间该题需要把二维数组arr[…][i]从小到大排序,再把arr[i][…]从小到大排序。直接上code:import functoolsdef compareRule(a, b): if a[1] == b[1]: return b[0] - a[0] return b[1] - a[1]intervals = [[1,2], [2,3], [3,4], [
2020-11-23 09:22:02
1133
原创 Pytorch中变量在tensor与numpy之间转换,tensor在CPU和GPU之间转换
1.CPU tensor转GPU tensor:cpu_imgs.cuda()2. GPU tensor 转CPU tensor:gpu_imgs.cpu()3. numpy转为CPU tensor:torch.from_numpy( imgs )4.CPU tensor转为numpy数据:cpu_imgs.numpy()5.GPU tensor转为numpy数据:gpu_imgs.cpu().numpy()
2020-11-06 10:44:39
1411
原创 Python脚本实现深大校园网网页登陆
安装1:安装selenium依赖包 在Anconda中通过pip install selenium安装2:下载Chrome版本对应的驱动 http://chromedriver.storage.googleapis.com/index.html实现代码import timefrom selenium import webdriverdef login(username, password): url = 'https://drcom.szu.edu.cn/a70
2020-10-01 09:51:20
880
原创 【Trick】调优方法warmup
学习率是模型训练中最重要的超参之一,针对学习率的优化有很多种方法,而warmup是其中重要的一种。先提供github库链接:https://github.com/ildoonet/pytorch-gradual-warmup-lr什么是warmupwarmup是一种学习率优化方法(最早出现在ResNet论文中)。在模型训练之初选用较小的学习率,训练一段时间之后(如:10epoches或10000steps)使用预设的学习率进行训练;为什么使用warmup1、因为模型的weights是随机初始化的,
2020-07-29 21:08:30
1780
1
原创 【标注图像】windows下使用labelImg
文章目录labelImg工具下载labelImg工具使用方法开始图像数据标注labelImg工具下载下载地址:链接:https://pan.baidu.com/s/138k49VHBLbzpjXFBKtMyYQ 提取码:mzxh下载的文件是编译好的,可执行的labelImg.exe文件。直接将文件放在windows环境下,双击可执行。labelImg工具使用方法1.双击labelImg执行文件图标,会出现操作界面:出现这样的窗口界面,说明labelImg已经正常开启,背景黑色的窗口是终端
2020-07-29 20:50:43
586
原创 【图像增强】python图像数据增强
导入数据增强包:from imgaug import augmenters as iaa #引入数据增强的包sometimes = lambda aug: iaa.Sometimes(0.5, aug) #建立lambda表达式,这里定义sometimes意味有时候做的操作,然而实际上在深度学习的模型训练中,数据增强不能喧宾夺主,如果对每一张图片都加入高斯模糊的话实际上是毁坏了原来数据的特征,因此,我们需要“有时候”做,给这个操作加一个概率。下面建立一个图像增强流程,有详细注释:seq = i
2020-07-28 21:35:54
3144
1
原创 【Docker】使用介绍
文章目录1、解决的问题2、什么是docker3、查看docker版本4、常用命令/操作1、解决的问题解决环境配置的难题;(开发中经常需要配置各种环境,比如配置各种深度学习框架、某个工程代码的编译环境、部署ftp服务等等,常见的方案就是虚拟化技术)2、什么是docker一种操作系统层面的虚拟化技术,一种目前很流行的Linux容器解决方案。Container(容器):一个虚拟化出来的操作空间,Container与主机及其他Container相互隔离;Image(镜像):按层打包的应用程序及依赖,可
2020-07-27 21:36:36
356
原创 【Pycharm】连接远程服务器并进行代码上传、调试
文章目录一、连接远程服务器二、配置远程服务器前提:需要有一个远程服务器,知道他的ip、port、user、password同时Pycharm需要是专业版,社区版没有此服务。另,专业版学生邮箱注册免费。一、连接远程服务器1、进入配置页面:Pycharm菜单栏,如下图所示,依次点击 Tools -> Deployment -> Configration…2、配置连接服务器:Connection下,协议最好选择SFTP,接下来填写服务器主机IP,用户名,密码。配置完成后点击Test S
2020-07-27 21:24:14
777
原创 【强化学习】CARLA——Windows安装
文章目录一、安装包获取二、安装Python3.7一、安装包获取链接:Github选择适合的版本,本文安装的是[Windows] CARLA_0.9.9.2.zip。如无需更多地图,则无需下载[Windows] AdditionalMaps_0.9.9.2.zip。推荐用迅雷等工具下载。下载完毕后,进入WindowsNoEditor,运行CarlaUE4.exe。如果提示:"The following component(s) are required to run this program: Di
2020-06-13 08:01:29
4958
3
原创 【鲲鹏HCIA考试】随堂习题卷六
文章目录单选题多选题判断题单选题目前鲲鹏内存优化型云服务器km1可购买的最大内存为()GB。A、192 B、256 C、384 D、480以下哪一项不是鲲鹏处理器的优点?()A、同样功能性能占用的芯片面积小.功耗低.集成度更高,更多的硬件CPU核具备更好的并发性能B、支持16位.32位.64位多种指令集,能很好的兼容从IOT.终端到云端的各类应用场景C、大量使用寄存器,大多数数据操...
2020-05-05 10:23:03
11773
21
原创 【鲲鹏HCIA考试】随堂习题卷五
文章目录单选题多选题判断题单选题在鲲鹏架构下编译C/C++程序,对char类型应如何处理?()A、无需进行额外处理B、将char类型声明修改为:unsignedcharC、在编译选项中-fsigned-charD、在编译选项中设置-mabi=lp64在鲲鹏平台编译安装MySql5.7时,()不是需要安装的依赖包A、ncursesB、php70w-mysqlC、cmakeD、...
2020-05-05 09:29:46
16447
6
原创 【鲲鹏HCIA考试】随堂习题卷四
文章目录单选题多选题判断题单选题CPU Core访问服务器上不同位[的内存时,内存访问延迟从高到低排序正确的是?A、跨Socket >跨NUMA不跨Socket > NUMA内B、NUMA内>跨NUMA不跨Socket >跨SocketC、跨NUMA不跨Socket >跨Socket > NUMA内D、跨Socket > NUMA内>跨...
2020-05-05 08:49:21
18455
2
原创 【鲲鹏HCIA考试】随堂习题卷三
文章目录单选题多选题判断题单选题BenchmarkSQL配置文件中loadWorkers指的是什么( )A、并发用户数B、数据库装载并发数C、数据库并行数D、数据库表的数量TPCC衡量标准是什么?A、QphHB、响应时间C、tpmCD、TPSPorting Advisor工具在移植源码过程中的作用是?A、分析源码,并给出移植工作量B、分析源码,并给出分析报告和源码修改...
2020-05-04 23:19:51
25411
8
原创 【鲲鹏HCIA考试】随堂习题卷二
文章目录单选题多选题判断题单选题镜像导出时,支持的最大镜像文件大小是?A、128GB B、64GB C、32GB D、256GB通过源码编译制作软件包时,默认会把打包后的rpm包放在以下哪个目录下?A、BUILD B、SPECS C、RPMS D、SOURCES以下关于使用yum安装软件,说法不正确的是?A、自动安装依赖包 B、缺乏自主性 C、全自动安装 D、自定义安装路径可以根...
2020-05-04 11:29:13
18443
6
原创 【鲲鹏HCIA考试】随堂习题卷一
文章目录单选题多选题判断题单选题使用命令rpmbuild -bb XX. spec (XX表示文件名)制作RPM包时,RPM包生成在什么目录下?A、BUILD B、SOURCE C、RPMS D、SPEC在BenchmarkSQL执行以下哪个脚本,可以对表中写入数据?A、runLoader. sh B、runBenchmark. sh C、runDatabaseBuild. sh...
2020-05-03 22:05:32
25864
24
原创 【Leetcode】亮眼题/新思路
文章目录709. 转换成小写字母709. 转换成小写字母实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串。示例:输入: "Hello"输出: "hello"highlight: 字母大小写转换的位运算关系代码:""" ord():转换成ASCI码 chr():ASCI转换成字符 ...
2020-04-24 07:32:29
123
原创 【Leetcode】数学题(Python)
文章目录简单难度中等难度面试题67、把字符串转为数字简单难度中等难度面试题67、把字符串转为数字写一个函数 StrToInt,实现把字符串转换成整数这个功能。不能使用 atoi 或者其他类似的库函数。示例:输入: " -42"输出: -42解释: 第一个非空白字符为 '-', 它是一个负号。 我们尽可能将负号与后面所有连续出现的数字组合起来,最后得到 -42 。输入...
2020-04-17 10:57:03
156
原创 【Python】functools.lru_cache加快递归速度
在Leetcode中做到一个递归的题,提交每次都是超时,去看大佬的解答,发现人家增加了一行这个:from functools import lru_cache@lru_cache(maxsize=1000, typed=False)查了一下,functool模块有lru_cache这样一个装饰器,它的作用主要是用来做缓存,将相对耗时的函数结果进行保存,避免重复计算。而且缓存并不会无限增长,...
2020-04-15 13:00:19
708
1
原创 【leetcode】二叉树(python)
简单面试题04.02、最小高度树简单面试题04.02、最小高度树给定一个有序整数数组,元素各不相同且按升序排列,编写一个算法,创建一棵高度最小的二叉搜索树。示例:给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树: 0 / \ -3 9...
2020-04-09 11:12:37
397
原创 Windows:定时/进程结束执行命令
1、定时执行脚本2、进程结束执行脚本训练网络经常半夜才训练完,有时为了不浪费时间,晚上特意调了闹钟起来改代码、继续训练等。大半夜设闹钟起来跑代码太难受了,所以这次写了这两个代码,以后少受点罪。1、定时执行脚本代码:import osimport timeset_time = '00:00:00' # 此处设置每天定时的时间cmd = ''print("——————————...
2020-04-09 02:23:25
2381
原创 【leetcode】栈(python)
面试题03.02、栈的最小值请设计一个栈,除了常规栈支持的pop与push函数以外,还支持min函数,该函数返回栈元素中的最小值。执行push、pop和min操作的时间复杂度必须为O(1)。示例:MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);minStack.push(-3);minStac...
2020-04-08 19:30:15
334
原创 【leetcode】链表题(python)
目录简单难度237、删除链表中的节点/ 面试题02.03、删除中间节点1290、二进制链表转整数面试题02.02、返回倒数第 k 个节点面试22、链表中倒数第k个节点面试题24、反转链表简单难度237、删除链表中的节点/ 面试题02.03、删除中间节点请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。示例:输入: head = [4,5,1,9],...
2020-04-08 12:39:47
360
原创 【算法】常见排序算法效率比较和代码
主要思想:分而治之 + 递归选取数组第一个元素(或者中间/最后一个元素)作为基准值,数组根据基准值大小分为左右两部分,再递归,输出结果。代码:# 快速排序:分而治之 + 递归def quick_sort(data): """快速排序""" if len(data) >= 2: # 递归入口及出口 basic = data[0] ...
2020-04-06 11:19:29
256
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人