3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)

3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第1张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第2张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第3张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第4张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第5张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第6张图片

应用场景

3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第7张图片

3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第8张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第9张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第10张图片
用Tensorflow实现加法运算演示数据流图(需要开启会话)

import tensorflow  as tf

def tensorflow_demo():
    # Tensorflow实现加法
    a=tf.constant(2)
    b=tf.constant(3)
    c=a+b
    print("Tensorflow加法运算的结果:\n",c)

    #开启会话
    with tf.Session() as sess:
        c_t=sess.run(c)
        print("c_t:\n",c_t)
if __name__ == '__main__':
    tensorflow_demo()

3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第11张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第12张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第13张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第14张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第15张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第16张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第17张图片

import tensorflow  as tf

def tensorflow_demo():
    # Tensorflow实现加法
    a=tf.constant(2)
    b=tf.constant(3)
    #c=a+b(不提倡直接使用符合运算)
    c=tf.add(a,b)

    print("Tensorflow加法运算的结果:\n",c)
    # 查看默认图
    # 方法1:调用方法
    default_g = tf.get_default_graph()
    print("default_g:\n", default_g)
    # 方法2:查看属性
    print("a的图属性:\n", a.graph)
    print("c的图属性:\n", c.graph)
    #开启会话
    with tf.Session() as sess:
        c_t=sess.run(c)
        print("c_t:\n",c_t)
        print("sess的图属性:\n",sess.graph)

    return None
if __name__ == '__main__':
    tensorflow_demo()

3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第18张图片

3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第19张图片

import tensorflow  as tf

def tensorflow_demo():
    new_g = tf.get_default_graph()
    with new_g.as_default():
        a_new = tf.constant(20)
        b_new = tf.constant(30)
        c_new = a_new+b_new
        print("c_new:\n",c_new)
    #这时就不能用默认的sesstion了
    #开启new_g的会话
    with tf.Session(graph=new_g) as new_sess:
        c_new_value = new_sess.run(c_new)
        print("c_new_value:\n",c_new_value)
        print("new_sess的图属性:\n",new_sess.graph)
    return None
if __name__ == '__main__':
    tensorflow_demo()

3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第20张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第21张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第22张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第23张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第24张图片

OP

3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第25张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第26张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第27张图片
在这里插入图片描述
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第28张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第29张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第30张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第31张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第32张图片
在这里插入图片描述

3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第33张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第34张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第35张图片

张量

3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第36张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第37张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第38张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第39张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第40张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第41张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第42张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第43张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第44张图片
演示:
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第45张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第46张图片
在这里插入图片描述
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第47张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第48张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第49张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第50张图片
张量变换总结:
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第51张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第52张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第53张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第54张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第55张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第56张图片
创建变量、变量的初始化、修改命名空间代码:

import tensorflow as tf
import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
def variable_demo():
    """
    变量的演示
    :return:
    """
    # 创建变量
    with tf.variable_scope("my_scope"):
        a = tf.Variable(initial_value=50)
        b = tf.Variable(initial_value=40)
    with tf.variable_scope("your_scope"):
        c = tf.add(a, b)
    print("a:\n", a)
    print("b:\n", b)
    print("c:\n", c)

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

    # 开启会话
    with tf.Session() as sess:
        # 运行初始化
        sess.run(init)
        a_value, b_value, c_value = sess.run([a, b, c])
        print("a_value:\n", a_value)
        print("b_value:\n", b_value)
        print("c_value:\n", c_value)

    return None
if __name__ == '__main__':
    variable_demo()

在这里插入图片描述
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第57张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第58张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第59张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第60张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第61张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第62张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第63张图片
在这里插入图片描述
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第64张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第65张图片
3.步骤:
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第66张图片
代码:

import tensorflow as tf

