TensorFlow总结
第一 基础
1. 定义变量
#定义维度为[2,3], 平均值为·1, 标准差为1,类型为float32,名称为w1的服从正态分布的变量
w1 = tf.Variable(tf.random_normal(2, 3), stddev=1, seed=1, dtype=tf.float32, name='w1')
#定义维度为[2,3],平均值为1,标准差为1,类型为float32,名称为w1的服从正态分布的变量,偏离平均值超过两个标准差则重新生成
w1 = tf.Variable(tf.truncated_normal(2, 3), stddev=1, seed=1, dtype=tf.float32, name='w1')
2.定义常量
#定义值为[[1,2], [4,5]], 类型为float32, 名称为x的常量
x = tf.constant([[1, 2], [4, 5]], dtype=tf.float32, name='x')
3.定义占位符
#定义类型为float32,维度为[None, 2], 名称为x的占位符
x = tf.placeholder(tf.float32, shape=(None, 2), name='x')
4.开启回话
init_op = tf.initialize_all_variables()
with tf.Session() as sess:
sess.run(init_op)
第二 优化
1.非线性与激活函数
INPUT_NODE = 2
OUTPUT_NODE = 1
LAYER1_NODE = 3
x = tf.placeholder(tf.float32, shape=(None, INPUT_NODE), name='x-input')
_y = tf.placeholder(tf.float32, shape=(None, OUTPUT_NODE), name='y-output')
weight1 = tf.Variable(tf.truncated_normal(INPUT_NODE, LAYER1_NODE), dtype=tf.float32, name='weight1')
biases1 = tf.Variable(tf.constant(0.1, shape=LAYER1_NODE), dtype=tf.float32, name='biases1')
weight2 = tf.Variable(tf.truncated_normal(LAYER1_NODE, OUTPUT_NODE), dtype=tf.float32, name='weight2')
biases2 = tf.Variable(tf.constant(0.1, shape=OUTPUT_NODE), dtype=tf.float32, name='biases2')
layer1 = tf.nn.relu(tf.matmul(x, weight1) + biases1)
y = tf.matmul(layer1, weight2) + biases2
2.交叉熵损失函数
(1)不封装写法
cross_entropy = -tf.reduce_mean(_y * tf.log(tf.clip_by_value(y, 1e-10, 1.0)))
train_step = tf.train.AdamOptimizer(0.001).minimize(cross_entropy)
(2)封装写法
cross_entropy = tf.nn.softmax_cross_entropy_with_logits(y, _y)
train_step = tf.train.AdamOptimizer(0.001).minimize(cross_entropy)
3.均方误差损失函数
mse = tf.reduce_mean(tf.square(_y - y))
train_step = tf.train.AdamOptimizer(0.001).minimize(mse)
4.自定义损失函数
LOSS_MORE = 10
LOSS_LESS = 1
loss = tf.reduce_sum(tf.select(tf.greater(y, _y), (y- _y) * LOSS_MORE, (_y - y) * LOSS_LESS))
train_step = tf.train.AdamOptimizer(0.001).minimize(loss)
5.指数衰减学习率
LEARNING_RATE_BASE = 0.1
LEARNING_RATE_DECAY = 0.99
ALL_SIZE = 10000
BATCH_SIZE = 10
global_step = tf.Variable(0, trainable=False)
learning_rate = tf.train.exponential_decay(LEARNING_RATE_BASE, global_step, ALL_SIZE/BATCH_SIZE, LEARNING_RATE_DECAY)
train_step = tf.train.GradientDescentOptimizer(learning_rate).minimize(loss, global_step=global_step)
6.过拟合问题与正则化
REGULARIZATION_RATE = 0.0001
regularizer = tf.contrib.layers.l2_regularizer(REGULARIZATION_RATE)
regularization = regularizer(weight1) + regularizer(weight2)
loss = cross_entropy + regularization
7.滑动平均模型
MOVING_AVERAGE_DECAY = 0.99
ema = tf.traim.ExponentialMovingAverage(MOVING_AVERAGE_DECAY, global_step)
ema_op = ema.apply(tf.trainable_variables())
TensorFlow总结的更多相关文章
- Tensorflow 官方版教程中文版
2015年11月9日,Google发布人工智能系统TensorFlow并宣布开源,同日,极客学院组织在线TensorFlow中文文档翻译.一个月后,30章文档全部翻译校对完成,上线并提供电子书下载,该 ...
- tensorflow学习笔记二:入门基础
TensorFlow用张量这种数据结构来表示所有的数据.用一阶张量来表示向量,如:v = [1.2, 2.3, 3.5] ,如二阶张量表示矩阵,如:m = [[1, 2, 3], [4, 5, 6], ...
- 用Tensorflow让神经网络自动创造音乐
#————————————————————————本文禁止转载,禁止用于各类讲座及ppt中,违者必究————————————————————————# 前几天看到一个有意思的分享,大意是讲如何用Ten ...
- tensorflow 一些好的blog链接和tensorflow gpu版本安装
pading :SAME,VALID 区别 http://blog.csdn.net/mao_xiao_feng/article/details/53444333 tensorflow实现的各种算法 ...
- tensorflow中的基本概念
本文是在阅读官方文档后的一些个人理解. 官方文档地址:https://www.tensorflow.org/versions/r0.12/get_started/basic_usage.html#ba ...
- kubernetes&tensorflow
谷歌内部--Borg Google Brain跑在数十万台机器上 谷歌电商商品分类深度学习模型跑在1000+台机器上 谷歌外部--Kubernetes(https://github.com/kuber ...
- tensorflow学习
tensorflow安装时遇到gcc: error trying to exec 'as': execvp: No such file or directory. 截止到2016年11月13号,源码编 ...
- 【转】TensorFlow练习20: 使用深度学习破解字符验证码
验证码是根据随机字符生成一幅图片,然后在图片中加入干扰象素,用户必须手动填入,防止有人利用机器人自动批量注册.灌水.发垃圾广告等等 . 验证码的作用是验证用户是真人还是机器人:设计理念是对人友好,对机 ...
- 【转】机器学习教程 十四-利用tensorflow做手写数字识别
模式识别领域应用机器学习的场景非常多,手写识别就是其中一种,最简单的数字识别是一个多类分类问题,我们借这个多类分类问题来介绍一下google最新开源的tensorflow框架,后面深度学习的内容都会基 ...
- 【转】Ubuntu 16.04安装配置TensorFlow GPU版本
之前摸爬滚打总是各种坑,今天参考这篇文章终于解决了,甚是鸡冻\(≧▽≦)/,电脑不知道怎么的,安装不了16.04,就安装15.10再升级到16.04 requirements: Ubuntu 16.0 ...
随机推荐
- 【转】VMware 14 Pro安装mac os 10.12
一.准备工作 [1]资源下载 VMware Workstation Pro 14 已安装或自行安装 Unlocker (链接: https://pan.baidu.com/s/1dG5jkuH 密码: ...
- 06 python初学 (列表内置方法)
目录: type(a) is list :判断 a 是不是列表.返回 True False count:计算列表内某一元素出现的次数 extend:在列表末尾一次性添加另一列表中的全部值 index: ...
- ssm框架整合+Ajax异步验证
SSM框架是目前企业比较常用的框架之一,它的灵活性.安全性相对于SSH有一定的优势.说到这,谈谈SSM和SSH的不同点,这也是企业常考初级程序员的面试题之一.说到这两套框架的不同,主要是持久层框架Hi ...
- idea 修改设置 检测方式为 es6
intellij idea 14不支持ES6语法!javascript 文件内到处飘红 file>settings>Lauguages & Frameworks>javasc ...
- open-falcon之使用mail-provider发邮件(支持smtp SSL协议)
一.首先确定go语言安装环境配置好 1.进入官网下载源码包 https://golang.org/dl/ 2.解压缩,配置环境变量 在/etc/profile最后加上export PATH=$PATH ...
- 1、话说linux内核
1.内核和发行版的区别 到底什么是操作系统 linux.windows.android.ucos就是操作系统 操作系统本质上是一个程序,由很多个源文件构成,需要编译连接成操作系统程序(vmlinz.z ...
- c# 利用百度图像处理【人像分割】一键抠图
百度AI开放平台-人像分割: http://ai.baidu.com/tech/body/seg 注意本文后面的话,百度这个技术效果太差劲了,国外这 https://www.remove.bg/ 个比 ...
- Python学习第十六篇——异常处理
在实际中,很多时候时候,我们并不能保证我们所写的程序是完美的.比如我们程序的本意是:用户在输入框内输入数字,并进行后续数学运算,即使我们提醒了用户需要输入数字而不是文本,但是有时会无意或者恶意输入字符 ...
- 开发工程中遇到的BUG
Xcode7自带Git创建的项目"Couldn’t communicate with a helper application" git xcode7 zhunjiee 2015年 ...
- web网站css,js更新后客户浏览器缓存问题,需要刷新才能正常展示的解决办法
问题描述 最近将公司官网样式进行了调整,部署到服务器后访问发现页面展示不正常,但是刷新之后就会展示正常. 问题分析 研究之后发现可能的原因有 css文件过大,加载缓慢 本地缓存问题,虽然服务器修改了c ...