当前位置: 首页 > 编程笔记 >

tensorflow 基本范例

山凌
2023-03-14
本文向大家介绍tensorflow 基本范例,包括了tensorflow 基本范例的使用技巧和注意事项,需要的朋友参考一下

示例

Tensorflow不仅仅是一个深度学习框架。它是一种通用计算框架,用于以并行和分布式方式执行通用数学运算。下面描述这样的示例。

线性回归

常用的并且易于计算的基本统计示例是将一条线拟合到数据集。在tensorflow中执行此操作的方法在下面的代码和注释中进行了描述。

(TensorFlow)脚本的主要步骤是:

  1. 声明占位符(x_ph,y_ph)和变量(W,b)

  2. 定义初始化运算符(init)

  3. 在占位符和变量声明操作(y_pred,loss,train_op)

  4. 建立工作阶段(sess)

  5. 运行初始化运算符()sess.run(init)

  6. 运行一些图形操作(例如sess.run([train_op, loss], feed_dict={x_ph: x, y_ph: y}))

图形构建使用Python TensorFlow API完成(也可以使用C ++ TensorFlow API完成)。运行该图将调用低级C ++例程。

'''
function: create a linear model which try to fit the line 
          y = x + 2 using SGD optimizer to minimize 
          root-mean-square(RMS) loss function

'''
import tensorflow as tf
import numpy as np

# number of epoch
num_epoch = 100

# training data x and label y
x = np.array([0., 1., 2., 3.], dtype=np.float32)
y = np.array([2., 3., 4., 5.], dtype=np.float32)

# convert x and y to 4x1 matrix
x = np.reshape(x, [4, 1])
y = np.reshape(y, [4, 1])

# test set(using a little trick)
x_test = x + 0.5
y_test = y + 0.5

# This part of the script builds the TensorFlow graph using the Python API

# First declare placeholders for input x and label y
# Placeholders are TensorFlow variables requiring to be explicitly fed by some 
# input data
x_ph = tf.placeholder(tf.float32, shape=[None, 1])
y_ph = tf.placeholder(tf.float32, shape=[None, 1])

# Variables (if not specified) will be learnt as the GradientDescentOptimizer
# is run
# Declare weight variable initialized using a truncated_normal law
W = tf.Variable(tf.truncated_normal([1, 1], stddev=0.1))
# Declare bias variable initialized to a constant 0.1
b = tf.Variable(tf.constant(0.1, shape=[1]))

# Initialize variables just declared 
init = tf.initialize_all_variables()

# In this part of the script, we build operators storing operations
# on the previous variables and placeholders.
# model: y = w * x + b
y_pred = x_ph * W + b

# loss function
loss = tf.mul(tf.reduce_mean(tf.square(tf.sub(y_pred, y_ph))), 1. / 2)
# create training graph
train_op = tf.train.GradientDescentOptimizer(0.1).minimize(loss)

# This part of the script runs the TensorFlow graph (variables and operations
# operators) just built.
with tf.Session() as sess:
    # initialize all the variables by running the initializer operator
    sess.run(init)
    for epoch in xrange(num_epoch):
        # Run sequentially the train_op and loss operators with
        # x_ph and y_ph placeholders fed by variables x and y
        _, loss_val = sess.run([train_op, loss], feed_dict={x_ph: x, y_ph: y})
        print('epoch %d: loss is %.4f' % (epoch, loss_val))

    # see what model do in the test set
    # by evaluating the y_pred operator using the x_test data
    test_val = sess.run(y_pred, feed_dict={x_ph: x_test})
    print('ground truth y is: %s' % y_test.flatten())
    print('predict y is     : %s' % test_val.flatten())
           

 类似资料:
  • 本文向大家介绍Laravel 基本范例,包括了Laravel 基本范例的使用技巧和注意事项,需要的朋友参考一下 示例 您可以使用validate方法(由ValidatesRequeststrait提供的基本Controller中提供)来验证请求数据。 如果规则通过,您的代码将继续正常执行;但是,如果验证失败,包含验证错误的错误响应将自动发送回: 对于典型的HTML表单请求,用户将被重定向到上一页,

  • 本文向大家介绍rx-java 基本范例,包括了rx-java 基本范例的使用技巧和注意事项,需要的朋友参考一下 示例 调度程序是有关处理单元的RxJava抽象。调度程序可以由Executor服务支持,但是您可以实现自己的调度程序实现。 AScheduler应该满足此要求: 应该顺序处理未延迟的任务(FIFO顺序) 任务可以延迟 Scheduler可以在某些运算符(例如:)中将A用作参数delay,

  • 主要内容:张量数据结构,TensorFlow的各种尺度在本章中,我们将了解TensorFlow的基础知识,将从理解张量的数据结构开始。 张量数据结构 张量()用作TensorFlow语言中的基本数据结构。张量表示任何称为数据流图的流程图中的连接边。张量也可以定义为多维数组或列表。 通过以下三个参数识别张量 - 秩 张量中描述的维度单位称为秩,它标识了张量的维数。张量的等级可以描述为定义的张量的阶数或n维。 形状 行数和列数一起定义了Tensor的形状

  • 在这个标准工业大行其道的今天,任何事物都有属于自己的标准或者规范。作为当下最流行的编程语言之一的 Python 当然也不例外,这节课我们就来学习下 Python 的基本语法规范: 1. 简介 本文介绍 Python 的最基本语法和功能,即:安装完 Python 后、开始学习 Python,首先需要了解的知识点。 2. 变量 2.1 什么是变量 变量是 Python 程序用来保存计算结果的存储单元,

  • 主要内容:数学计算在TensorFlow中创建基本应用程序之前,了解TensorFlow所需的数学概念非常重要。数学是任何机器学习算法的核心。在数学核心概念的帮助下,定义了特定机器学习算法的解决方案。 向量 将数字数组(连续或离散)定义为向量。机器学习算法处理固定长度向量以产生更好的输出。 机器学习算法处理多维数据,因此向量起着至关重要的作用。 矢量模型的图形表示如下所示 - 标量 标量可以定义为一维向量。标量是那

  • 我在Tensorflow中的LSTM-RNN上训练一些音乐数据,遇到了GPU内存分配的一些问题,我不明白:我遇到了OOM,而实际上似乎还有足够的VRAM可用。一些背景:我正在使用GTX1060 6GB、英特尔至强E3-1231V3和8GB内存开发Ubuntu Gnome 16.04。现在,首先是我能理解的错误消息的一部分,在中,我将在最后再次添加整个错误消息,以供任何可能要求帮助的人使用: I t