def linear_regression():
    """
    自实现一个线性回归
    :return:
    """
    # 1)准备数据
    X = tf.random_normal(shape=[100, 1])
    y_true = tf.matmul(X, [[0.8]]) + 0.7
    # 2)构造模型
    # 定义模型参数 用 变量
    weights = tf.Variable(initial_value=tf.random_normal(shape=[1, 1]))
    bias = tf.Variable(initial_value=tf.random_normal(shape=[1, 1]))
    y_predict = tf.matmul(X, weights) + bias
    # 3)构造损失函数
    error = tf.reduce_mean(tf.square(y_predict - y_true))
    # 4)优化损失
    optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.01).minimize(error)
    # 显式地初始化变量
    init = tf.global_variables_initializer()
    # 开启会话
    with tf.Session() as sess:
        # 初始化变量
        sess.run(init)
        # 查看初始化模型参数之后的值
        print("训练前模型参数为:权重%f,偏置%f,损失为%f" % (weights.eval(), bias.eval(), error.eval()))
        #开始训练
        for i in range(100):
            sess.run(optimizer)
            print("第%d次训练后模型参数为:权重%f,偏置%f,损失为%f" % (i+1, weights.eval(), bias.eval(), error.eval()))

    return None
if __name__ == '__main__':
    linear_regression()


3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第67张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第68张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第69张图片
在这里插入图片描述
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第70张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第71张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第72张图片
代码如下:

import tensorflow as tf
import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
def linear_regression():
    """
    自实现一个线性回归
    :return:
    """
    with tf.variable_scope("prepare_data"):
        # 1)准备数据
        X = tf.random_normal(shape=[100, 1], name="feature")
        y_true = tf.matmul(X, [[0.8]]) + 0.7

    with tf.variable_scope("create_model"):
        # 2)构造模型
        # 定义模型参数 用 变量
        weights = tf.Variable(initial_value=tf.random_normal(shape=[1, 1]), name="Weights")
        bias = tf.Variable(initial_value=tf.random_normal(shape=[1, 1]), name="Bias")
        y_predict = tf.matmul(X, weights) + bias

    with tf.variable_scope("loss_function"):
        # 3)构造损失函数
        error = tf.reduce_mean(tf.square(y_predict - y_true))

    with tf.variable_scope("optimizer"):
        # 4)优化损失
        optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.01).minimize(error)

    # 2_收集变量
    tf.summary.scalar("error", error)
    tf.summary.histogram("weights", weights)
    tf.summary.histogram("bias", bias)

    # 3_合并变量
    merged = tf.summary.merge_all()

    # 创建Saver对象
    saver = tf.train.Saver()

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

    # 开启会话
    with tf.Session() as sess:
        # 初始化变量
        sess.run(init)

        # 1_创建事件文件
        file_writer = tf.summary.FileWriter("./tmp/linear", graph=sess.graph)

        # 查看初始化模型参数之后的值
        print("训练前模型参数为:权重%f,偏置%f,损失为%f" % (weights.eval(), bias.eval(), error.eval()))

        # #开始训练
        # for i in range(100):
        #     sess.run(optimizer)
        #     print("第%d次训练后模型参数为:权重%f,偏置%f,损失为%f" % (i+1, weights.eval(), bias.eval(), error.eval()))
        #
        #     # 运行合并变量操作
        #     summary = sess.run(merged)
        #     # 将每次迭代后的变量写入事件文件
        #     file_writer.add_summary(summary, i)
        #
        #     # 保存模型
        #     if i % 10 ==0:
        #         saver.save(sess, "./tmp/model/my_linear.ckpt")
        # 加载模型
        if os.path.exists("./tmp/model/checkpoint"):
            saver.restore(sess, "./tmp/model/my_linear.ckpt")

        print("训练后模型参数为:权重%f,偏置%f,损失为%f" % (weights.eval(), bias.eval(), error.eval()))


    return None
if __name__ == '__main__':
    linear_regression()

3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第73张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第74张图片

import tensorflow as tf

# 1)定义命令行参数
tf.app.flags.DEFINE_integer("max_step", 100, "训练模型的步数")
tf.app.flags.DEFINE_string("model_dir", "Unknown", "模型保存的路径+模型名字")

# 2)简化变量名
FLAGS = tf.app.flags.FLAGS

def command_demo():
    """
    命令行参数演示
    :return:
    """
    print("max_step:\n", FLAGS.max_step)
    print("model_dir:\n", FLAGS.model_dir)

    return None

if __name__ == '__main__':
    command_demo()

3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第75张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第76张图片
在主函数中直接使用
在这里插入图片描述
就可以调用main(argv),功能是显示路径
在这里插入图片描述

总结:

3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第77张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第78张图片
3天入门python深度学习第一天(黑马程序员,有想要视频资料的小伙伴吗)_第79张图片

你可能感兴趣的:(深度学习)