TensorFlow的简单实用

Posted abc23

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TensorFlow的简单实用相关的知识,希望对你有一定的参考价值。

定义常量

import tensorflow as tf
# 定义常量
m1 = tf.constant([[3, 3]])
m2 = tf.constant([[2], [3]])
# 定义乘法
product = tf.matmul(m1, m2)
# 这里不会直接输出结果,会打印出一个tensor
# 想要输出结果要在sess中进行
print(product)
# 第一种方式定义session
sess =  tf.Session() 
result = sess.run(product)
print(result)
sess.close()
# 第二种方式定义session
with tf.Session() as sess:
    print(sess.run(product))
    sess.close()

结果:[[15]]

定义变量

import tensorflow as tf
# 定义变量
x = tf.Variable([1, 2])
y = tf.Variable([3, 3])
sub = tf.subtract(x, y)
add = tf.add(x, y)

# 初始化所有变量 对于变量要进行初始化
init = tf.global_variables_initializer()
# 在回话中进行结果
with tf.Session() as sess:
    sess.run(init)
    print(sess.run(sub))
    print(sess.run(add))

结构:

[-2 -1]
[4 5]

占位符

import tensorflow as tf
#
Feed:先定义占位符,等需要的时候再传入数据 x1 = tf.placeholder(tf.float32) x2 = tf.placeholder(tf.float32) # 乘法操作 y = tf.multiply(x1, x2) # 使用的占位符元素在计算时要进行赋值运算 with tf.Session() as sess: print(sess.run(y, feed_dict={x1: 3, x2: 4}))

 使用tensor进行线性回归

import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt

# 随机初始化一批数据
x_data = np.random.rand(100)
noise = np.random.normal(0, 0.01, x_data.shape)
y_data = x_data * 0.1 + 0.2 + noise

# 构建一个线性模型
d = tf.Variable(np.random.rand(1))
k = tf.Variable(np.random.rand(1))
y_pre = k*x_data + d

# 定义loss值
loss = tf.losses.mean_squared_error(y_pre, y_data)
# 定义优化器  使用优化器来优化loss
optimezer = tf.train.GradientDescentOptimizer(0.3)
train = optimezer.minimize(loss)

# 初始化变量
init = tf.global_variables_initializer()

with tf.Session() as sess:
    sess.run(init)
    for i in range(301):
        sess.run(train)
        if i % 30 == 0:
            print(i, sess.run([k, d]))
    y_pred = sess.run(y_pre)
    # 画出y_data和y_pred
    plt.scatter(x_data, y_data)
    plt.scatter(x_data, y_pred)
    plt.show()

结果:

         技术图片

 

以上是关于TensorFlow的简单实用的主要内容,如果未能解决你的问题,请参考以下文章

Android 实用代码片段

30 段 Python 实用代码

asp.net页面实用代码片段

超实用的php代码片段

实用代码片段

分享几个实用的代码片段(附代码例子)