自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(447)
  • 资源 (7)
  • 收藏
  • 关注

转载 YOLOV3网络概览

直接放YoLoV3的网络结构图,让我们稍微看一下YoLov3的网络结构。YoLoV3网络主要分成两大部分: 1.主干网络 DarkNet53 2.多尺度预测 1.主干网络DarkNet53首先是主干网络DarkNet53,结合网络图我们看到它主要是使用了残差块Residual block,这里残差块就是进行一次3X3、步长为2的卷积,然后保存该卷积layer,再进行一次1X1的卷积和一次3X3的卷积,并把这个结果加上layer作为最后的结果.此外,主干网络DarkNet5

2021-01-20 11:40:36 1451

转载 上采样/反卷积/上池化的区别

上采样/反卷积/上池化的区别上采样是指将图像上采样到更高分辨率的任何技术。最简单的方法是使用重新采样和插值。即取原始图像输入,将其重新缩放到所需的大小,然后使用插值方法(如双线性插值)计算每个点处的像素值。在CNN上下文中,上池化通常指代最大池化的逆过程。在CNN中,最大池化操作是不可逆的,但是我们可以通过使用一组转换变量记录每个池化区域内最大值的位置来获得一个近似的逆操作结果。在反卷积(网络)中,上池化操作使用这些转换变量从前一层输入中安放这些复原物到(当前层)合适的位置,从而一定程度上保护了原

2021-01-20 11:24:57 307 1

原创 windows平台下darknet训练自己的数据集

写完前面关于python接口的文章发现忘了写训练自己的数据集的文章了,这里补上,用的还是AlexeyAB版本的darknet。第一步:首先就是用labelimg做标注,这一步是最费时间的,注意这里一张图片是可以同时标注多个物体的,只是要做好对照关系,我之前网上找了一些教程都只标注了一个物体,这里说明一下标注多个物体也是可以的。第二步:构建训练时可以读取的文件夹目录格式,如下所示:将xml文件放入Annotations文件夹,将图片放入JPEGImages文件夹,利用下面的代码1生成的mytr

2021-01-08 17:24:11 586 1

原创 windows平台darknet检测视频中的目标python接口的处理

首先说一下俺搭建的环境是什么样子的:win10+anaconda+python3.6+VS2015+GTX960+运行CUDA版本10.1+驱动版本CUDA11.1+opencv3.4+C语言版本darknet AlexeyAB简单说明一下,这里用的方法类似于我上一篇文章中提到的第二种方法,将darknet从github上面拉下来之后用VS2015编译生成yolo_cpp_dll.dll这个链接库,可以生成不包含GPU的dll,但是不包含gpu的dll速度就很慢,10s的视频要跑1分多钟,很是心累,而g

2021-01-08 16:34:03 588 3

原创 windows平台下python接口调用darknet训练的模型

windows平台下python接口调用darknet训练的模型进行视频中的目标检测的两种办法(待实践)。一个方法是可以直接用opencv的python接口进行调用,参考文章:1、opencv的python接口修改https://blog.csdn.net/qq_27158179/article/details/81915740?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-

2021-01-02 20:01:55 362 1

原创 win10+GPU(gtx960)+yolo+opencv+Visual studio 2015安装配置

1、首先是查看自己的电脑的GPU,通过查看GPU版本来选择安装CUDA+cudnn我的电脑GPU是GTX960,打开NVIDIA控制面板可以查看得到CUDA需要安装的版本,我的对应版本的CUDA10.1可以查找下载安装教程,下载完成之后离线安装即可。CUDA直接双击之后以此安装即可,cudnn的安装更加简单,解压之后将对应文件复制到CUDA对应的文件夹下面即可,详细操作网上有很多教程。安装完成之后,打开cmd命令窗口,输入ncvv -V检查即可。2、visual studio 2

2020-11-05 18:22:46 692

原创 剑指offer63_数据流中查找中位数(堆排序实现)

