自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 SAS:标记CRF时是否持续用ENRF还是ENRTPT?

针对时间点确定的,用- -ENRTPT标记,针对一段时间的,两种方式都可以,但是看IG中给出的关于AE的例子,最好是用- -ENRF展示,如果不持续,那么- -ENRF置空,如果持续,且在研究结束时仍持续,那- -ENRF=之后,否则- -ENRF=持续。对于有确定时间点的,可以用- -ENTPT规定相对时间点,比如- -ENTPT=<筛选期>,然后用ENRTPT标记结束时间点- -ENDTC是在筛选期之后还是之前;根据“是否持续”的时间是一个确定的时间点还是一个持续的时间段,确定用何变量标记。

2024-07-12 10:38:15 389

原创 SAS:quote函数合dhms函数

中间停药时的给药日期确定。

2024-06-28 13:34:39 123

原创 SAS:从零开始用proc report出人口统计学表

从SAS Help中可以看到inputc函数和input函数进行对比,input函数在编译阶段就执行,而inputc函数在运行阶段执行,所以input函数比inputc函数更快执行(其实适用于input/put函数和与之对应的表格中的四个函数中,因为在这四个函数的定义中都可以看到他们都是在运行阶段执行的)1、连续型变量(基线体重、基线身高等)需要展示例数、均值、中位值、最小值、最大值;1、putn、putc、put、inputn、inputc、input的区别。3、RTF中常用的格式设置。

2024-06-18 15:37:57 493

原创 SAS:PROC SQL和ANSI标准

在相同的作用域内有两个相同的dm的引用,DBMS与ANSI SQL标准完全一致,因此会检测到dm.xxx模棱两可。但是对于PROC SQL来说却不会觉得模糊,因为按照例1的逻辑,会首先对有别的的数据集进行匹配,所以这里的where条件实际上筛选到的是来自ae数据集中筛选号长度大于3的筛选号。where筛选等号右边的条件dm.subjid属于有别名d,用dm匹配(属于前2个步骤都没有匹配到,用第3个步骤才成功匹配),也就等价于。比如在例1中确保外部作用域和内部作用域有不同的别名。

2024-06-12 17:57:23 426

原创 SAS:coalescec函数和cmiss函数的应用及拓展

【代码】SAS:coalescec函数和cmiss函数的应用及拓展。

2024-06-10 08:42:37 277

原创 SAS:import进来的excel数据集中的空格无法去除

carriage return是回车符,line feed是换行符。那么回车符和换行符有何不一样呢?在word中用enter回车会看到自动到下一段落,而用shift+enter只是到新的一行。

2024-06-06 18:27:39 230

原创 SAS:什么时候用kcompress呀?

基于字节的偏移量假定字符的起始位置是字符串中字节的起始位置。对SBCS数据,一个字符的长度总是1个字节的长度,字符串中的第二个字符就在第2个字节处开始。为了准确使用K函数,需要理解基于字节(byte-based)的偏移量和基于字符(character-based)的偏移量(offset-length)。下图展示了以k开头的以及非k开头的substr函数和length函数,发现在UTF-8编码下,仅以k开头的函数能够截取成功。基于字节的偏移量是字符串中字节的数量,基于字符的偏移量是字符串中字符所在的位置。

2024-06-05 18:43:30 265

原创 SAS:如何截取字符串的后面三个字符

2、reverse函数。

2024-06-04 10:30:49 273

原创 SAS:从第二行读取excel数据

上面code为何错呢?按道理来说设置了datarow=2,getnames=yes,理论上第2行的将作为变量名,但为何变量名依旧是第一行的数据呢?当dbms换成excel又如何呢?

2024-05-31 18:10:06 324

原创 python从多个文件夹下读取不同文件夹下的所有照片

参考这篇博主写的两种方法的第二种我想实现的效果是从tes这个文件夹下面读取到所有文件夹中的图片,其中tes1和tes2中各包含两张图片,这里只读取打import osdef walk_files(path,endpoint=None): for root,dirs,files in os.walk(path): for file in files: file_path = os.path.join(root,file)

2020-11-22 17:32:28 3709

原创 colab执行人脸图像质量评价代码

想要跑通的代码还是来源于这篇文章:SER-FIQ: Unsupervised Estimation of Face Image Quality Based on Stochastic Embedding Robustness,论文的第四个实验部分讲到了来源代码:1https://github.com/davidsandberg/facenet2https://github.com/deepinsight/insightface其实这个数据集在今年前半年就下载下来保存在电脑上,但是一直没有跑通,直到上个

2020-11-22 17:27:49 601 1

