Tensorflow学习笔记-1


Tensorflow是一种通过计算图构建神经网络、深度学习等模型,并用于实现相关任务的的工具。它主要由python语言实现,内部计算用C++实现,所以它的特点为:简单、高效、稳定。通过使用tensorflow不仅可以实现我们常见的深度学习任务,而且让我们从复杂的实现细节中解放出来,更加关注我们的任务本身,从而节省了宝贵的时间。本文主要是一些tensorflow的学习笔记,供我或者大家参考,具体细节还是看tensorflow官方文档更好。


Tensorflow基本概念

张量和操作为计算图的基本组成元素,张量相当于边,操作相当于点。

名词 解释
张量 张量是对向量或者高维矩阵的泛化,用来表示图运算过程中的数据。tf.Tensor是它的API。
操作 数据与数据之间进行的计算被称为操作。小到常量、变量的初始化,大到矩阵之间的加减乘除都可以称为操作。
常量 tf.constant()进行定义。常量为不需要变化的张量,输入数据为numpy的array等数据类型,请填写时注意一下。
变量 tf.Variable()进行定义。变量主要用于需要被初始化的参数,如深度学习中的权重、偏置值,需要在训练开始前先进行初始化。
占位符 tf.placeholder()进行定义。占位符主要用于训练时需要动态获取的数据,如深度学习中的输入数据。每次训练迭代周期内,用feed_dict={}体现。(feed_dict作为sess.run()的一个参数)(请区分好变量和占位符的创建场景)

以上概念所对应的方法最终返回的结果为张量。


Tensorflow构建过程

  1. 创建图
    创建张量
    创建操作
  2. 运行图
    运行图:sess.run(张量或者操作)
  3. 例如下面的实例代码:


# 导入模块
import tensorflow as tf
import numpy as np

# 下面为tensorflow范式(本文以神经网络为例)
# 1. 加载数据,例如:
x = numpy.array([[0.2, 0.7], [0.14, -0.6]])

# 2. 构建计算图
x = tf.constant(x)
w1 = tf.Variable(tf.random_normal([2, 3], stddev=1, seed=1))  # 张量
w2 = tf.Variable(tf.random_normal([3, 1], stddev=1, seed=1))  # 张量
h = tf.matmul(x, w1)  # 操作
y = tf.matmul(h, w2)  # 操作

# 运行计算图
with tf.Session() as sess:
    # 初始化变量
    init_op = tf.global_variables_initializer()
    # 运行操作
    sess.run(init_op)

    print(sess.run(y))

								

先导入必要的模块,然后定义数据和图的骨架,最后在tf.Session中运行结果。


更新于2019年六月十号


博主简介

性别男,技术爱好者,目前职位是算法工程师。

2019.06.04


热门分类

热门标签
  • Power by longweibing
  • Github: https://github.com/Longweibing
  • CSDN BLOG: https://blog.csdn.net/github_37412255
  • EMAIL: 591178251@qq.com