自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

落日之城

‘’如果有一天我们淹没在茫茫人海中庸碌一生,那一定是我们没有努力活得丰盛。”

  • 博客(439)
  • 资源 (5)
  • 论坛 (5)
  • 问答 (1)
  • 收藏
  • 关注

原创 matlab之常用命令整理(持续更新中...)

deal 输入分发到输出相当于是多个等式的集合。 比如[Y1, Y2, Y3, ...] = deal(X1, X2, X3)等价于Y1 = X1;Y2 = X2;Y3 = X3;diff 差分diff可以做差分,也就是离散序列的求导。 差分往往可以用在平滑信号,让不平稳的信号经过多次差分来变得平稳(即在某一值附近波动),也可以利用这种特性进行奇异值检测...

2018-04-20 12:54:13 3828

原创 matlab画热度图

这里的热度图指一个二维矩阵, 每个矩阵元素代表了当前热度的大小. 如果已经直到第一维和第二维代表的意义, 就可以直接画该热度图了.假设该矩阵为A, 第一维是f, 第二维为t用mesh命令[X,Y] = meshgrid(t,f); %设定每个元素的坐标mesh(X,Y,A) % 画图xlim([t(1),t(end)]) % 去掉白边这时画出来的是三维图如果需要变成俯视图, 需要加入如下命令:view(90,0)mesh是用来画网格的. 网格线有颜色, 面无颜色. 但是这里矩阵比

2021-09-07 22:06:48 501 1

原创 Matlab之classification learner app无法从workspace导入label (response variable)

在classification learner导入数据时, label可以自动从原始数据里选择一列, 也可以手动从workspace里选择. 但是今天选择的时候发现选项是灰色的, 无法选择.研究了一下发现matlab默认你一次性导入所有数据, 所以label里必须有所有的类别, 不可以每次只导入一部分数据. 所以matlab会自动检查你label里的类别, 如果只有一种, 那么就认为这不是一个label文件. 所以在导入的时候要把所有类的samples和label合并在一起之后再导入....

2021-08-30 11:04:43 8

原创 Latex之在ACM模板里显示页码

put\settopmatter{printfolios=true}before \maketitle.

2021-08-25 19:12:27 9

原创 Matlab画切分信号后的竖直线

