下载CUDA8.0,安装 下载cuDNN v5.1安装.放置环境变量等. 其他版本就不装了.不用找其他版本的关系. 使用tensorflow-gpu1.0版本. 使用keras2.0版本. 有提示的. 有时候可能需要分配使用空间自动增长: config = tf.ConfigProto() config.gpu_options.allow_growth = True session = tf.Session(config=config) 英伟达 MX150.华硕FL8000…
以下仅为了自己方便查看,绝大部分参考来源:莫烦Python,建议去看原博客 一.添加层 def add_layer() 定义 add_layer()函数 在 Tensorflow 里定义一个添加层的函数可以很容易的添加神经层,为之后的添加省下不少时间. 神经层里常见的参数通常有weights.biases和激励函数. 然后定义添加神经层的函数def add_layer(),它有四个参数:输入值.输入的大小.输出的大小和激励函数,我们设定默认的激励函数是None. def add_layer(in…
matplotlib可视化 构件图形 用散点图描述真实数据之间的关系(plt.ion()用于连续显示) # plot the real data fig = plt.figure() ax = fig.add_subplot(1,1,1) ax.scatter(x_data, y_data) plt.ion()#本次运行请注释,全局运行不要注释 plt.show() 接下来我们来显示预测数据 每隔50次训练就刷新一次图形 用红色宽度为5的线条来显示我们的预测数据与输入数据之间的关系 并暂停0.1…
从有约束条件下的凸优化角度思考神经网络训练过程中的L2正则化 神经网络在训练过程中,为应对过拟合问题,可以采用正则化方法(regularization),一种常用的正则化方法是L2正则化. 神经网络中L2正则化的定义形式如下: \[ J(W,b)=\frac{1}{m}\sum_{i=1}^{m}l(y^{(i)},\hat y^{(i)})+\frac{\lambda}{2m}\sum_{i=1}^{m}||W^{(i)}||_F^2\] 其中,J(W,b)为正则化下的cost functio…
在前面的文章中,已经介绍了从有约束条件下的凸优化角度思考神经网络训练过程中的L2正则化,本次我们从最大后验概率点估计(MAP,maximum a posteriori point estimate)的角度来理解神经网络中十分重要的weight decay正则化方法. 前面的文章中讲到了梯度下降法可以从最大似然概率估计(ML)的角度来理解,最大似然是一种典型的频率统计方法,还有一种非常不同的贝叶斯统计方法(具体的区别请参考花书).由于贝叶斯统计方法很多时候是复杂不易于处理的,因此我们更想要一种类似…
写在前面   各式资料中关于BP神经网络的讲解已经足够全面详尽,故不在此过多赘述.本文重点在于由一个"最简单"的神经网络练习推导其训练过程,和大家一起在练习中一起更好理解神经网络训练过程. 一.BP神经网络 1.1 简介   BP网络(Back-Propagation Network) 是1986年被提出的,是一种按误差逆向传播算法训练的   多层前馈网络,是目前应用最广泛的神经网络模型之一,用于函数逼近.模型识别分类.数据压缩和时间序列预测等.   一个典型的BP网络应该包括三层:输…
在使用tf来训练模型的时候,难免会出现中断的情况.这时候自然就希望能够将辛辛苦苦得到的中间参数保留下来,不然下次又要重新开始. 保存模型的方法: #之前是各种构建模型graph的操作(矩阵相乘,sigmoid操作等...) saver=tf.train.Saver()#生成saver with tf.Session() as sess: sess.run(tf.global_variables_initializer())#先对模型进行初始化 #然后将数据丢入模型进行训练blabla #训练完之…
批标准化(Bactch Normalization,BN)是为了克服神经网络加深导致难以训练而诞生的,随着神经网络深度加深,训练起来就会越来越困难,收敛速度回很慢,常常会导致梯度弥散问题(Vanishing Gradient Problem). 统计机器学习中有一个经典的假设:Source Domain 和 Target Domain的数据分布是一致的.也就是说,训练数据和测试数据是满足相同分布的.这是通过训练数据获得的模型能够在测试集上获得好的效果的一个基本保障. Convariate Shi…
前言 首先,如果你现在已经很熟悉tf.data+estimator了,可以把文章x掉了╮( ̄▽ ̄””)╭ 但是!如果现在还是在进行session.run(..)的话!尤其是苦恼于GPU显存都塞满了利用率却上不去的童鞋,这篇文章或许可以给你打开新世界的大门噢( ̄∇ ̄) 如果发现经过一系列改良后训练效率大大提高了,记得回来给小夕发小红包( ̄∇ ̄) 不过,这并不是一篇怒贴一堆代码,言(三)简(言)意(两)赅(语)就结束的CSDN文风的文章...所以伸手党们也可以X掉了╮( ̄▽ ̄””)╭ 缘起 很早很早…
tensorflow多GPU并行计算 TensorFlow可以利用GPU加速深度学习模型的训练过程,在这里介绍一下利用多个GPU或者机器时,TensorFlow是如何进行多GPU并行计算的. 首先,TensorFlow并行计算分为:模型并行,数据并行.模型并行是指根据不同模型设计不同的并行方式,模型不同计算节点放在不同GPU或者机器上进行计算.数据并行是比较通用简便的实现大规模并行方式,同时使用多个硬件资源计算不同batch数据梯度,汇总梯度进行全局参数更新. 在这里我们主要介绍数据并行的多GP…