后备知识:make_heap(first ,last)make_heap(first ,last, cmpObject)将[ first, last )范围进行堆排序,cmpobject默认使用less < int>(大顶堆),小顶堆为greater<int>。pop_heap(first ,last)pop_heap(first ,last, cmpObject)将front(即第一个最大元素)移动到end的前部(堆删除),同时将剩下的元素重新构造成(堆

2020-09-01 14:14:39 147

原创 剑指offer59和60题,打印二叉树

//之字形打印二叉树,栈+队列,根节点设为第0层/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};*/class Solution {public: vector<vector<int> .

2020-08-31 19:51:01 92

原创 剑指offer_37变形的二分法

题目描述统计一个数字在升序数组中出现的次数。class Solution {public: int GetNumberOfK(vector<int> data ,int k) { int first=binaryseachfirst(data,0,data.size()-1,k); int last=binaryseachlast(data,0,data.size()-1,k); if(first==-1&&amp.

2020-08-26 14:13:10 130

原创 剑指offer35_归并排序求逆序对

题目描述在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007输入描述:题目保证输入的数组中没有的相同的数字数据范围:对于%50的数据,size<=10^4对于%75的数据,size<=10^5对于%100的数据,size<=2*10^5示例1输入复制1,2,3,4,5,6,7,0输出.

2020-08-26 11:44:47 88

原创 剑指offer29_topK问题快排方式解决

题目描述输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。class Solution {public: vector<int> GetLeastNumbers_Solution(vector<int> input, int k) { vector<int> res; if(input.size()<=0) return res; ...

2020-08-25 14:11:37 93

原创 剑指offer27_字符串全排列加字母序排列

输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则按字典序打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。class Solution {public: set<string> res;//set去重加排序 void swap(vector<char>& a,int x,int y){//交换char数组中的元素位置,参数引用 char temp=a[x];

2020-08-25 11:18:51 100

原创 替换空格

题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。class Solution {public: void replaceSpace(char *str,int length) { string st=str;//char*转为string string temp; for(int i=0;i<st.length();i++)

2020-08-19 16:48:50 95

转载 LGBM和XGB并行对比

1)特征并行lgbm特征并行的前提是每个worker留有一份完整的数据集,但是每个worker仅在特征子集上进行最佳切分点的寻找;worker之间需要相互通信,通过比对损失来确定最佳切分点;然后将这个最佳切分点的位置进行全局广播,每个worker进行切分即可。xgb的特征并行与lgbm的最大不同在于xgb每个worker节点中仅有部分的列数据,也就是垂直切分,每个worker寻找局部最佳切分点,worker之间相互通信,然后在具有最佳切分点的worker上进行节点分裂,再由这个节点广播一下被切分到左右节.

2020-08-05 13:52:52 2594

转载 回溯题解方法

学好算法全靠套路,认准 labuladong 就够了。读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目:78.子集46.全排列77.组合-----------今天就来聊三道考察频率高,而且容易让人搞混的算法问题,分别是求子集(subset),求排列(permutation),求组合(combination)。这几个问题都可以用回溯算法模板解决,同时子集问题还可以用数学归纳思想解决。读者可以记住这几个问题的回溯套路,就不怕搞不清了。PS:我认真写了

2020-07-29 10:47:14 323

原创 之字形打印二叉树

/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};*/class Solution {public: vector<vector<int> > Print(TreeNode* pRoot) {.

2020-07-28 23:05:10 180

转载 L1、L2正则化的原理和目的

https://blog.csdn.net/LuckyJune34/article/details/54599655

2020-07-22 15:25:11 668

原创 TCN和GCN

TCN这里有个博客写的很不错:https://www.cnblogs.com/USTC-ZCC/p/11734436.html

2020-07-10 14:35:07 1568

原创 cannot import name ‘joblib‘ from ‘sklearn.externals‘

保存模型时from sklearn.externals import joblibjoblib.dump(clf, 'model.pkl',compress=3)报错cannot import name 'joblib' from 'sklearn.externals'这是sklearn的版本的问题,最新版本需要pip install joblib

2020-07-07 19:59:45 844

原创 TypeError: ‘dict_keys‘ object is not subscriptable

这是因为在python3中keys不允许切片,先转List再切片就好了示例: 将下行的代码:firstStr = inputTree.keys()[0]转为:firstStr = list(inputTree.keys())[0]即可

2020-07-07 19:52:00 515

原创 构造时间序列特征训练数据集时的几个trick

1、评价指标RMSE/MAPE/MSE/MAE计算RMSE/MAPE2、

2020-07-07 10:59:28 1223

原创 几个dataframe的小trick

1、获取属性行id_list=df.columns.values.tolist()2、两个dataframe合并,之后可以删除有空值的行,或者删除有重复的行df3=pd.merge(df1,df2,how='left',on=['id'])norepeat_df = df3.drop_duplicates(subset=['id'], keep='first')nonan_df = norepeat_df.dropna(axis=0, how='any')3、object列转变为i.

2020-06-28 15:02:32 304

原创 dataframe将其中两列分别处理成行索引和列索引

如题所述,我们的目标是将含有三列的dataframe中的两列分别处理成行索引和列索引,第三列则是(行索引,列索引)对应位置的值。dataframe设为df1,其中三列分别为date,id,cntdate id cnt 2020-03-03 00:00:00 000001 7 2020-03-03 01:00:00 000002 4 2020-03-03 02:00:00 000003 9 2020-03-03 03:00:00 .

2020-06-24 10:26:04 2029

原创 dataframe分组之后删除满足某一条件的分组

数据预处理的时候可能会遇到有些分组空值或者稀疏值比较多的情况,这个时候可以删除这些分组以保持数据的平衡性。我自个找了半天没找到直接删除分组的函数,搞了半天搞了下面这个方法,反正是笨方法了。dataframe有两列,一列是分组依据,名称为id,另一列是cnt,需求是以id分组之后,删掉分组的cnt之和小于10的组。首先拷贝一下dataframe:df1=df然后对df1处理,设置新的index:df1=df1.set_index('id')别忘了将所有的id放到list或者arra

2020-06-23 16:55:00 2481

原创 dataframe分组之后填充空值(nan)

可以用df=df.fillna(0)直接填充相应的数值,也可以填充均值、中位数等值,具体操作如下(待补充)

2020-06-23 16:01:09 2245 1

原创 dataframe处理得到标准时间列(年-月-日 时:分:秒)

已有的dataframe中有两列,一列是date(dtype=object),一列是hour(dtype=int64),如下:date hour 2020-03-13 4 2020-03-13 21 2020-03-13 5 2020-03-13 17 处理方式:data['date_hour']=data['date'].map(str)+' '+data['hour'].m

2020-06-23 15:59:12 2440

原创 TypeError int object is not callable原因

这是由于你的自定义名字和函数名重复了

2020-06-15 10:23:19 365

原创 本地jupyter远程连接服务器

第一步:生成证书openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mycert.pem -out mycert.pem第二步:生成秘钥和配置文件:进入IPythonIn [1]: from notebook.auth import passwdIn [2]: passwd()Enter password:xxxx # 这个是自己输入的密码,后面要用这个登录Verify password:xxxxOut[2]: '

2020-06-11 18:22:36 401

原创 conda安装pytorch

我的服务器不支持cuda所以安装时命令为:conda install pytorch torchvision cpuonly -c pytorch如果想用清华镜像源,那么可以把-c pytorch去掉,可以加速

2020-06-11 15:08:42 121

原创 pytorch实现mnist分类

#!/usr/bin/env python3# -*- coding: utf-8 -*-"""Created on Tue Jun 9 19:40:53 2020@author: """import torchvisionfrom matplotlib import pyplot as pltimport torchfrom torchvision import datasets, transformsfrom torch.autograd import Variable#.

2020-06-10 14:19:54 616

原创 np.tile()用法

from numpy import *a=array([1,2,3])b=tile(a,(2,3,4))print(b)[[[1 2 3 1 2 3 1 2 3 1 2 3] [1 2 3 1 2 3 1 2 3 1 2 3] [1 2 3 1 2 3 1 2 3 1 2 3]] [[1 2 3 1 2 3 1 2 3 1 2 3] [1 2 3 1 2 3 1 2 3 1 2 3] [1 2 3 1 2 3 1 2 3 1 2 3]]]括号从外到内进行复制相应的倍数.

2020-06-09 09:56:04 276

原创 Mac环境下创建anaconda新环境遇见httperror

原来用的Windows这个问题基本很容易解决,换了Mac之后一开始也是修改镜像,改为清华镜像,清华镜像应该已经跟anaconda协商好了,是可以用的。遇到一系列问题,最终我的.condarc文件中的内容如下:好吧好像还是出现httperror,我打算离线创建环境,先输入命令:conda config --set offline true然后开始创建环境:conda create -n py37 python=3.7这样是可以创建成功的,但是里面安装包都是要下载再安装的,好像比较麻烦。此时

2020-06-04 14:50:17 261

原创 *args和**kwargs

def test(a, *args, **kwargs): print a print args print kwargsif __name__ == "__main__": test(1, 2, 3 , d='4', e=5)# 输出1(2, 3){'e': 5, 'd': '4'}

2020-05-21 17:08:44 80

原创 训练和测试样本的时候出现过的一个错误

请勿对测试数据进行训练。 如果评估指标取得了意外的好结果,则可能表明不小心对测试集进行了训练。例如,高准确率可能表明测试数据泄露到了训练集。例如,假设一个模型要预测某封电子邮件是否是垃圾邮件,它使用主题行、邮件正文和发件人的电子邮件地址作为特征。我们按照 80-20 的拆分比例将数据拆分为训练集和测试集。在训练之后,该模型在训练集和测试集上均达到了 99% 的精确率。我们原本预计测试集上的精确率会低于此结果,因此再次查看数据后发现,测试集中的很多样本与训练集中的样本是重复的(由于疏忽,我们在拆分数据之前

2020-05-10 13:45:01 531

原创 深度学习面试题

https://www.cnblogs.com/hellojamest/p/11178803.html

2020-05-08 17:04:35 169

原创 GBDT和XGBoost区别

https://www.cnblogs.com/fujian-code/p/9018114.html

2020-05-08 15:24:27 187

原创 GBDT学习

GBDT用到CART回归树而不是分类树GBDT的通俗理解GBDT算法过程和实例介绍​​​​​​​

2020-05-08 14:59:22 143

原创 SVM和LR的损失函数的区别

https://zhuanlan.zhihu.com/p/28036014关于SVM有一句话是说距离超平面较远的点直接为0,这个意思是说分类正确的为0;关于LR有一句话是说减小距离较远的点的权重,是指(1-yi)和yi这个式子,距离较远则表示分类越正确,1-yi和yi越接近0;总之:lr 采用的交叉熵 loss 和 svm 采用的 hinge loss function思想都是增加对...

2020-05-07 17:41:52 309

原创 损失函数代价函数和目标函数

https://blog.csdn.net/qq_28448117/article/details/79199835搞这么多名堂有什么用

2020-05-07 17:18:46 129

原创 SVM的核函数的理解

https://www.cnblogs.com/hezhiyao/p/7238500.html只知道从低维到高维的映射,之前用的时候也没想那么多,还是一知半解

2020-05-07 16:04:41 148

train_model_meigandu.rar

自己训练的pspnet模型和相关代码,其中主要是关于图片的语义分割模型和最终的cpu上跑的xgb模型

2020-05-22

meigan_model.rar

三个模型的预训练模型,主要用于自己博客代码的方便调用,这个博客里的代码是私密的,所以不会传播出去,希望可以通过审核

2020-04-13

xgboost-0.90-cp36-cp36m-win_amd64.whl

用于实现机器学习的各种模型,调用安装包,配备本篇文章的步骤进行安装即可

2019-10-08

knn解答过程和其中三个question的答案

打开网页之后可以看到整个解题流程,附加三个inline question的答案,另外没有将两层循环、一层循环和无循环的代码贴上去,都比较简单,读者可以自己网上找这三个程序的代码

2019-09-23

Manuscript.pdf

脑机文章,主要介绍脑电信号控制机器人的相关技术和实现方法,同时再看一些其他文章用以学习

2019-08-01

柯西_施瓦茨不等式证明

主要对高等数学中的柯西施瓦茨不等式进行讲解证明过程以及用法

2018-08-20

解决140.dll缺失问题

VCRUNTIME140.dll和MSVCRP140.dll缺失问题的解决,可以在官网下载,也可以在这里下载

2018-07-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除