tensorflow学习一

1.用图(graph)来表示计算任务

2.用op(opreation)来表示图中的计算节点,图有默认的计算节点,构建图的过程就是在其基础上加节点。

3.用tensor表示每个op的输入输出数据,可以使用feed,fetch可以为任意操作设置输入和获取输出。

4.通过Variable来维护状态。

5.整个计算任务放入session的上下文来执行。

tensorflow把复杂的计算放在python之外进行。

为什么tensorflow使用session来运行会话?

因为python会使用一些非python实现的库比如numpy,如果每个操作和数据都做内外交换代价太大,

所以把所有操作描述为图,把整个操作图打包放入session,作为一个整体做内外交换,这样就能避免频繁的内外交换带来的性能损失。

一般步骤

 

#导入库

import tensorflow as tf

import numpy as np

# 通过操作符号变量来描述这些可交互的操作单元

x = tf.placeholder("float", [None, 784]) # 这里的 None 表示此张量的第一个维度可以是任何长度的

#定义变量

# 一个 Variable 代表一个可修改的张量,存在在TensorFlow的用于描述
#交互性操作的图中。它们可以用于计算输入值,也可以在计算中被修改。对于各种机器学习应用,一般都会有模

#型参数,可以用 Variable 表示

W = tf.Variable(tf.zeros([784,10]))

b = tf.Variable(tf.zeros([10]))

#实现模型

y = tf.nn.softmax(tf.matmul(x,W) + b)

#定义指标评估模型的好坏

#我们通常定义指标来表示一个模型是坏的,这个指标称为成本(cost)或损失(loss),然后尽量最小化这个指标

y_ = tf.placeholder("float", [None,10])

cross_entropy = -tf.reduce_sum(y_*tf.log(y))

#使用梯度下降算法来修改变量减小成本

train_step = tf.train.GradientDescentOptimizer(0.01).minimize(cross_entropy)

#初始化

init = tf.initialize_all_variables()

#启动模型

sess = tf.Session()

sess.run(init)

#训练模型

for i in range(1000):
batch_xs, batch_ys = mnist.train.next_batch(100)

sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys})

#评估模型

correct_prediction = tf.equal(tf.argmax(y,1), tf.argmax(y_,1))

accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float"))

print sess.run(accuracy, feed_dict={x: mnist.test.images, y_: mnist.test.labels})

1.exp函数,自然对数e( 2.71828)的指数函数

2.normalize函数,归一化函数,把数据范围限制在你需要的范围(范围缩放)。

3.交叉熵

4.导数,导函数,切线,斜率,方差代价函数

时间: 2024-08-10 21:29:21

tensorflow学习一的相关文章

Tensorflow学习笔记2:About Session, Graph, Operation and Tensor

简介 上一篇笔记:Tensorflow学习笔记1:Get Started 我们谈到Tensorflow是基于图(Graph)的计算系统.而图的节点则是由操作(Operation)来构成的,而图的各个节点之间则是由张量(Tensor)作为边来连接在一起的.所以Tensorflow的计算过程就是一个Tensor流图.Tensorflow的图则是必须在一个Session中来计算.这篇笔记来大致介绍一下Session.Graph.Operation和Tensor. Session Session提供了O

TensorFlow学习路径【转】

作者:黄璞链接:https://www.zhihu.com/question/41667903/answer/109611087来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 前言:其实TensorFlow本身仅仅是一个分布式的高性能计算框架,想要用TF做深度学习,仅仅学习这个框架本身是没有太大意义的.因此应该将TF看作技术路线中的一个核心点,去掌握整个开发所需要的必要技术,知识.尤其是深度学习的基本原理,这对日后搭建模型,模型调参以至提出新的模型都是极其有用的.

TensorFlow学习笔记(UTF-8 问题解决 UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte)

