自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(300)
  • 资源 (4)
  • 收藏
  • 关注

原创 GoogleNet总结

目录(1)GoogleNet(InceptionV1)(2)GoogleNet中的结构单元(3)InceptionV2(BN-Inception)(4)InceptionV3(分解卷积)(5)InceptionV4,Inception-ResNet(1)GoogleNet(InceptionV1)GoogleNet是用以上的结构单元搭建的,含有两个辅助输出分支。训练时,辅助输出的结果也按一定比例加到损失函数中,而推理时则只留主输出,去掉辅助输出分支后,网络计算量大大降低。辅助输出分支的存在提高了网络训练

2021-04-12 11:17:50 8

原创 感受野知识点总结

VGG论文中提出的几个结论:

2021-04-11 15:26:26 11

原创 onnx2caffe:KeyError: ‘broadcast‘

onnx的 opset version> = 7的gemm函数已经去掉了broadcast参数,而onnx2caffe的_operaters.py文件中是按照opset version< 7的方式进行的转换,所以如果你的onnx版本比较新的话就会报如题所示错误,解决方法:将含有这个参数的判断条件中的相关条件去掉即可,例如:if node.attrs["broadcast"] != 1 or node.attrs["transB"] != 1:直接修改为:if node.attrs["t

2021-04-08 16:31:08 7

原创 caffe支持的所有op(层)

如下所示:self._op_converters = {'Input': self.convert_nop,'Convolution': self.convert_conv2d,'Deconvolution': self.convert_deconv2d,'Eltwise': self.convert_elementwise,'Add': self.convert_add,'ReLU': self.convert_activation,'TanH': self.convert_activat

2021-04-07 22:05:46 10

原创 Pytorch中nn.Conv2d的dilation

dilation原文解释如下:controls the spacing between the kernel points; alsoknown as the à trous algorithm. It is harder to describe, but this link_has a nice visualization of what :attr:dilation does.原文中也说描述起来有些难度,就是卷积核的各元素间隔开,默认间隔大小为1。如下图所示:...

2021-04-06 22:31:41 15

原创 tensorflow2.2中定义的ResNet和ResneXt中的bottleneck结构

目录1、论文中提出的ResNet网络结构2、tensorflow中的三种ResNet或ResNeXt结构单元2.1、第一种结构单元2.2 第二种结构单元2.3 第三种结构单元1、论文中提出的ResNet网络结构tensorflow的Keras高级API中定义了50,101和152层的ResNet和ResNeXt,其中的bottlenect结构的实现在后面介绍。ResNet论文中提出的50,101和152层结构如下图所示:可以发现,ResNet网络结构中的五个stage分别将feature map尺

2021-04-05 17:29:58 22 1

原创 记录Ubuntu18.04-cuda10.1-opencv4配置caffe过程

目录1、安装前环境2、准备工作2.1 必要依赖2.2 安装python3-numpy2.3 安装HDF53、安装caffe3.1 下载caffe3.2 编辑Makefile.config3.2.1 取消下面几行注释3.2.2 修改Python版本3.2.3 CUDA_ARCH修改3.2.4 将以下几行注释去掉,并修改值为13.2.5 opencv4相关的修改3.3 进行编译4、测试5、编译pycaffe1、安装前环境cuda10.1Ubuntu18.04Python==3.7opencv42

2021-04-02 16:16:18 21 1

原创 TypeError: ufunc ‘true_divide‘ output (typecode ‘d‘) could not be coerced to provided outp

图片预处理经常用到的一句代码:…… if mode == 'tf': x /= 127.5 x -= 1. if x.ndim == 3: x = np.expand_dims(x, 0) return x if mode == 'custom': x /= 255 if x.ndim == 3: x = np.expand_dims(x

2021-04-01 16:19:32 16

原创 BF16格式数据

BF16是一种相对较新的浮点数格式,又叫BFloat16或Brain Float16,可以说是专为深度学习创造的。深度学习中一般不需要FP64,FP32这种高精度的浮点格式。虽然这两种浮点格式数据精度高,但也增加了存储成本和处理过程中的时间成本。如果有一种数据格式能解决FP64,FP32这两种数据格式的这两个缺点,同时又能满足一定的精度要求,那无疑会大大提高深度学习模型的推理速度和部署灵活性。这种数据格式就是BF16,使用BF16算法的预测精度与FP32相似,但不如FP32精确(谷歌曾说过,这是因为神经

2021-03-31 22:33:42 10

原创 Pytorch中loss计算解析

下面是一段Pytorch分类案例代码:running_loss = 0.0running_corrects = 0# Iterate over data.for inputs, labels in dataloaders[phase]: inputs = inputs.to(device) labels = labels.to(device) # zero the parameter gradients optimizer.zero_grad() # forward #

2021-03-28 16:52:41 33

原创 yolov4中的route和shortcut层

1、shortcut层shortcut层的输入层一般是两个(目前还没出现多余两个的情况),实现两个张量相加,例如:对应的cfg文件中的层为:#4[convolutional]batch_normalize=1filters=64size=1stride=1pad=1activation=mish#5[convolutional]batch_normalize=1filters=32size=1stride=1pad=1activation=mish#6[convol

2021-03-23 23:00:58 75

原创 修改pytorch和Keras预训练模型路径

目录1、Pytorch预训练模型路径修改2、Keras修改预训练模型位置1、Pytorch预训练模型路径修改Pytorch安装目录下有一个hub.py,改文件指定了预训练模型的加载位置。该文件存在于xxx\site-packages\torch,例如我的存在于“C:\ProgramData\Miniconda3\Lib\site-packages\torch”。打开hub.py文件,找到load_state_dict_from_url函数,其中第二个参数model_dir用于指定权重文件路径:mod

2021-03-23 16:16:46 24

原创 特征金字塔网络总结

CV方向的特征金字塔经历了Featurized image pyramid、Single feature map、Pyramidal feature hierarchy和Feature Pyramid Network(YOLOv3)发展过程。到目前,涌现出了像GFM(ThunderNet)和EFM(CSPNet)等表现更优秀的特征金字塔模型....

2021-03-21 10:12:25 59

原创 牛顿法和最优化

牛顿法最早的应用是求解方程的根,先来张直观的动图说明求解过程:开始时,先找一个离f(x)零点比较近的点x0,然后做出穿过(x0,f(x0)),且斜率为f(x0)’的直线(即f(x)在x0处的切线),该直线与x轴交点的位置将比x0更接近f(x)零点;然后重复上一步的操作,这样得到的f(x)的切线与x轴交点将会离f(x)零点越来越近,当误差或迭代次数达到一定条件,我们就得到了满足需要精度的f(x)=0解。下一个点与当前点的关系满足:Xn+1 = xn - f(xn)/f’(xn) 【1】*

2021-03-15 10:29:02 18

原创 常见的类别型数据列编码方法汇总

目录1、OneHotEncoder2、 LabelEncoder3、LabelBinarizer4、pandas.get_dummiespython数据分析和建模过程中,常见的类别型数据编码方法有OneHotEncoder, LabelEncoder , LabelBinarizer,pandas.get_dummies。下面逐一介绍。1、OneHotEncoderOneHotEncoder既可以对字符串型变量或数值型变量进行编码(旧版可能只能对数值型变量进行编码)import pandas as

2021-03-12 14:48:12 83

原创 TypeError: cannot perform std with type Sparse[float64, 0.0]

使用pandas.get_dummies()函数处理完,再用X[i].std()处理出现如题所示错误,原因是pandas.get_dummies()中的参数sparse被设置成了True,std()函数不能处理稀疏矩阵。默认情况下,pandas.get_dummies()的sparse参数是False,转换时保持默认即可。...

2021-03-12 14:01:39 12

原创 多种方法判断某个值是否在一个有序的二维数组中

1、问题描述最近遇到一个问题,给出一个有序的二维数组(方阵)(有序指的是对于每一行和每一列元素都是逐渐增大的),然后让你用最快的方法判断某个值是否在这个数组中,如果存在则返回True,反之返回False。例如给出的有序数组如下所示:array = [[1,2,3], [4,5,6], [7,8,9]]让你判断4是否出现在数组中。2、不考虑矩阵特点的算法(三种)解决这个问题的方法有很多,如果不考虑二维方阵本身是有序的特点,那你至少应该想到以下方法:def find

2021-03-11 10:26:45 30

原创 Xgboost自定义目标函数

(1)xgboost中自定义目标函数的参数传入顺序自定义的xgboost目标函数传入的第一个参数是预测值,第二个参数是真实值,这个顺序与gridSearchCV函数的scorning参数对应自定义目标函数正好相反,需要注意。(2)示例及用法举几个xgboost中自定义目标函数: def customedscore(preds, dtrain): label = dtrain.get_label() pred = [int(i>=0.5) for i in preds]

2021-03-07 17:01:01 50

原创 python同时随机排序多个数组

方法一: np.random.shuffle (无返回值,直接将原数组重新随机排序)state = np.random.get_state()np.random.shuffle(train)np.random.set_state(state)np.random.shuffle(label)方法二: 返回一个打乱的index列表,可将其用于多个数组的按同一随机顺序进行排序shuffle_ix = np.random.permutation(np.arange(len(train_data)))

2021-03-03 16:13:49 60 2

原创 numpy数组展开方法

res = arr.flatten(order="C") #按行展开 C风格展开res = arr.flatten(order="F") # 按列展开, F 风格展开res = arr.ravel() # 按行展开 C风格展开res = arr.ravel(order=‘F‘) # 按列展开 ,F 风格

2021-03-03 16:03:57 76 1

原创 “ValueError: zero-size array to reduction operation maximum which has no identity”解决方法

出现如题错误原因是要处理的numpy数组为空(size=0),不适应于当前操作,解决办法:找到出错的那行代码,检查相关numpy操作的对象数组是否为空。需要注意的是,有些三方包底层也是调用的numpy方法(如matplotlib和pandas中的一些方法),这个时候即便是没直接使用numpy中的方法也可能出现如题所示错误。举个例子:错误代码:np.min(np.argwhere(array_ == num))以上代码,如果array_中不含有等于num的元素,则np.argwhere(array

2021-03-02 19:14:17 101

原创 Ubuntu重新挂载home

安装系统后,有时会觉得home分区大小不合适,可以重新选择大小合适的分区重新挂载。(1)分出要挂载的分区用系统自带的工具:然后查看刚分出的分区设备号:sudo fdisk -l输出:设备 起点 末尾 扇区 大小 类型/dev/sda1 2048 1230846 1228799 600M EFI 系统/dev/sda2 1230848 763710409 762479562 363.6G Microso

2021-02-23 22:55:57 67

原创 ubuntu18.04 安装搜狗输入法时Manage Installed Language打不开

难道是我装系统时没选择中文,或者是我把系统自带的Python3.6换成了Python3.7,具体原因不详。解决办法是:第一步:sudo apt-get install -fsudo apt-get install fcitx-table-wbpy第二步:确保语言支持包安装完全:sudo apt install $(check-language-support)...

2021-02-23 14:12:34 85

原创 ubuntu安装tensorflow2.1、2.2、2.3、2.4

不知你是否有这种经历,新系统转好后,安装不了tensorflow2.1以后的版本,提示找不到对应的版本,而此时tensorflow2.4都已经有了。如何安装tensorflow2.1以后的版本?第一步:升级pip和setuptoolpip3 install --upgrade pippython3 -m pip install --upgrade setuptools第二步:安装tensorboardpip3 install tensorboard这一步会安装grpcio,如果安装失败,

2021-02-22 22:03:20 86

原创 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用)

smy@smy:~$ sudo apt install tuxboot gksu kdesudoE: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用)E: 无法获取 dpkg 前端锁 (/var/lib/dpkg/lock-frontend),是否有其他进程正占用它?老问题又出现了,解决办法如下:sudo rm -r -f /var/lib/dpkg/lock-frontend如果还是报错:E: 无法获得锁 /var/lib/dpk

2021-02-20 20:50:21 11

原创 python产生不重复随机数

目录方法一方法二方法一import randomimport numpy as nprange_ = list(np.linspace(1,20,20,endpoint=True, dtype=int))random.sample(range_,10)输出:方法二from numpy.random import default_rngrng = default_rng()a = np.arange(1,21)print(a)index_ = rng.choice(a, siz

2021-02-13 22:13:33 65

原创 scipy.signal.peak_prominences解析

函数格式:scipy.signal.peak_prominences(x, peaks, wlen=None)[source]一个波峰的prominences指的是:The prominence of a peak measures how much a peak stands out from the surrounding baseline of the signal and is defined as the vertical distance between the peak and its

2021-02-09 23:22:30 61 2

原创 CSPNet论文笔记

论文地址:https://arxiv.org/pdf/1911.11929.pdf开源代码:https://github.com/WongKinYiu/CrossStagePartialNetworks作者提出Cross Stage Partial Network (CSPNet)来降低网络架构所需的算力。神经网络的计算量大很大程度上是由于在网络优化过程中出现的重复梯度信息导致的。作者提出的网络架构可以在降低约20%准确度的情况下维持和原网络架构相同甚至高于原网络架构的准确度。CSPNet这种架构思想

2021-02-07 13:25:54 75 2

原创 Jupyter NotebooK去掉警告

import warningswarnings.filterwarnings("ignore")

2021-01-21 16:56:56 32

原创 dataframe中类别列转数值列

首先,查看该列都有哪几类:encoded_list=['状态','到达状态','生产制度','运行制度','截断阀状态']status_list=[]for i in encoded_list: status_list.append(Counter(df_i[i]))status_list然后,提供两种方法将类别列转为数字1、方法一:map()方法status_OC_mapping = { '关': 0, '开': 1

2021-01-20 15:50:46 56

原创 pandas学习笔记------set_index()

pandas中set_index方法是专门用来将某一列设置为index的方法。它具有简单,方便,快捷的特点。主要参数:keys:需要设置为index的列名drop:True or False。在将原来的列设置为index,是否需要删除原来的列。默认为True,即删除(Delete columns to be used as the new index.)append:True or False。新的index设置之后,是否要删除原来的index。默认为True。(Whether to append

2021-01-20 14:18:08 64 4

原创 tf.round()

tf.round()与np.round()不同,不是一般的四舍五入取整,而是“四舍六入五取偶”,也即:当小数部分小于0.5,则舍去;当小数部分大于0.5,则进位;当小数部分正好为0.5,此时要看整数部分是奇数还是偶数,如果为奇数,则小数部分进位,得到比原来整数部分大1的偶数;如果为偶数,则直接舍去小数部分。示例:import tensorflow as tfx = tf.constant([0.7, 2.51, 2.3, 1.43, -4.5, 3.5])tf.round(x)输出:

2021-01-19 09:32:34 31

原创 numpy中不同维度矩阵的加减和卷积操作

项目中经常遇到不同维度矩阵的加减操作,规则如下:(1)进行加减操作的两个矩阵最后一个维度要相同或其中一个矩阵的最后一个维度元素数为1a=np.array([[1,2],[3,4]])print(a.shape)b=np.array([[[7,8],[8,9]], [[7,8],[8,9]]])print(b.shape)print(b-a,(b-a).shape)print('==============11111===============')a=np.array(

2021-01-16 17:30:16 338

原创 解决cannot import name ‘CuDNNLSTM‘问题

tensorflow.keras.layers中有两个关于LSTM的高级API:CuDNNLSTM和LSTM,从名字就可以看出CuDNNLSTM是为使用CUDA并行计算设计的,加速效果从几倍到几十倍。Tensorflow2.0以上版本在导入CuDNNLSTM会报如题所示错误,改为以下方式导入即可:from tensorflow.compat.v1.keras.layers import CuDNNLSTM as LSTM...

2021-01-15 20:44:18 501

原创 数据分析中判断数据类型常用方法汇总(pandas)

目 录1、空值判断2、其他数据类型判断2.1 判断Serise或DataFrame中某一列的数据类型2.2 利用np.issubdtype()判断Serise或DataFrame中某元素的类型参考文献:1、空值判断判断数据是否为空值的常用函数有:pd.isna(),pd.isnull(),np.isnat()和np.isnan(),四种方法用于判断的数据类型如下表所示:注意:1、判断某个值是否空值,将该值传给相应函数即可,如pd.isna(input_data)、np.isnan(np.

2021-01-13 22:58:02 169

原创 求两个列表的交集、并集和补集

1、求交集a = [3, 4, 5, 6]b = [1, 4, 6, 8]#以下几种方法是等效的results_1= [x for x in b if x in set(a)]print('results_1:',results_1)results_2= list(set(a) & set(b))print('results_2:',results_2)results_3= list(set(a).intersection(b))print('results_3:',results

2021-01-13 22:22:48 140

原创 pandas学习笔记----日期时间类型数据运算

有些项目需要计算日期或时间差,利用pandas可以方便的实现。例如有一字符串类型的日期时间列表interval,要计算列表中所有如期时间与指定日期时间的时间差:import pandas as pdinterval=pd.to_datetime(interval_time)print(type(interval))se_interval=pd.to_datetime('1970-01-01 08:00:00')print(type(se_interval))time_inter=(inter

2021-01-12 16:42:01 52

原创 np.r_和np.c_用法解析

numpy中np.r_和np.c_用于矩阵操作,具体来说:np.r_是按列连接两个矩阵,就是把两矩阵上下相加,要求列数相等。np.c_是按行连接两个矩阵,就是把两矩阵左右相加,要求行数相等。举例:import numpy as npa=np.array([1,2,3]) #注意这两个矩阵的形状是(3,),不是(1,3),[[1,2,3]]这个矩阵的形状才是(1,3)b=np.array([4,5,6])print(a.shape)print("=======================

2020-12-30 23:03:30 43

原创 解决TypeError: No conversion path for dtype: dtype(‘<U39‘)错误

在将数据写入h5文件时,出现了如提所示错误,发现写入数据包含字符串时就会报这个错误。目前有两个解决方法,一个是将字符串型数据保存到其它格式文件,如pickle文件,txt等;另一种是将字符串数据进行转换,然后再写入h5文件:img_dir_name_list_encode=[]for j in img_dir_name_list: img_dir_name_list_encode.append(j.encode())使用时(h5文件取出后),再转换一下就可以了:img_dir_name

2020-12-23 16:51:28 201

原创 修改numpy array的数据类型

目录1、numpy数据类型2、改变numpy array数据类型1、numpy数据类型数据名称说明bool布尔类型,true,falseint_默认的整数类型(类似于 C 语言中的 long,int32 或 int64)intc与 C 的 int 类型一样,一般是 int32 或 int 64intp用于索引的整数类型(类似于 C 的 ssize_t,一般情况下仍然是 int32 或 int64)int8字节(-128 to 127)int16

2020-12-23 16:42:24 270

HexEditor64位.rar

Github最新的64位HexEditor.dll插件,已测试,可正常使用,用于查看二进制和十六进制文件。 使用方法: 在Notepad++安装目录中的plugins文件夹下创建一个文件夹,例如“HexEditor”,将dll文件放进去即可。

2017-05-17

飞行仿真气动力数据机器学习建模方法(作者-中国航天空气动力技术研究院-王超等)

这篇文章主要讲了机器学习在CFD(计算流体力学)领域的跨学科应用,研究方法和角度值得学习,具体内容:基于机器学习思想,提出了一种大空域、宽速域的气动力建模方法.该方法利用飞行仿真弹道数据辨识的气动力数据,采用人工神经网络技术,实现了对高度、速度、姿态和舵偏角等多维度强非线性特性的全弹道气动力数据的高精度逼近.

2019-08-20

自己编写的BP神经网络解决异或问题代码

自己编写的BP神经网络解决异或问题代码,该代码注释了自己的编程体会,使用了最少的隐含层神经元解决异或问题,很适合新手对BP神经网络的理解。

2019-04-06

MNIST_原始图像数据集.rar

MNIST手写数字数据集,包括训练集和测试集两部分,训练集和测试集的标签分别在train_lables.txt和test_lables.txt两个文件中,序号与手写数字图片相对应,导入后可以转化为相应矩阵。该文档可用来练习制作自己的数据集过程。

2019-08-20

空空如也

空空如也

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

TA关注的人 TA的粉丝

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