深度学习 之 Tensorflow基础(一)——基本概念和语句使用

Tensorflow基础(一)——基本概念和语句使用

(1) 基本概念

  • Tensor: TensorFlow中最基本的数据结构是Tensor,它表示任意维度的数组或矩阵。TensorFlow中的所有数据都表示为Tensor。
  • Graph: TensorFlow中的计算图(Graph)定义了TensorFlow计算的流程。一个图包含一组节点和边,每个节点表示一个操作,边表示数据的流动。
  • Session: TensorFlow中的Session是与图进行交互的运行时环境。Session提供了对TensorFlow计算图的操作和求值的接口。
  • Variable: TensorFlow中的Variable是一种特殊的Tensor,用于保存模型的参数。Variable是可训练的,它们的值会在训练过程中不断更新。
  • Placeholder: TensorFlow中的Placeholder是一种特殊的Tensor,用于在执行计算图时提供输入数据。Placeholder在计算图中的位置是未知的,它们需要在Session.run()方法中被填充。
  • Operation: TensorFlow中的Operation表示计算图中的一个节点,它通常用于执行一些计算操作,例如矩阵乘法、卷积等。
  • Session.run(): 用于执行计算图中的操作。可以通过这个方法来计算任意Tensor的值,也可以为Placeholder提供输入数据。
  • tf.global_variables_initializer(): TensorFlow中的全局变量初始化操作,用于初始化所有定义的Variable。

(2) 语句使用

  • 导入TensorFlow库:
# 导入TensorFlow库
import tensorflow as tf

# 定义常量
a = tf.constant(2)
b = tf.constant(3)

# 定义变量
w = tf.Variable(tf.random_normal([2, 3], stddev=0.1), name='weights')
b = tf.Variable(tf.zeros([3]), name='biases')

# 定义占位符
x = tf.placeholder(tf.float32, [None, 784])
y = tf.placeholder(tf.float32, [None, 10])

# 定义操作
add = tf.add(a, b)
mul = tf.multiply(a, b)
matmul = tf.matmul(x, w)

# 定义损失函数
cross_entropy = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits=y_pred, labels=y_true))

# 定义优化器
optimizer = tf.train.GradientDescentOptimizer(learning_rate).minimize(cross_entropy)

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

# 创建Session
with tf.Session() as sess:
    # 运行初始化操作
    sess.run(init)
    
    # 运行操作
    result = sess.run(add)
    
    # 训练模型
    for i in range(num_iterations):
        sess.run(optimizer, feed_dict={x: x_train, y: y_train})
    
    # 评估模型
    accuracy = sess.run(accuracy_op, feed_dict={x: x_test, y: y_test})
    
    # TensorBoard可视化
    writer = tf.summary.FileWriter(logdir, graph=tf.get_default_graph())
    tf.summary.scalar('loss', loss)
    tf.summary.scalar('accuracy', accuracy)
    merged_summary_op = tf.summary.merge_all()
    summary, _ = sess.run([merged_summary_op, train_op], feed_dict={x: x_batch, y: y_batch})
    writer.add_summary(summary, global_step=step)
    
    # 加载和保存模型
    saver = tf.train.Saver()
    saver.save(sess, save_path)
    saver.restore(sess, save_path)
    
    # 使用GPU
    with tf.Session(config=tf.ConfigProto(log_device_placement=True)) as sess:
        ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值