原创 dropout及其他减少过拟合的方法(吴恩达视频笔记)

应用场景:网络存在过拟合,也即产生了高的方差。dropout会遍历每一层网络,并设置消除神经网络中节点的概率,比如这里3个隐藏层都设置了0.5的保留概率假如我们每一层都随机丢弃了以下神经元,然后删掉从该节点进出的连线,最后得到一个节点更少,规模更小的网络。对于每个训练样本,我们都将采用一个精简后的神经网络来训练它。inverted dropout反向随机失活我们用一个3层网络来展示如何实现反向dropout。首先,我们需要设置一个向量d3,它表示一个3层的dropout向量,d3 =

2020-10-30 15:39:00 766

原创 正则化(吴恩达视频笔记)

判断什么时候用到正则化理解深度学习中的偏差和方差之前,我们先来看一下数学定义:那么,在深度学习中,我们可以把偏差理解为预测值和真实值之间的差异程度,如果模型拟合效果是欠拟合的情况,正如左边的图展示的那样,很多的预测值都没有经过真实值,偏差很大;方差可以理解为预测值和预测平均值的差异程度,如果数据过拟合,如右图所示,每个拟合的预测值都恰好经过真实的点,偏差为0,但是每个预测值与平均值的差异很大,产生高方差;我们需要在高偏差和高方差之间找到一种折衷的办法,使得找到的模型正正好,不会产生高方差也不会

2020-10-30 13:26:34 267

原创 batch normalization(吴恩达视频笔记)

batch normalization会使你的参数更容易,使神经网络对超参数的选择更加稳定,超参数的范围会更庞大,工作效果也很好。其中在第三步的分母上加入ε是为了防止σ为0的情况,通过归一化,将z(i) 化为含平均值0和标准差为1,但我们不想让隐藏单元总是含有平均值0和标准差1,因为也许隐藏单元有了不同的分布会更有意义,所有有了第四步,其中γ和β是学习的参数,需要和权重一样更新参数,γ和β的作用是你可以随意设置。的平均值,如果γ等于三式的分母,而β=μ,那么它就完全等于z(i) 。每个隐藏层可以看

2020-10-30 10:37:35 154

原创 Adam优化算法(吴恩达深度学习视频笔记)

Adam实际上就是将momentum和RMSprop结合在一起,并且取得了很好的效果,推荐使用。下图来自这位朋友的笔记关于ε的选择其实没那么重要,但你不需要设置它,因为它并不会影响算法表现,一般都是直接调整α的值,看看哪个效果更好,其他参数就用默认值。...

2020-10-29 17:12:46 564

原创 RMSprop(吴恩达深度学习算法视频)

全称是root mean sqare prop算法。假设纵轴代表参数b,横轴代表参数w,因此我们需要减缓纵轴的波动,同时加速横轴方向的学习。在第t次迭代过程中,mini-batch的微分dw、db会正常计算,S_dw = β * S_dw + (1- β)(dw)2S_db = β * S_db + (1- β)(db)2更新参数:w = w - α * (dw/sqr(S_dw))b = b - α * (dw/sqr(S_db))我们希望S_dw 会相对较小,所以我们要除以一个较小的数,

2020-10-29 16:56:13 317

原创 Momentum梯度下降法(吴恩达深度学习视频)

b站链接Momentum梯度下降法总是快于标准的梯度下降算法,基本思想就是计算梯度的指数加权平均数,并计算该梯度更新权重。如果你要优化成本函数,红点代表最小值的位置,如果用mini-batch梯度下降法,我们可以看到蓝色的线不断向最小值点接近,这种上下摆动减慢了梯度下降法的速度,这样就无法使用更大的学习率,如果学习率过大,结果可能会偏离函数的范围,未来避免脱离最小值,只能选择较小的学习率。Momentum梯度下降法:在每次迭代中,确切来说在第t次迭代的过程中,用现有的mini-batch计算dw、

2020-10-29 16:42:29 423

原创 Mini batch梯度下降法(吴恩达深度学习视频笔记)

深度学习并没有在大数据中表现很好,但是我们可以利用一个巨大的数据集来训练神经网络,而在巨大的数据集基础上进行训练速度很慢,因此进行优化算法能够很大程度地增加训练速度,提升效率。本节,我们将谈谈Mini batch梯度下降法。之前的学习中,我们已经了解到向量化能够实现对m个样本有效计算,不用明确的公式就能够处理整个训练集,所以,我们要把数据集放在一个巨大的矩阵X中,X=[x(1) x(2) x(3) … x(m) ],因此X的维度是(n,m).向量化能让你相对较快地处理所有m个样本,但

