Tensorflow(添加噪声的方式)
在去噪自编码器中,模型的输入是原始的输入经过某种形式的加噪过程后的衰弱的形式,所以加噪声一般分为:加高斯白噪声,掩模噪声,椒盐噪声。
1.加性高斯噪声
self.scale = tf,placeholder(dtype = tf.float32)
self.x_corrupted = tf.add(self.x, self.scale*tf.random_normal(shape = (self.n_input,)))
2.掩模噪声
self.keep_prob = tf.placeholder(dtype = tf.float32)
self.x_corrupted = tf.nn.dropout(self.x, self.keep_prob)
3.椒盐噪声
def salt_and_pepper_noise(X,v)
X_noise = X.copy()
n_features = X.shape[1]
mn = X.min()
mx = X.max()
for i,sample in enumerate(X):
mask = np.random.randint(0,n_features,v)
for m in mask:
if np.random.rand() < .5:
X_noise[i][m] = mn
else:
X_noise[i][m] = mx
return X_noise
讲解:
1. enumerate(X):
此函数是python内带的一个函数,它的功能就是对一个可迭代,可遍历的对象组成一个序列,可以同时获取索引和值,说白了就是将一个个列表,字符串都全都团在一起,然后呢,用这个函数可以返回其中的每个元素,并返回每个元素所在的位置坐标。
要是我们呢既想遍历元素,又要遍历索引(元素所在的位置)就可以用for 循环来实现,就像上面的椒盐噪声添加的时候一样,i就是索引(元素的位置),sample就是每个元素
2..np.random.randint(low,high,size)
这个函数看起来就很简单了,随即产生一些数,这些数是什么呢,就是在定义的最大值和最小值之间来取,那么我们取多少呢,就看size,如果是1.......n之间的数字就会产生一行n列的元素,若是类似于(1,3),(2,6)等,那么就会形成一个数组矩阵
只有low
np.random.randint(2,size = 5)
array([0,1,1,1,1])
np.random.randint(5,size = (3,4))
array([[1,2,3,4],
[2,3,4,1],
[2,1,4,0]])
WARNING:low的值是取不到的,若是有high,则[low,high),也就是high取不到
Tensorflow(添加噪声的方式)的更多相关文章
- 详解Tensorflow数据读取有三种方式(next_batch)
转自:https://blog.csdn.net/lujiandong1/article/details/53376802 Tensorflow数据读取有三种方式: Preloaded data: 预 ...
- 关于无法把程序(Adobe Fireworks CS5)添加到打开方式的解决办法
关于无法把程序(Adobe Fireworks CS5)添加到打开方式的解决办法 最近换了新版的Adobe Fireworks CS5,发现打开图片文件时在右键“打开方式”里仍然是以前的Firewor ...
- PHP---TP框架---添加数据-----有三种方式
添加数据 添加数据有三种方式: 第一种: <?php namespace Home\Controller;//这个文件的命名空间 use Think\Controller;//use使用哪一个而 ...
- Linux添加快捷启动方式 (Ubuntu Debian CentOS)
ubuntu桌面快捷方式的创建 debian添加快捷启动方式 centos 6 桌面建立应用程序的快捷方式的方法 今天用着用着ubuntu,突然抽搐了,感觉特别别扭,特别不方便.新装的应用程序不好 ...
- Android两种为ViewPager+Fragment添加Tab的方式
在Android开发中ViewPager的使用是非常广泛的,而它不仅仅能够实现简单的开始引导页,还可以结合Fragment并添加Tab作为选项卡或为显示大批量页面实现强大的顺畅滑动 下面介绍两种为Vi ...
- Unity3D的按钮添加事件有三种方式
为Unity3D的按钮添加事件有三种方式,假设我们场景中有一个Canvas对象,Canvas对象中有一个Button对象. 方式一: 创建脚本ClickObject.cs,然后将脚本添加到Canvas ...
- 如何用INNO安装添加快捷启动方式到Win7的快速启动栏(超级任务栏)
问题:如何用INNO安装添加快捷启动方式到Win7的快速启动栏(超级任务栏) 在XP下,添加方式是直接把快捷方式复制到%appdata%\Microsoft\Internet Explorer\Qui ...
- ubuntu 14.04 Clion2016.2 安装激活与安装后添加快捷启动方式
参考链接:http://www.cnblogs.com/conw/p/5938113.html 下载clion for linux : http://www.jetbrains.com/clion/d ...
- matplotlib 添加注释的方式
matplotlib 添加注释的方式 matplotlib.pyplot.annotate Annotate the point xy with text s s : str The text of ...
随机推荐
- 下拉框click事件与搜索框blur事件的爱恨纠葛
还原车祸现场 功能类似于百度搜索,搜索框输入内容,下拉框显示候选项,点击候选项就选择候选项,然后下拉框隐藏,点击外面就直接隐藏下拉框,于是我写了以下代码 //参会单位联想 $('input[name= ...
- Linux下使用acme.sh 配置https 免费证书
acme.sh 简单来说acme.sh 实现了 acme 协议, 可以从 let‘s encrypt 生成免费的证书.acme.sh 有以下特点:一个纯粹用Shell(Unix shell)语言编写的 ...
- Pandas:深市股票代码前补足0
#深市代码前补充0----------------- df[' #先增加一列 #将2列合并为新列 df['代码合并'] = df['补充'] + df['股票代码'] #再取后6位 df['股票代码' ...
- Java线程池ThreadPoolExecutor原理和用法
1.ThreadPoolExecutor构造方法 public ThreadPoolExecutor(int corePoolSize,int maximumPoolSize,long keepAli ...
- 2018年山东省省队集训 Round 1 Day 2简要题解
从这里开始 Problem A 生日礼物 Problem B 咕咕 Problem C 解决npc (相信来看这篇博客的人都有题面) T2以为可以线性递推,然后花了两个小时.然后想了两个小时T1,会了 ...
- xpath解析数据
xpath解析数据 """ xpath 也是一种用于解析xml文档数据的方式 xml path w3c xpath搜索用法 在 XPath 中,有七种类型的节点:元素.属 ...
- tomcat启动项目时一直在跑,项目没起来
1. 在整合maven项目时我遇到一个问题,tomcat启动项目总是报超时,后来我把timeout调到180秒,还是启动超时.看了不是timeout时间短的问题. 2.弄了一天也没解决,后来请大神给看 ...
- Polly 熔断策略
熔断策略主要以 CircuitBreaker 来完成. 工作原理 熔断器可以被看作为一个主要含有三个状态的状态机 如果以电路开关来看: 开关闭合对应 CLOSED 状态, 开关打开对应 OPEN 状态 ...
- 类中为什么要定义__init__()方法
总结一下, 加上__init__()方法后,类才可以实例化,不加类就是个空壳,相当于一个方法集合 学习Python的类,一直不太理解为什么一定要定义init()方法,现在简要谈一下自己的理解吧. 1. ...
- AI外包 人工智能外包 长年承接人工智能项目 北京动点软件
人工智能artificial intelligence,AI是科技研究中最热门的方向之一.像 IBM.谷歌.微软.Facebook 和亚马逊等公司都在研发上投入大量的资金.或者收购那些在机器学习.神 ...