比如现在获得切分结果是segResult, 里面是[start1,end1,start2,end2,…];可以这样画:hold on% plot startstem(segResult(1:2:end),ones(1, length(segResult)/2)*max(signal),'Marker','none')hold on% plot endstem(segResult(2:2:end),ones(1, length(segResult)/2)*max(signal),'Marker'

2021-08-23 17:25:09 18

原创 给视频配上字幕(英语)

上传视频到youtube, 设置为私享. 设置字幕语言为英语.等待1~2小时, 点击视频链接, 观看视频是否出现自动字幕 如果没出现就再等会儿. 这个时间与视频的长度成正比.如果出现自动字幕, 把视频设置为不公开列出, 利用工具savebus下载字幕文件.在youtube后台上传该自动字幕, 进行校对.在后台下载校对后的字幕即可....

2021-08-15 15:19:47 27

原创 PR视频淡入淡出

交叉溶解在效果-视频过渡-溶解里直接把交叉溶解拖动到视频轨的开头或者结尾即可, 这也是最简单的方法.点击交叉溶解的部分可以设置过渡时间, 默认是1s.设置不透明度选中要设置的视频轨内的素材片段, 找到效果控件窗口, 不透明度.100%意为全透明, 也就是说原画面, 0%是全黑. 我们可以把游标滑倒开头, 设置不透明100%, 点击右边圈圈设置关键帧. 然后拉到想要恢复的位置, 设置100%, 即可.此方法不同的版本操作步骤大同小异, 但是理念是一样的, 不过还是推荐第一种方法....

2021-08-12 14:54:36 14

原创 [放遗忘]PR进行视频剪辑的两种办法

适用出入点和拖拽功能.导入素材新建序列点击视频素材,在需要保存的片段开头点击"标记入点", 在结束点击"标记出点".录制时在需要剪辑的部分可以用手势等进行"打板"来方便标记出入点5. 标记需要的片段后用中间的按钮拖到序列的视频轨和音频轨上去. (左边的视频, 右边时音频)6. 重复上述步骤即可. 必要的时候可以用剃刀工具进行修剪(见下面一种方法)利用剃刀工具进行剪辑(适用于同一个视频内拼接和修剪)把视频素材拖进序列的视频轨在不需要的片断标记入点和出点使用视频轨左

2021-08-10 15:25:01 19

原创 python之如何优雅的划分train_test_validation 数据?

我们知道skilean有一个train_test_split函数可以帮我们划分trian和test, 那么我们就可以通过这个函数间接完成train_test_validation的划分.from sklearn.model_selection import train_test_splitdef train_test_val_split(train_ratio = 0.8,validation_ratio = 0.1,test_ratio = 0.1,random_state): # rand

2021-08-02 15:03:26 47

原创 Keras如何应对无法一次性读入内存的大文件?

对于很小的数据集来说, 我们可以直接读进内存来训练模型:model.fit(x_train, y_train)那么如果数据量太大, 比如几十G, 该怎么办呢?什么是generator好在Keras的fit函数支持了generator. 我们可以分batch读取文件来进行训练, 达到节省内存的目的.网上很多介绍generator的文章都差不多过时了, 推荐python wiki.简单来说, 就是可以定义一个函数, 每次调用返回不会停止程序, 而是返回中间结果, 下次调用的时候会继续运行循环. 比

2021-08-02 11:23:22 20

原创 Keras之获取中间layer的output

大致有两种方法建一个新模型, output为那个layer使用K.function抽象出这个输出.先挖个坑. 详细见:Keras, How to get the output of each layer?

2021-07-23 20:14:30 15

原创 Keras之查看模型layer的层数

当模型很大的时候有时候需要查看模型某个layer对应的层数. 用model.summary()不大好使.可以用如下代码列举模型的层数:{i: v for i, v in enumerate(model.layers)}{0: <keras.layers.convolutional.Conv2D at 0x7f182bcd1710>, 1: <keras.layers.normalization.BatchNormalization at 0x7f1840981828>,

2021-07-23 20:04:07 63

原创 Keras之删除训练好model的layer

Sequential API建一个新model, 然后把旧model的layer一层一层加进去model = Sequential()for layer in source_model.layers[:-1]: # 最后一层 model.add(layer)model.add(Dense(3, activation='softmax'))model.summary()Functional API把原来model某一层的output直接接到新的model上.predictions

2021-07-23 17:01:38 61

原创 Keras保存复杂的model

Keras保存model的时候, 因为自定义的loss, metrics, lambda layer等总是会保存失败.写一个简单实用的方法: 保存model, 然后再需要用的时候先run代码, 建好model, 然后再导入weight. 省去不必要的麻烦.保存modelmodel.save('model.h5')把weight导入新modelnew_model.load_weights('model.h5')...

2021-07-23 16:52:22 58

原创 MATLAB之把多个小cell拼成一个数组

问题描述现有一个cell向量 L (90000,1),每个元素都是由一个(100X9)的double数组组成的.如图.其中, 每个cell元素都是一个单独的数据, 我们要把它转换成(90000, 19, 100)的三维数组.cell2mat, 但是所有的数据会堆叠起来L2=cell2mat(L); % (90000, 19)reshape, 变成三维数组reshape的原理是从上到下, 从左往右拆开重组. 目前只有19这一维数据与要求一致, 那就以这个为突破口.L2=L2'; %

2021-07-23 11:20:52 175

原创 Matlab之读取python的npy文件

可以借用npy-matlab库:b = readNPY('a.npy');另外如果需要python读取mat:Python之读取matlab v7.3 mat文件

2021-07-23 10:46:40 79 2

原创 Python之读取matlab v7.3 mat文件

python可以用from scipy.io import loadmat来读取mat格式文件.但是当mat很大的时候要存成v7.3格式的. 这时候可以用网友写好的mat73包来读取:pip install mat73

2021-07-23 10:15:07 67 1

原创 Keras loss/metrics类中的reduction type

以tf.keras.losses.MeanSquaredError为例:默认, 把所有值平均, 只返回一个值.SUM,把所有值加一起, 只返回一个值.NONE, 按最后一维的个数返回.

2021-07-22 16:59:57 19

原创 Keras: Cannot convert ‘auto‘ to EagerTensor of dtype float

看一下你自定义的loss function. 要先定义一个类, 再传入参数:loss=tf.keras.losses.MeanSquaredError(y_true,y_pred) #wrongm=tf.keras.losses.MeanSquaredError()loss=m(y_true,y_pred) #right

2021-07-22 16:54:37 36

原创 Cannot convert a symbolic Keras input/output to a numpy array TypeError

如果你自定义了loss, 出现了上述问题, 有三个解决办法:开头加上from tensorflow.python.framework.ops import disable_eager_executiondisable_eager_execution()编译时model.compile(...,experimental_run_tf_function=False) 在构建model之前del modelmodel = tf.keras.models.Model(inp, out

2021-07-22 16:51:55 204

原创 tf.keras.backend与keras.backend的区别

我们可以看到网上很多keras代码还是用K.xxxx来作为后端函数来写的, 而且很多都可以直接用tf调用.这是因为:K是以前tensorflow还没有成为keras的默认后端时定义的函数, 对于其他后端比如theano和MXNet都适用。现在很多函数tf与k都一致了。 有一小部分比tf实现的更好, 比如tf.keras.backend.batch_normalization 。 也有的是K独有的, 比如tf.keras.backend.set_learning_phase参考: Redundan

2021-07-22 16:37:14 49

原创 will not use cuDNN kernels since it doesn‘t meet the criteria

CUDNN运行是有一定的要求的:’Keras API里有这样的说法:Based on available runtime hardware and constraints, this layer will choose different implementations (cuDNN-based or pure-TensorFlow) to maximize the performance. If a GPU is available and all the arguments to the laye

2021-07-22 14:12:55 84

原创 Keras之layer: RepeatVector和TimeDistributed

Layer: RepeatVectorRepeatVector(10): 把向量复制10次. 比如原先的向量是(32, ) 之后就变成了(32,10)主要用于LSTM encoder. encoder得到的结果是一个一维feature向量, 但是decoder回去也是LSTM, 所以必须先重复10次当作是有时间步的, 才能输入decoder的LSTM中去.Layer: TimeDistributedTimeDistributed( Dense( 12 , input_shape=( 10 , 6

2021-07-19 11:13:50 134

原创 Matlab之放回抽样

以前写过一篇不放回的抽样, 详细见matlab之实现不放回随机抽样.那么如何实现放回的抽样呢? 有两个思路:A=[1,2,3]; % 在A中抽取idx=ceil(rand(1,k)*3); % k为采样次数B=A[idx]; % 抽样或者A=[1,2,3]; % 在A中抽取idx=(rand(1,k)*3); % k为采样次数idx=discretize(idx,(0:3));B=A[idx]; % 抽样...

2021-07-14 19:53:14 54

原创 Matlab之在live script里强制独立窗口画图

Matlab的live script可以直接在旁边的窗口里画图. 有时候我们想强制让它像原先的script那样直接在一个独立窗口里画图.第一种方法: 直接在文件上右键, 运行即可.第二种方法: 在画图的figure前添加:set(gcf,'Visible','on')...

2021-07-12 16:24:59 42

原创 Python之一维数组的探讨: 维度是(n,)还是(n,1)?

对于使用习惯matlab的人来说, 一维数组是一下很难理解的. 比如A=[1;2;3;4]这里的一维数组, 也可以说是4X1的二维数组.但是python里并不这么认为, python里规定, 一维数组就是一维, 维度是(4,)不存在说是特殊的一维那种情况. 相反地, python里规定了一个matrix类, 对应着二维数组, 而且指定定义二维. (现在已经不推荐使用, 而是推荐不管多少维都统一使用array类).因为对于数据处理来说, 很多情况下二维已经够用了. 所以matlab一般都是用二维.

2021-07-10 16:20:21 45

原创 Python之连接数组/List

连接array/listmatlab中如果连接两个维度相同的数组, 只需要用逗号或者分号即可, 如:C=[A,B]C=[A;B]但是在pyhon里如果用这种形式会生成新的list, 所以要用hstack或者vstack, 比如:C=np.hstack((A,B))C=np.vstack((A,B))当然也可以用np.append:C=np.append(A,B,axis=1)但是append不适用于俩个以上....

2021-07-10 15:56:29 22

原创 Keras之GaussianDropout vs. Dropout vs. GaussianNoise Layers

Dropout随机令某些node的权重置零.GaussianNoise为结果添加均值为0的加性噪声.GaussianDropout为结果添加均值为1的乘性噪声.注意, GaussianDropout虽然名字有dropout, 但是并没有起到dropout的功能.

2021-07-08 17:40:43 62

原创 Keras之 failed with error CUPTI could not be loaded or symbol could not be found

添加环境变量:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\version\extras\CUPTI\libx64以管理员身份重新打开脚本/IDE详细可以见Tensorflow CUDA - CUPTI error: CUPTI could not be loaded or symbol could not be found

2021-07-08 17:30:32 145

原创 matlab之矩阵转cell

矩阵转cell可以用mat2cell函数.C = mat2cell(A,[2 2],[3 2])意为把A变成[2X3],[2X2][2X3],[2X2]形式的四个cellC = mat2cell(A,[1,1,1])意为把A变成[1Xn][1Xn][1Xn]三个cell. 其中n为A的列数.详细请看文档.

2021-07-06 21:56:27 65

原创 Python之list, array的转换

list 2 array:np.array(list)array 2 list:tolist(array)

2021-07-06 17:12:01 10

原创 matlab之获取parfor循环内的变量

一般来说, parfor循环内的变量是不会保存的, 比如:parpool(3)parfor ii=1:3k=1;end运行后会发现k并没在变量空间中.如果要保存parfor内的变量, 需要首先给该变量赋初值, 然后在循环内修改该变量的元素.比如k=cell(1,3);parfor ii=1:3k{ii}=1;end我们就可以看到k=1×3 cell array {[1]} {[1]} {[1]}...

2021-07-05 22:09:09 80 1

原创 matlab之one-hot编码与解码

有时候需要用matlab处理数据喂给Keras, 需要对label做一下编码.编码A=[1,3,2,4,3,1]第一步把label变成稀疏编码的矩阵:>> ind2vec(A)ans = (1,1) 1 (3,2) 1 (2,3) 1 (4,4) 1 (3,5) 1 (1,6) 1然后在把矩阵变成完全矩阵>> B=full(ind2vec(A)

2021-07-02 19:17:41 29

原创 matlab之环减法

摘要有的时候某个数组可能有固定的含义, 是一个循环. 比如角度: [0,1,2,…,359].在做减法的时候就不能直接相减了, 比如0和359只相差了一度. 这个时候就需要环减法了.环减法问题定义确定问题内一共有多少个元素. 比如上述有n=360个元素. 因为所有元素组成了一个环, 所以他们之间最大的差为n/2=180.问题求解sub=abs(x1-x2); % 得到数值差sub_loop=360-sub; % 得到实际差总结环减法首先要确定一共有多少个元素n.环差=n-abs(x1

2021-06-25 15:47:15 26

原创 Matlab之生成随机数取不到端点值, 以及生成随机整数数问题

摘要matlab用rand来生成[0,1]之间的随机数. 如果需要生成特定范围内的随机数, 则需要先生成随机数, 再规约到特定范围的[a,b]之内. 但是需要注意的是, (matlab文档里也有讲明), 生成[a,b]之间随机分布的随机数, 理论上讲生成a,b的概率要和其他数相同, 但是实际上, 很难取到a,b两个值.本文内容有: 摘要生成1000个[0,4]的随机数生成1000个[0,4]的随机整数使用rand函数使用randi函数总结生成1000个[0,4]的随机数a = 0;b =

2021-06-25 11:18:04 48 1

原创 python画混淆矩阵 confusion matrix

sklearn.metrics.plot_confusion_matrix可以直接画混淆矩阵, 但是好像要传入sklearn的classifier.贴一个自己写的函数, 自己定义起来比较方便:def plot_confusion_matrix(cm, classes, normalize=False, title='Confusion matrix', cmap

2021-06-18 15:53:00 73

原创 Keras之target data的label编码格式探讨

Keras支持one-hot coding的编码方式, 也是output默认的方式.以单标签多分类问题为例,如果target data的编码是one-hot, 那么就按照常规教程里所说,loss用categorical_crossentropy, accuracy用accuracy或者categorical_accuracy.如果traget data的编码是integer vector, 如[1,2,4,3,5,0],那么loss用sparse_categorical_crossentropy,

2021-06-18 14:48:17 25

原创 NotImplementedError: Cannot convert a symbolic Tensor (LSTM/strided_slice:0) to a numpy array

numpy版本的问题.把numpy降到1.19.2即可.详情看这里.

2021-06-15 22:56:06 2280 11

原创 Keras之打印模型出错: Failed to import pydot. You must install pydot and graphviz for `pydotprint` to work.

安装pydot conda install pydot如果还出现上述错误, 重启spyder或者电脑即可.

2021-06-15 16:38:01 23

原创 Keras导入自定义metric模型报错: unknown metric function: Please ensure this object is passed to`custom_object‘

Keras的模型自定义了metric或者loss,在保存成后h5的时候没有问题, 但是在使用load_model导入的时候却会报错:unknown metric function: HammingScore. Please ensure this object is passed to the custom_objects argument.这是因为自定义的参数没有传递进去. 有两个解决办法:如果只需要做预测, 不再训练, 则可以直接加compile = False:model = ker

2021-06-12 20:41:02 838 4

cell2str.m

把一个cell向量转化为string向量 transform a cell vector to the string vector.

2019-12-12

分类器的性能指标,混淆矩阵,Accuracy与recall等

用于计算一个分类器的性能指标和混淆矩阵,指标有accuracy,error,precision,recall,F1等。直接调用函数,写入预测结果和实际结果即可。

2017-02-13

windows平台编译好的libsvm文件

windows平台编译好的libsvm文件,如果下载好的原装文件不行可以试试这个。但不保证都可以使用。建议最好自己再编译一下。

2018-12-26

IAR Embedded WorkBench注册机1.4,包含最近8051

IAR的注册机1.4版,非1,3,包含了最新的8051许可数据。亲测10.20.1有效。 使用教程可参考https://blog.csdn.net/zousy202/article/details/77920274

2018-07-02

eclipse汉化包

eclipse的汉化包,初次汉化可能有不完全的情况。

2013-12-07

Regnaiq的留言板

发表于 2020-01-02 最后回复 2020-01-02

两个表的联合查询问题

发表于 2017-11-11 最后回复 2017-11-12

一个关于转义字符的疑问。。

发表于 2016-03-16 最后回复 2016-03-18

请教各位,有几道题一直理解不了。。

发表于 2016-03-14 最后回复 2016-03-15

刚学数据结构,写了个顺序表,调试无误,但没法执行,求各位指点。。

发表于 2014-04-18 最后回复 2016-03-14

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

TA关注的人 TA的粉丝

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