2020-10-29 15:44:55 671

原创 训练技巧之tranfer learning

YouTube视频什么时候需要用到transfer learning?当我们在训练CNN时,已经找了很多数据集,也进行了数据增强等操作,但是得到的数据量还是太少,不足以满足我们训练网络的要求,这个时候,我们就可以进行transfer learning。怎么进行transfer learning需要借用别人已经训练好的模型,利用他们网络中的参数,在此基础上修改我们自己的网络。4种不同的情况1、若我们自己得到的数据量很少(small dataset),且能够找到和我们的训练任务差不多的别人的模型

2020-10-20 12:05:25 279

原创 训练技巧之数据增强(data augmentation)

YouTube视频我们在训练数据之前,需要先对输入数据进行预处理,其中数据增强就是预处理过程中的一个手段,即通过这样的方式能够使得输入数据成倍的增长。为什么要做数据增强因为在深度学习领域,更多的数据能够使得我们的模型更稳健,不太容易发生过拟合的现象,而有些时候我们并不能收集到足够多的原始数据。什么是数据增强对于图片来说,数据增强的本质是要对输入图像的像素点的分布、值的大小做一些根本性的变化,但是在变换的同时,需要保证图像的label值是不变的。数据增强的方式1、水平翻转是数据增强过程中

2020-10-20 11:19:49 2877

原创 设计CNN时的小技巧

YouTube视频现在,我们有一个原始输入,它的尺寸为5×5,经过一次卷积之后,它得到了3×3的特征图,对于中间的绿色的小方块来说,它的感受野就是对应着最左边的3×3的输入。(感受野,又称receptive field,是指对于特征图上的一个小单元,所对应的原始图像的尺寸)。当我们再进行第二次卷积之后,红色的小方块的感受野代表了整个原始图像中的5×5的区域。因此,有一个规律:当卷积层数越多,后面特征图的感受野的范围越大,即能够代表提取到了原始图像的更多信息。用1个7×7的filter VS 3个

2020-10-20 10:47:39 378

原创 深度学习中的object detection——R-CNN\fast R-CNN、faster R-CNN

YouTube讲解视频因为做回归任务的时候需要指定画几个框,但是我们在做物体检测的时候实现不知道需要画几个框。不能用回归来做。Region proposals在这里,我们不再用sliding window的方式在图像上进行滑动,而是直接给出这个区域上可能出现的物体,找到一些建议框。Delective Search原理:根据图片的纹理或者一些规律,把图片分成不同的小区域,然后在一定范围内进行merge操作,得到第二幅图片,然后继续进行merge操作,得到了最后的有实际意义的框。通过reg

2020-10-19 20:06:31 127

原创 深度学习中的分类与回归任务

分类:输入一张猫的图片,最终要输出这张图片就是猫的概率;定位:输入猫的图片,输出一个box,框出猫,得到这个box矩形的初始位置,用x,y表示,再得到矩形的宽和高;分类+定位:不光要定位出猫的位置,还要确定这张图片就是猫。首先,输入一张图片,经过一个CNN,提取出一个高维的特征,最后面一层不再接softmax进行分类,而是预测出4个坐标值,由[x,y,w,h]组成,那么如何来计算这四个值呢?对于每一张图片,我们有一个grounding truth,grounding truth就是给定的框的实际.

2020-10-19 18:59:13 6052 1

原创 深度学习——RNN网络结构和升级版LSTM

YouTube视频链接RNN——递归神经网络中间在隐藏层做了相应的变换,不是像全连接网络一样,直接将得到的结果向前传递,而是需要在中间保存信息,在后续的计算中会利用到之前保存好的信息。比如现在我们有一句话:我出生在中国,所以我的母语是?x0代表我;xt代表说,那么现在我们要做的事情是用RNN网络实现预测“说”后面该接什么词。当输入“我”时,在A处得到一个记忆单元,这个记忆单元除了向前传递到h0之外,还要向右传递,那么对于x1输入“出生”也是一样的,依此类推,最后当输入xt是“说"时,RNN网络会

2020-10-19 17:32:43 390

原创 卷积神经网络系列(4)——经典CNN网络(AlexNet、VGGNet)

来源于油管视频AlexNet网络结构:input-conv1- max pooling1-Norm1-conv2-max pooling2-Norm2-conv3-conv4-conv5-max pooling3-FC-FC-SoftmaxCONV1:96个filter,11×11的尺寸过大,stride=4也过大;MAX POOL1:3×3,stride=2是常见的尺寸大小;Norm1:现在被证明没什么用,可以不用;CONV2:这一步可以提取到更加细节的特征,filter的个数变成256个,因

