- 博客(79)
- 收藏
- 关注
原创 pycharm使用ssh连接服务器(ubuntu)跑代码报错:“sudo+ssh: ……bash: line 0: cd: xxx/code: No such file or directory”
pycharm使用ssh连接服务器(ubuntu)跑代码报错:“sudo+ssh: ……bash: line 0: cd: xxx/code: No such file or directory”sudo+ssh://xxx@xxx/anaconda3/envs/py36/bin/python -u “xxx/code/main.py”bash: line 0: cd: xxx/code: No such file or directorySudoPasswordPrompt655neudrfcn7s
2022-02-18 13:37:00 1446
原创 Batch Normalization详解(原理+实验分析)
Batch Normalization详解(原理+实验分析)1. 计算过程2. 前向传播过程3. 反向传播过程4. 实验分析4.1 实验一:验证有没有BatchNorm下准确率的区别4.2 实验二:验证有没有BatchNorm+noisy下准确率的区别4.3 实验三:验证有没有BatchNorm+noisy下准确率的区别4.4 实验小结5. BatchNorm的其他细节5.1 训练和推理阶段时参数的初始化问题5.2 BatchNorm在哪个位置最好?5.3 在训练时为什么不直接使用整个训练集的均值/方差?5
2022-02-10 14:11:12 10695 9
原创 BatchNorm怎样解决训练和推理时batch size 不同的问题?
BatchNorm怎样解决训练和推理时batch size 不同的问题?BatchNorm是在batch维度上计算每个相同通道上的均值和方差,通常情况下,训练阶段的batchsize较大,而推理时batchsize基本为1。这样的话,就会导致训练和推理阶段得到不同的标准化,均值和方差时靠每一个mini-batch的统计得到的,因为推理时只有一个样本,在只有1个向量的数据组上进行标准化后,成了一个全0向量,导致模型出现BUG。为了解决这个问题,不改变训练时的BatchNorm计算方式,仅仅改变推理时计算均值
2022-02-10 11:35:07 3780
原创 Batch Normalization的反向传播解说
Batch Normalization的反向传播详细解说Batch Normalization在我的另一篇博客中已经详细说明了,而这篇我将详细介绍下Batch Normalization的反向传播的细节。先贴张前向和反向传播图:从左到右,沿着黑色箭头向前传播。输入是一个矩阵X,γ\gammaγ和β\betaβ作为向量。从右到左,沿着红色箭头反向传播,将梯度从上一层分布到γ\gammaγ和β\betaβ,并一直返回到输入。篇外话,下图中简单说明了正向传播和反向传播的示意图,如果看不懂,建议百度搜索链
2022-02-10 11:10:14 2153 1
原创 LINUX暂停、挂起进程,开启进程
LINUX暂停、挂起进程,开启进程先使用如下命令查看你需要暂停的进程:ps -a确定想要关闭的进程后,使用如下命令暂停、挂起进程:kill -stop 进程号如果你想开启上面挂起的进行,并放在后台运行:kill -cont 进程号...
2022-02-08 10:22:16 4332
原创 使用pytorch搭建卷积神经网络的一般写法
使用pytorch搭建卷积神经网络的一般写法(Alexnet为例)前言数据集代码1. 定义自己的transform2. 定义自己的Dataset2. 定义自己的DataLoader3. 设置GPU还是CPU运行设备4. 加载模型5. 设置优化器6. 定义损失函数7. 开始训练+验证整体代码前言本文使用pytorch简单搭建了一个Alexnet,代码流程可以作为模板,按照这个流程就可以写自己的训练代码了。数据集数据集使用的17flowers,一共有17个类别的花,做图片分类任务。17flowers数据
2022-01-22 17:45:41 2003 3
原创 pytorch的padding怎么使用?支持哪些padding方式方法?padding有什么意义?
pytorch的padding怎么使用?支持哪些padding方式方法?padding有什么意义?前言pytorch支持哪些padding?1. zeros(常量填充)2. reflect(反射填充)3. replicate(复制填充)4. circular(循环填充)总结前言搭建深度学习模型,必不可少使用卷积,卷积中有一个参数padding需要理解且应该掌握选择哪种方式进行padding,本文对pytorch中支持的四种padding进行详细描述。torch.nn.Conv2d(in_channel
2022-01-17 18:24:10 17973 1
原创 pytorch的Conv2d参数详解
pytorch的Conv2d参数详解torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True, padding_mode='zeros', device=None, dtype=None)in_channels:输入维度,即你上一层特征图或者原始图片(3)的通道数out_channels:你希望这一层输出多少层的特征图,或者说你希望有多少个
2022-01-17 16:40:03 2901 2
原创 使用conda和pip批量安装Python包
使用conda和pip批量安装Python包1. conda方式批量安装2. pip方式批量安装在debug Yolov5之前,需要按照其txt文件中指定的包的版本来指定安装工程需要的Python包,截图如下:(这里面的torch慎装,因为这种方式装的pytorch不吃吃GPU,如果某个包不想安装,只要在该行前面输入注释符就行)1. conda方式批量安装进入(cd)到txt文件所在文件夹路径下,运行以下命令:$ conda install --file=requirements_conda.t
2022-01-12 11:24:23 2503
原创 使用tengine部署模型时,编译报错:fatal error: NvInfer.h: No such file or directory | #include <NvInfer.h>
使用tengine部署模型时,编译报错:fatal error: NvInfer.h: No such file or directory | #include 很明显,就是缺少头文件,这个头文件是自己配置tengine部署环境中需要安装的TensorRT带的头文件,(有关在Ubuntu系统上配置TensorRT的相关内容,详见我的另一篇博客:Ubuntu18配置CUDA10.2 cudnn8.0.1 TensorRT7.1.3.4)那么就需要在编译部署代码的CMakeList.txt中指定这个头文件的路径
2022-01-11 11:00:05 1821 4
原创 Ubuntu18升级 cmake
Ubuntu18升级 cmake话不多说,直接输入下面命令,具体版本需要自己手动更改地址。$ wget https://cmake.org/files/v3.18/cmake-3.18.0.tar.gz$ mv cmake-3.18.0.tar.gz /usr/local/$ cd /usr/local/$ tar xf cmake-3.18.0.tar.gz$ rm -rf cmake-3.18.0.tar.gz$ cd cmake-3.18.0/$ sudo ./configure$
2022-01-11 10:48:41 589
原创 Ubuntu18配置CUDA10.2 cudnn8.0.1 TensorRT7.1.3.4
来自实际项目,项目简述:自动驾驶测试阶段,需要在车端测试算法运行在一个带有2080Ti工控机,这里使用tengine来部署模型。由于项目保密原因,本文不使用实际本团队开发的算法,就仅仅使用tengine自带的demo,完全够用。
2022-01-11 10:11:00 1313
原创 Ubuntu18配置CUDA10.2 cudnn8.0.1(cuda_10.2.run格式+cudnn-10.2-linux-x64-v8.0.1.13.tgz格式)
Ubuntu18配置CUDA10.2 cudnn8.0.1(cuda_10.2.run格式+cudnn-10.2-linux-x64-v8.0.1.13.tgz格式)
2022-01-11 09:38:30 1166
原创 pandas时间序列相减,找出时间最接近的
两张表如下:表1:表2:需求: 按照表1的“用户唯一ID”,在表2 中找到对应的“客户风险等级”和“评估日期”难点: 每个“用户唯一ID”对对应不同“评估日期”日期下的“客户风险等级”,所以不能简单的使用pd.merge()解决方法: 双层循环,找到时间差小的“评估日期”作为当前用户的“客户风险等级”,同时为了体现是最近的信息,必须保证# 客户风险表## 因为每个用户在不同时期会有不同的风险等级,所以这里需要一个一个迭代,去匹配与当前交易日期最接近的评估日期下的风险等级custom_ri
2021-12-16 13:04:38 1940
原创 目标检测RCNN系列的候选区选择算法——selective search(原理+Python实现)
一直想总结下目标检测的一系列算法,分为两个主要路线,一个是从RCNN发展起来的两阶段算法,另一个是以YOLO发展的一阶段算法。本篇属于RCNN算法中重要的一部分,用来解决生成候选区域的问题,算是基础,也很重要,尽管该算法已经过时了,但是掌握其中的思想用来解决可以问题还是不错的。简述作用:在原图片上,以尽可能快和好地生成可能包含目标的候选块。换句话说,避免了穷举法的计算量大且无图像本身信息的缺点。解决办法(大致思想):selective search首先使用 Felzenswalb图像分割算法将图像
2021-12-14 21:56:21 4833 1
原创 ModuleNotFoundError: No module named ‘tensorflow.compat.v1‘
报错信息如下:很明显,tflearn和TensorFlow的版本不匹配,看了这篇博客之后才发现这两个的对应关系是:TensorFlow:1.12.0tflearn:0.3.2使用pip install tflearn==0.3.2解决
2021-12-14 17:13:40 4427
原创 c++的OpenCV中imread和cvLoadImage的区别
imread和cvLoadImage都可以实现读图片的功能,但是其使用场景不同。总地来说:imread是C++接口,而cvLoadImage是c接口,所以针对不同平台可以选用适当接口imread是在highgui.hpp中定义的,cvLoadImage是在highgui_c.h中定义的,而这两个头文件都在highgui.h中include的了,如下图。所以只需要在你的项目中#include "highgui.h"就好返回的数据类型不同,imread返回cv::Mat,cvLoadImage返回的是
2021-12-14 09:35:26 7634
原创 C++的OpenCV函数 cvReleaseImage
cvReleaseImage表面理解就是释放读取的图片的内存,对应读图片使用的是cvLoadImage。使用cvReleaseImage后,会设置此时图片占用的内存数据为NULL,但是该内存地址不会被释放,当有新图片使用cvLoadImage读时,会放在这个被置位NULL的内存地址处,详情如下:#include "highgui.h"#include "OCV.h"void openCV::debugcvReleaseImage(char imgPath[100]) { if (imgPath
2021-12-14 08:59:12 2757
原创 数据挖掘常用套路总结
数据挖掘常用套路总结前言一、特征抽取二、特征选择1、删除那些特征值相同的特征2、选择最佳特征功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程...
2021-12-09 16:42:53 333
原创 数据挖掘项目——新零售无人智能售货机商务数据分析
数据挖掘项目——新零售无人智能售货机商务数据分析一、 原始数据分析二、数据清洗1、处理附件12、处理附件2三、数据分析1、描述性分析2、数据可视化结果如下:一、 原始数据分析原数据中包含两个附件annex_1和annex_2。其中annex_1中有数据:订单号、设备ID、应付金额、实际金额、商品、支付时间、地点、状态、提现。具体如下:#原始数据detail = pd.read_csv('...
2021-12-09 16:41:51 6879 8
原创 使用numpy将大数组存以TXT格式储到记事本中
有时候某个数组特别大,使用编译器不容看出每个像素的分布情况,这时候就可以将该数组完整的存到一个TXT中,在TXT中仔细观察。img2 = Image.open("G:/Program/HUAWEICloud/data/train/labels/382_7_33.png")i = np.asarray(img2)np.savetxt('iii', i, fmt='%s', delimiter=' ')...
2021-12-09 16:40:48 490
原创 tensorflow报错:ModuleNotFoundError: No module named ‘numpy.core._multiarray_umath‘ ImportError: numpy.
tensorflow报错:ModuleNotFoundError: No module named 'numpy.core._multiarray_umath' ImportError: numpy.core.multiarray failed to import现象:原因:NumPy版本和当前Tensorflow版本不兼容解决方法:pip install --upgrade numpy结果:完美解决...
2021-11-23 15:44:58 1302
原创 在jupyter notebook中使用自己创建的python虚拟环境
方法步骤如下:启动命令行界面创建虚拟环境:conda create -n name python=3.6启动要在jupyter notebook中使用的python环境: activate name安装jpykernel: conda install ipykernel安装nb_conda:conda install nb_conda进入到项目路径下,输入:jupyter notebook如下图,在"new"下选择想要的虚拟环境,完事...
2020-12-04 15:54:43 1629 1
原创 大数据开发面试总结
大数据开发面试总结上海合合实习面试一面(电话died)1、熟悉那些java的list集合2、ArrayList和LinkedList的区别?3、JVM的内存4、类的加载过程5、python的闭包、魔术方法、__new__、高阶方法6、java的list集合7、java的string为什么是不可变的?8、java的回收器G19、有没有调试过spark的源码10、静态代码块和静态方法哪个先执行11、静态方法能否调用非静态方法11、方法重载和方法重写12、设计模式13、hive的窗口函数14、hadoop运行时,
2020-07-28 19:37:43 421
原创 大数据开发总结
大数据开发总结个人总结个人总结1、kafka的消费者组是如何消费的?一个分区只能被消费者组中的一个消费者消费一个消费者组中的一个消费者可以消费多个分区一个消费者组中的不同消费者消费的分区一定不会重复一个topic可以有多个consumer group,但每个partition只会把消息发给该consumer group中的一个consummer2、kafka为什么有消费者组?(1)消费效率高(2)消费模式灵活(广播模式,单播模式)(3)便于故障容灾https://blog.csdn.n
2020-07-19 17:10:18 2101
原创 数据挖掘——时间序列算法之平稳性检验
数据挖掘——时间序列算法之平稳性检验平稳时间序列定义时间序列平稳性检验针对平稳和不![在这里插入图片描述](https://img-blog.csdnimg.cn/20200416154317496.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubm...
2020-04-16 15:43:43 2653
原创 数据挖掘项目:基于热水器的洗浴事件识别
数据挖掘项目——基于热水器的洗浴事件识别前言1. 项目描述2.处理流程数据探索性分析EDA数据预处理特征重做制作标签构建模型前言1. 项目描述本项目基于热水器采集的时间序列数据,将顺序排列的离散的用水时间节点根据水流量和停顿时间间隔划分为不同大小的时间区间,每个区间是一个可理解的一次完整用水事件,并以热水器一次完整用水事件为一个基本事件,将时间序列数据划分为独立的用水事件并识别出其中属于洗浴...
2020-04-03 15:12:05 1373
原创 特征工程——特征交叉、交叉特征、特征组合
特征工程——特征交叉、交叉特征、特征组合关于特征交叉的作用以及原理,我这里不进行详细描述,因为大佬们已经说得很清楚了,这里就附上几个连接:特征组合&特征交叉 (Feature Crosses)结合sklearn进行特征工程对于特征离散化,特征交叉,连续特征离散化非常经典的解释下面说怎样制作和交叉特征:多项式生成函数:sklearn.preprocessing.Polynomi...
2020-01-15 15:03:30 9330
原创 机器学习——社区发现算法
机器学习——聚类算法Partitioning Method 划分聚类=>K-MeansHierachical Methods 层次聚类=>Bottom-Up、Top-Down、BIRCH、CURE、CHAMELEONDensity-based Method 基于密度算法=> DBSCANGrid-based Method 基于网格算法=>CL...
2020-01-15 14:42:39 2178
原创 数据挖掘——预测未来销售
数据挖掘——预测未来销售处理sale_train_v2.csv和test.csv处理shop.csv处理item_categories.csv处理items.csv特征添加该项目来自kaggle比赛,处理sale_train_v2.csv和test.csv1、读取训练数据:test = pd.read_csv("./test.csv") .set_index("ID")train = p...
2020-01-15 14:41:56 1665
原创 逻辑回归解决多分类问题
逻辑回归解决多分类问题第一种方式:从类别入手1、OVO(one vs one)2、OVR(One Vs Rest)第二种方法:从算法入手传统的逻辑回归只能处理二分类问题,对于多分类任务,主要有如下两种方案。第一种方式:从类别入手1、OVO(one vs one)某个分类算法有N类,将某一类和另一类比较作为二分类问题,总共可分为cn2c_{n}^{2}cn2种不同的二分类模型,给定一个新的...
2020-01-15 14:26:46 3933
原创 特征工程——特征选择
特征工程——特征选择特征选择实践特征重要性递归特征消除(RFE)SelecFromModel相关矩阵分析单变量选择套索回归注:该文来自微信公众号:Datawhale减少统计分析期间要使用的特征的数量可能会带来一些好处,例如:提高精度降低过拟合风险加快训练速度改进数据可视化增加我们模型的可解释性事实上,统计上证明,当执行机器学习任务时,存在针对每个特定任务应该使用的最佳数量的特征...
2020-01-14 16:04:23 956
原创 问题记录——pd.read_hdf throws 'cannot set WRITABLE flag to True of this array'
问题记录——pd.read_hdf throws 'cannot set WRITABLE flag to True of this array'解决办法:降级numpy可以使用如下写入h5文件df.to_hdf('../testA.h5', 'df')但是无法读取h5文件a = pd.read_hdf("../testA.h5","df")a报错:~/.local/lib/py...
2020-01-13 15:23:19 973 1
原创 pandas中diff用法
pandas中diff用法Series.diif(periods=1)计算Series中的元素与Series中另一个元素的差值(默认为上一行中的元素)。参数periods表示元素之间做差间隔举例:不指定做差间隔,即默认period=1,表示与前一行数据元素的差异>>> s = pd.Series([1, 1, 2, 3, 5, 8])>>> s....
2020-01-13 13:01:53 6035
转载 pandas中iloc和loc的区别和用法
pandas中iloc和loc的区别和用法from Pandas中loc和iloc函数用法详解(源码+实例)loc函数:通过行索引 “Index” 中的具体值来取行数据(如取"Index"为"A"的行)iloc函数:通过行号来取行数据(如取第二行的数据)本文给出loc、iloc常见的五种用法,并附上详细代码。利用loc、iloc提取行数据import numpy as npim...
2020-01-13 12:48:52 2905
原创 数据挖掘项目笔记——使用joblib中的Parallel并行运行程序
数据挖掘项目笔记——使用joblib中的Parallel并行运行程序joblib是一个可以使程序并行运行的包,并行运行程序可以大大提高运行效率。下面进行简单测试:import timefrom math import sqrtdef test_func_1(val): time.sleep(1) return sqrt(val**2)start_time = tim...
2020-01-09 22:56:50 2580
原创 Bagging、Boosting的区别
Bagging、Boosting的区别样本选择:Bagging算法是有放回的随机采样;Boosting算法是每一轮训练集不变,只是训练集中的每个样例在分类器中的权重发生变化,而权重根据上一轮的分类结果进行调整;样例权重:Bagging使用随机抽样,样例的权重;Boosting根据错误率不断地调整样例的权重值,错误率越大则权重越大;预测函数:Bagging所有预测模型的权重相等;Boosti...
2020-01-04 22:33:59 393
原创 机器学习——提升方法Adaboost算法
机器学习——提升方法Adaboost算法前言提升方法的基本思路Adaboost算法Adaboost例子前言注:该文大部分来自于李航的《统计学习》,此篇可理解为个人笔记。提升方法的基本思路简单来说就是“三各臭皮匠顶一个诸葛亮”的道理。对于分类任务而言,给定一个训练样本集,求比较粗糙的分类规则(弱分类器)要比精确非分类规则(强分类器)容易的多。提升方法就是从弱学习算法出发,反复学习,得到一些...
2020-01-04 21:47:11 267
原创 问题记录:为什么使用GPU训练模型会越来越慢?
问题记录:为什么使用GPU训练模型会越来越慢?本篇没前言,没总结,就仅仅是记录下我的一个“傻瓜式”代码。。。。。。在RPN上修改我的代码,使用GPU跑训练越来越慢,每次迭代消耗时间越来越大。经过仔细查找,发现犯了一个sb错误,在每次迭代都是新建了一个读gt的新图,这样会使整个图越来越来,训练越来越慢,最终导致内存爆了。怎么排查?答:在session定义下使用sess.graph.fina...
2019-12-28 09:44:19 4277 3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人