AI
pyStar_公众号
做技术,要胆大心细
展开
-
GAN之V(D,G)函数
在阐述GAN之前,我们先看和GAN原理相似的图灵测试: 在图灵测式中,AI(A) 和一个正常人类(B)一起被关在房间里,房间外有个裁判员(C)通过非接触的方式与房间内的 A 和 B 交流。A,B,C 三者刚好对应于 GAN 中的 Generator,Real Data 和 Discriminator。互相对应的这三者的目标也完全一致:A(Generator)试图生成与 B...原创 2018-06-13 09:32:53 · 5104 阅读 · 0 评论 -
卷积神经网络二
反卷积神经网络中的反卷积是指,通过测量输出和已知输入重构未知输入的过程,其并不具备学习能力,仅仅是用于可视化一个已经训练好的卷积神经网络模型,没有学习的过程。 看一下VGG-16反卷积神经网络的结构,VGG-16是一个深度神经网络模型,其反卷积过程就是将中间数据,按照前面卷积,池化等变化过程,完全相反的做一遍,从而得到类似原输入的数据。反卷积的原理 反卷积可以理解为...原创 2018-07-12 14:33:29 · 601 阅读 · 0 评论 -
tensorflow中gradients基本用法
import tensorflow as tf"""在反向传播过程中,神经网络需要对 loss 对应的学习参数求偏导(也叫梯度),该值用来乘以学习率然后更新学习参数使用的。它是通过 tf.gradients 函数来实现的 """weight = tf.Variable([[1, 2]])y = tf.matmul(weight, [[9], [10]])"""第一个参数:求导公式...原创 2018-07-12 14:37:19 · 2090 阅读 · 0 评论 -
卷积神经网络三-----CIFAR数据集
CIFAR也是一堆图片的数据集。在官网 http://www.cs.toronto.edu/~kriz/cifar.html 可以下载,该数据集是已经打包好的文件,分别为python、MATLIB、二进制bin文件包,方便不同的程序读取。不过该文件包在官网下载速度比较慢,可以从下面的链接中获取 https://pan.baidu.com/s/1HNgVRrCdYEuqLwug5kBJ...原创 2018-07-12 15:33:17 · 1008 阅读 · 0 评论 -
用tensorflow扩充数据集
在cifar10_input.py有个功能很强大的数据-----distorted_inputs。它可以对train数据进行变形处理,起到数据增广的作用,在数据集比较小,数据量远远不够的情况下,可以对图片进行翻转、随机剪裁等操作以增加数据,制造出更加多的样本,提高度图片的利用率。核心功能代码在cifar10_input.py文件的 169~183 行:# Image processin...原创 2018-07-12 15:44:26 · 3766 阅读 · 1 评论 -
单个神经元
先来看一下单个神经元网络模型:其中 xi 表示输入,wi 和 b 表示参数。图中下方的公式是 1 函数的模型,嗯,就是一个线性模型。那么就这么一个简单的线性模型怎么仿真出人类神经元那么复杂的玩意儿呢?一个线性模型当然满足不了,这不就有了函数 2。函数 2 这类的函数我们常称之为 激活函数 或者 激励函数。那么有人又问了你怎么知道图中那一大堆 wi 和 b 参数到底取值是什么,别急,网络模型...原创 2018-07-06 11:31:42 · 5940 阅读 · 0 评论 -
softmax
softmax基本上可以算作是分类任务的标配。那么什么是softmax呢? 对于一些激活函数,例如:sigmoid,tanh,relu等,其输出值只有两种(0、1,-1、1,或0、x),他们对于解决二分类问题比较不错。那么对于多分类的问题怎么解决方便呢?这时就需要使用 softmax。 softmax看到名字差不多就能猜出它是选取输出结果中的最大值进行分类的,输出值所代表的意义就...原创 2018-07-06 13:22:06 · 1782 阅读 · 0 评论 -
tensorflow中常见的loss函数
损失函数(loss/cost)用于描述模型预测值与真实值的差距大小. 一般常见的有两种算法----均值平方差(MSE) 和 交叉熵。 参考:https://blog.csdn.net/qq_42413820/article/details/809360921)均值平方差 在tensorflow中没有独立的MSE函数,不过可以自己组合: MSE = ...原创 2018-07-06 13:47:22 · 15031 阅读 · 0 评论 -
tensorflow中的梯度下降函数
tensorflow中的梯度下降函数如下: 在训练过程中先实例化一个优化函数如tf.train.GradientDescentOptimizer,并基于一定的学习率进行梯度优化训练。 optimizer = tf.train.GradientDescentOptimizer(learning_rate) 接着使用一个minimize...原创 2018-07-06 14:16:18 · 1132 阅读 · 0 评论 -
卷积神经网络一
卷积神经网络是深度学习中最经典的模型之一。它可以解决全连接网络中参数过多的问题,它可以使用很少的权重参数达到全连接网络实现不了的效果。下面我们通过简单的计算,看一看全连接网络的带来的问题。 假设在对MNIST数据集(28x28)进行训练时,使用的网络有两个隐藏层,每层256个节点,输出层10个节点。则训练中所需参数: (权重w参数 28*28*256+256*256+256*...原创 2018-07-12 13:31:07 · 938 阅读 · 0 评论 -
识别手写数字
识别手写数字的数据集是mnist。以下内容复制粘贴在py文件中,可以直接运行。import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_dataimport pylab'''自动下载 mnist 数据集并解压到 mnist_data 目录下如果程序下载慢,就上网把数据集下载下来,放到 mnist_dat...原创 2018-07-04 13:08:52 · 370 阅读 · 0 评论 -
分布式TensorFlow
在大型的数据集上进行神经网络训练,往往需要更大的运算资源, 而且需要耗费的时间也是很久的。因此TensorFlow提供了一个可以分布式部署的模式,将一个训练任务拆成若干个小任务,分配到不同的计算机来完成协同运算,这样可以节省大量的时间。我们先看一下简单情况下的训练模式:1)单CPU单GPU 这种情况就是最简单的,对于这种情况,可以把参数和计算都定义再gpu上,不过如果参数模...原创 2018-07-04 09:35:17 · 311 阅读 · 0 评论 -
初识TensorFlow
TensorFlow 一词是Google工程师臆造的一个词,Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow是张量从图的一端流到另一端的计算过程TensorFlow的运行机制属于'定义'与'运行'相分离,操作层面上讲抽象成两种:模型构建、模型运行构建模型中的概念:张量 tensor数据,即某一类型的多维数组变量 Variable 常用于定义模型中的...原创 2018-07-03 16:17:58 · 163 阅读 · 0 评论 -
TensorFlow基本类型及操作函数
TensorFlow 中使用 tensor 来代表所有数据,操作间的数据传递也是tensortensor 可以看做是一个 n维的数组或列表,每个tensor都包含 类型(type), 阶(rank), 形状(shape)1)类型 tensor类型 Python类型 描述DT_FLOAT tf.float32 32位浮点数DT_DOUBLE ...原创 2018-07-03 18:37:38 · 2441 阅读 · 0 评论 -
tensorflow保存及载入模型、添加检查点
在训练完模型之后,就要把模型保存起来,方便以后使用。保存模型 save():saver = tf.train.Saver()with tf.Session() as sess: sess.run(...) saver.save(sess, savePath/fileName)载入模型 restore() :saver = tf.train.Saver()with tf.Sess...原创 2018-07-03 18:56:00 · 864 阅读 · 0 评论 -
TensorBoard可视化
TensorBoard是TensorFlow提供的一个可视化工具,他可以将训练过程中的各种数据展示出来。 在复杂的问题中,网络往往都是很复杂的。为了方便调试参数以及调整网络结构,我们需要将计算图可视化出来,以便能够更好的进行下一步的决策。 TensorBoard不会把代码展示出来,他只是一个日志展示系统,需要在session中运算图时,将各种数据类型的数据会中并...原创 2018-07-03 19:41:23 · 237 阅读 · 0 评论 -
TensorFlow共享变量
定义变量的两种方式:tf.Variable()tf.get_Variable()import tensorflow as tfvar1 = tf.Variable(1., name='first_var')print('I am var1: ', var1.name)var1 = tf.Variable(2., name='first_var')print('I am var1 too: ...原创 2018-07-03 20:15:41 · 186 阅读 · 0 评论 -
tensorflow图的基本操作
TensorFlow 会默认建立一个图, 还可以手动建立图图的三个基本操作:tf.Graph() # 建立图tf.get_default_graph() # 获取图tf.reset_default_graph() # 重置图下面是一个简单的例子:import tensorflow as tf # 默认图中的常量default_const = tf.constant(1.)# 新建一个图new...原创 2018-07-03 20:25:28 · 747 阅读 · 0 评论 -
tensorflow指定GPU运算
如果机器上有多于1个的GPU,默认除第一个之外其他的是不工作的,但是可以使用 with ... decice 语句指派特定的CPU或者GPU执行操作。with tf.Session() as sess: with tf.device('/gpu:1'): a = tf.placeholder(tf.float32) b = tf.placehol...原创 2018-07-03 20:38:48 · 10649 阅读 · 3 评论 -
过拟合、欠拟合
过拟合(over-fitting): 其实就是所建的机器学习模型或者是深度学习模型在训练样本中表现得过于优越,导致在验证数据集以及测 试数据集中表现不佳。举个例子:假设有一个看照片识别物种的模型,训练时,你把你的大量照片输入进去进行训练。然后测试时,当输入你的照片,无论什么姿势什么造型,模型都能准确识别,咦,这是个人。当你把好朋友的照片输进去,满心等待输出人时,结果很意外,输出的不是个人。这种情况...原创 2018-07-06 15:09:33 · 702 阅读 · 0 评论