2020-10-19 16:01:04 640

原创 卷积神经网络系列(3)——向前、向后传播

来源于油管视频对于***卷积层的前向传播***来说,首先,我们需要有一个输入,在这里x就表示输入,这里的输入是4维的,为什么是4维的呢?我们通常在写代码的时候把x表示成x[n,c,h,w],第一个n代表输入样本的编号,比如在这里指定了0,因为每次输入都是一个batch一个batch进行输入的,这里取了batch里面的第0个编号;第二个参数C代表了channel,如果是彩色图,有RGB3个channel,如果是灰度图,就是1个channel;第三、四个维度就是输入图像的高和宽。然后,我们需要指定fil

2020-10-19 11:39:28 1311

原创 卷积神经网络系列(2)

我们一般把滑动的步长成为stride,将原始尺寸为77的应用步长为2的33的filter后,每次都会向右移动两格再做卷积,移动两次之后发现右边没有可以继续提取的信息了,再从最开始的位置向下滑动两格之后再按照向右滑动的顺序提取特征,最终得到33的一个特征图。一般来说,stride越小越好,因为在filter滑动过程中是在对原始信息进行特征提取,我们希望能够尽可能保留原始图像的更多信息,这样的得到的特征图也会更大。但是考虑到时间效率,stride=1一般不常用。还有,stride不能太大以至于漏掉原始信息,.

2020-10-19 10:30:15 426

原创 卷积神经网络系列(1)

来源于油管视频与全连接网络相比,卷积神经网络中因为有深度depth,所以网络更加立体。比如,输入尺寸为32323,过滤器filter是553的,最终得到的是特征图为28282的。注意:1、过滤器的深度必须要与他连接的上一层的输入深度一致,因为输入深度为3,所以filter的深度也为3;2、在卷积时候可以指定filter的个数,特征图中的2代表用几个filter进行特征提取,最终会得到2个特征图,特征图之间关联不大,分别代表不同的过滤器提取出来的信息,将特征压缩之后就得到了最终卷积之后的结果.

2020-10-18 21:47:09 570

原创 深度学习框架Caffe简介(1)

来源于油管上的讲解视频由伯克利大学开发,代码是用C++编写的,但是提供了python和matlab的接口,可以用这两个编程语言实现;在训练和微调前馈模型时效果很好。bolb:将data和label封装在blob里面;layer:对应网上的层,比如hidden layer\inputlayer等;Net:整个网络构成;Solver:进行梯度更新的。不用写一个代码就可以训练网络!!但是,需要做的事情是:1、转换数据(对输入数据做一系列预处理,转换成我们需要的格式,Caffe支持多种数据格式

2020-10-18 20:09:02 1089

原创 如何利用python提取文件夹的名称

# traditional wayimport ospath = "E:/facial_image_quality_assessment/pictures/126_1/*.jpg"print(os.path.dirname(path)) # E:/facial_image_quality_assessment/pictures/126_1print(os.path.basename(path))#*.jpgprint(os.path.basename(os.path.dirname(path)

2020-10-18 11:17:35 626

原创 找到列表中的top-n的元素和对应的索引python

如何找到列表中的top-n的元素和对应的索引?import heapqnums = [1, 8, 2, 23, 7, -4, 18, 23, 24, 37, 2]max1_num_index_list = map(nums.index, heapq.nlargest(1, nums))# 最大的1个数的索引max5_num_index_list = map(nums.index, heapq.nlargest(5, nums))# 最大的5个数的索引min3_num_index_lis

2020-10-18 11:15:04 723

原创 如何向空列表中增加元素python

根据网上的查询结果,总结出4种方式:#first waylist1 = []for i in range(5): list1 += [[i]]print(list1) #[[0], [1], [2], [3], [4]]#second waylist1 = []for i in range(5): list1 += [i]print(list1) #[0, 1, 2, 3, 4]#third waylist1 = []for i in range(5):

2020-10-18 11:05:41 23675

原创 colab中用tensorflow-1.14.0的gpu版本训练数据集

本人在跑一个人脸识别的项目时,在自己的笔记本上配置好了cuda9.0和cudnn后还是无法运行,原因是此代码不能在Windows系统上运行,于是千辛万苦在Google Drive上克隆了GitHub上的源代码尝试,以为也要下载与电脑版本对应的cuda9.0等,发现一直报错,提示libcudart.so.9.0:cannot open shared object file。最后才发现人家Google Drive自带了cuda10.1,查看的代码如下:!cat /usr/local/cuda/versio

2020-10-15 10:41:48 1437

空空如也

空空如也

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

TA关注的人

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