深度学习作业L2W3:Tensorflow Tutorial

本次实验了解Tensorflow这个强大的框架。

使用Tensorflow框架的好处是,只需要编写前向传播和损失函数,反向传播框架会帮我们自动完成。

一个tensorflow模型的大体结构:

##参数形状设置
W1 = tf.get_variable(...)
.....
##训练集输入设置
X=tf.placeholder(...)
Y=...
...
##前向传播计算图搭建
tf.matmul(W1, X)
...
##损失函数计算
tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(...))
...
##反向传播优化方法选择
optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate).minimize(cost)
...
##参数初始化
init = tf.global_variables_initializer()
##训练过程
with tf.Session() as sess:
	sess.run(init)
	_ , minibatch_cost = sess.run([optimizer, cost], feed_dict={
   X: minibatch_X, Y: minibatch_Y})

下面来详细介绍一下实验(只节选我认为的重要部分)

计算图的概念

a = tf.constant(2)
b = tf.constant(10)
c = tf.multiply(a,b)
print(c)

运行这部分代码可以发现,c平不是20,而是:
在这里插入图片描述
这表明c = tf.multiply(a,b)不是在做计算,而是在搭建计算图的结构(方便反向传播)。只有利用Session执行才能进行计算。

sess = tf.Session()
print(sess.run(c))

在这里插入图片描述

计算图的搭建

矩阵乘法,激活函数等应当调用tf里面的方法

# GRADED FUNCTION: linear_function

def linear_function():
    """
    Implements a linear function: 
            Initializes W to be a random tensor of shape (4,3)
            Initializes X to be a random tensor of shape (3,1)
            Initializes b to be a random tensor of shape (4,1)
    Returns: 
    result -- runs the session for Y = WX + b 
    """
    
    np.random.seed(1)
    
    ### START CODE HERE ### (4 lines of code)
    X = tf.constant(np.random.randn(3,1), name = "X")
    W = tf.constant(np.random.randn(4,3), name = "W")
    b = tf.constant(np.random.randn(4,1), name = "b")
    Y = tf.matmul(W, X)+b
    ### END CODE HERE ### 
    
    # Create the session using tf.Session() and run it with sess.run(...) on the variable you want to calculate
    
    ### START CODE HERE ###
    sess = tf.Session()
    result = sess.run(Y)
    ### END CODE HERE ### 
    
    # close the session 
    sess.close
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TensorFlow是一个开源的机器学习框架,用于构建和训练各种机器学习模型。TensorFlow提供了丰富的编程接口和工具,使得开发者能够轻松地创建、训练和部署自己的模型。 TensorFlow TutorialTensorFlow官方提供的学习资源,旨在帮助新手快速入门。该教程详细介绍了TensorFlow的基本概念、常用操作和各种模型的构建方法。 在TensorFlow Tutorial中,首先会介绍TensorFlow的基本工作原理和数据流图的概念。通过理解数据流图的结构和运行过程,可以更好地理解TensorFlow的工作方式。 接下来,教程会详细介绍TensorFlow的核心组件,例如张量(Tensor)、变量(Variable)和操作(Operation)。这些组件是构建和处理模型的基本元素,通过使用它们可以创建复杂的神经网络和其他机器学习模型。 在教程的后半部分,会介绍如何使用TensorFlow构建不同类型的模型,例如深度神经网络(DNN)、卷积神经网络(CNN)和递归神经网络(RNN)。每个模型都会有详细的代码示例和实践任务,帮助学习者掌握相关知识和技能。 此外,教程还包含了关于模型的训练、评估和优化的内容,以及如何使用TensorBoard进行可视化和调试。 总结来说,TensorFlow Tutorial提供了全面而详细的学习资源,通过学习该教程,可以快速入门TensorFlow,并且掌握构建和训练机器学习模型的方法。无论是初学者还是有一定经验的开发者,都可以从中受益并扩展自己的机器学习技能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值