Tensorflow 1.x 基本使用

常量与会话

import tensorflow as tf

# 常量的定义
a = tf.constant([1.0, 2.0], name="a")
b = tf.constant([2.0, 3.0], name="b")

# 常量相加
print(a)
print(b)
result = a + b
print(result)   # 并没有执行

# 使用 Session
sess = tf.Session()
r = sess.run(result)
print(r, "\n", type(r))
sess.close()

# with方式 使用session 会话
with tf.Session() as sess:
    print(sess.run(result * 2))

在这里插入图片描述

在这里插入图片描述

变量与正向传播

"""
    变量的使用 与正向传播
"""
import tensorflow as tf

# 输入层
x = tf.constant([[1, 3], [4, 6], [8, 6], [9, 3]], name="x", dtype=tf.float32)

# 第一层权重
w0 = tf.Variable(
    tf.random_normal((2, 4), stddev=0.35, mean=0, seed=7, name="w0"), dtype=tf.float32)
# 第二层权重
w1 = tf.Variable(
    tf.random_normal((4, 1), stddev=0.35, mean=0, seed=7, name="w1"), dtype=tf.float32)

# 整理正向传播网络
l1 = tf.matmul(x, w0)
l2 = tf.matmul(l1, w1)

init_op = tf.initialize_all_variables()

# 执行计算图
with tf.Session() as sess:
    sess.run(init_op)  # 初始化变量
    r = sess.run(l2)
    print(r)

Tensorflow 1.x 基本使用_第1张图片

占位符

"""
    占位符
"""

import tensorflow as tf

# 占位符  用于输入 维度不定的情况下使用
x = tf.placeholder(tf.float32, shape=(None, 2))
print(x)

# 初始化 常量
w0 = tf.constant([[1, 2, 3, 4], [5, 6, 7, 8]], dtype=tf.float32)
w1 = tf.constant([[2], [3], [2], [1]], dtype=tf.float32)
print(x.shape, w0.shape, w1.shape)
# 前向传播
l1 = tf.matmul(x, w0)
out = tf.matmul(l1, w1)

with tf.Session() as sess:  # 开启会话运行
    # 运行后追溯 需要输入[None, 2]的数据
    # 喂数据 [[5.0, 6.0]]
    r = sess.run(out, feed_dict={
     x: [[5.0, 6.0]]})
    print(r)

    # 喂数据 [[6.0, 5.0]]
    r = sess.run(out, feed_dict={
     x: [[6.0, 5.0]]})
    print(r)

    # 喂数组数据
    r = sess.run(out, feed_dict={
     x: [[6.0, 5.0], [5.0, 6.0]]})
    print(r)

在这里插入图片描述
Tensorflow 1.x 基本使用_第2张图片

你可能感兴趣的:(TensorFlow,python)