我使用VS2013  Python3.5  TensorFlow 1.3  的开发环境 UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte 在是使用Tensorflow读取图片文件的情况下,会出现这个报错 代码如下 # -*- coding: utf-8 -*- import tensorflow as tf import numpy as np import mat

python tensorflow 学习

Tensorflow系列--Saver的用法:http://blog.csdn.net/u011500062/article/details/51728830 Tensorflow学习系列(二): tensorflow基础:http://blog.csdn.net/vs412237401/article/details/62039686 原文地址:https://www.cnblogs.com/cxscode/p/8283361.html

用tensorflow学习贝叶斯个性化排序(BPR)

在贝叶斯个性化排序(BPR)算法小结中,我们对贝叶斯个性化排序(Bayesian Personalized Ranking, 以下简称BPR)的原理做了讨论,本文我们将从实践的角度来使用BPR做一个简单的推荐.由于现有主流开源类库都没有BPR,同时它又比较简单,因此用tensorflow自己实现一个简单的BPR的算法,下面我们开始吧. 1. BPR算法回顾 BPR算法是基于矩阵分解的排序算法,它的算法训练集是一个个的三元组$<u,i,j>$,表示对用户u来说,商品i的优先级要高于商品j.训练成

Tensorflow学习笔记(一):MNIST机器学习入门

学习深度学习,首先从深度学习的入门MNIST入手.通过这个例子,了解Tensorflow的工作流程和机器学习的基本概念. 一  MNIST数据集 MNIST是入门级的计算机视觉数据集,包含了各种手写数字的图片.在这个例子中就是通过机器学习训练一个模型,以识别图片中的数字. MNIST数据集来自 http://yann.lecun.com/exdb/mnist/ Tensorflow提供了一份python代码用于自动下载安装数据集.Tensorflow官方文档中的url打不开,在CSDN上找到了一

Tensorflow学习笔记3:TensorBoard可视化学习

TensorBoard简介 Tensorflow发布包中提供了TensorBoard,用于展示Tensorflow任务在计算过程中的Graph.定量指标图以及附加数据.大致的效果如下所示, TensorBoard工作机制 TensorBoard 通过读取 TensorFlow 的事件文件来运行.TensorFlow 的事件文件包括了你会在 TensorFlow 运行中涉及到的主要数据.关于TensorBoard的详细介绍请参考TensorBoard:可视化学习.下面做个简单介绍. Tensorf

Tensorflow学习笔记(对MNIST经典例程的)的代码注释与理解

1 #coding:utf-8 2 # 日期 2017年9月4日 环境 Python 3.5  TensorFlow 1.3 win10开发环境. 3 import tensorflow as tf 4 from tensorflow.examples.tutorials.mnist import input_data 5 import os 6 7 8 # 基础的学习率 9 LEARNING_RATE_BASE = 0.8 10 11 # 学习率的衰减率 12 LEARNING_RATE_DE

Tensorflow学习笔记(1)

一.背景 本人学习Tensorflow是为了完成毕业设计的工作,之前并没有用过其他的深度学习平台,Tensorflow作为当前很流行的一个平台,无论是教学文档,还是使用其开发的工程,这些资源都是很丰富的,所以很适合新手来进行入门.Tensorflow的具体背景我就不过多的介绍了,网上有很多的资源.另外我写这一系列博客的目的是激励自己吧,逼着自己学得更透彻一点,毕竟会用和能熟悉的写成教程还是两码事,希望自己能坚持下去. 2.Tensorflow安装 我使用的是自己的笔记本电脑,配置是i7-6700

Tensorflow学习笔记一

今天开始正式学习Tensorflow, 首先从源码开始, 装好了CentOS 7 X64, 并且安装了桌面版本, 计划能够构建Tensorflow成功 首先从Github从Fork了一个版本到我的Git账号, 然后clone到本地 首先要了解Bazel, 这是什么东西?这是谷歌代码构建工具, 没有办法, 先自己构建一个吧 https://bazel.build/versions/master/docs/install.html#ubuntu