深度学习01

1,深度学习介绍
深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。
2,认识tensorflow
什么是TensorFlow?
3,tensorflow基础
基础知识
4,tensorflow进阶
1)图
在这里插入图片描述

2)会话
运行图的结构,分配资源计算,掌握资源(变量资源,队列,线程)、在这里插入图片描述
在这里插入图片描述

3)张量
1,张量的阶和数据类型
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述

2,张量操作
张量操作
张量基本操作
4)变量
变量是一种op,是一种特殊的张量,能够进行存储持久化,它的值就是张量,默认被训练
5)模型保存与加载
6)自定义命令行参数
5,案例:实现线性回归
1),准备好特征值和目标值
2),建立模型,随机初始化一个权重和一个偏置值
3),求损失函数,误差,均方误差
4),梯度下降去优化损失过程,指定学习率
梯度爆炸tensorboard作用域
在这里插入图片描述

# coding: gbk
import tensorflow as tf
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
#  保证sess.run()能够正常运行
tf.compat.v1.disable_eager_execution()


def myregression():
    """
    自定义一个线性回归预测
    :return:
    """
    with tf.compat.v1.variable_scope("data"):
        # 1,准备数据,x 特征值[100,1] y 目标值[100]
        x = tf.compat.v1.random_normal([100,1],mean=1.75, stddev=0.5, name="x_data")

        # 矩阵相乘必须是二维
        y_true = tf.matmul(x,[[0.7]]) + 0.8
    with tf.compat.v1.variable_scope("model"):
        # 2,建立线性回归模型,1个特征,一个权值,一个偏置 y = xw +b
        # 随机给定一个权值和偏置,让他计算损失,然后在当前状态下优化
        # 用变量定义才能优化
        weight = tf.Variable(tf.compat.v1.random_normal([1,1], mean=0.0, stddev=1.0), name="w")
        bias = tf.Variable(0.0, name="b")

        y_predict = tf.matmul(x, weight) + bias
    with tf.compat.v1.variable_scope("loss"):
        # 3,建立损失函数,均方误差
        loss = tf.reduce_mean(tf.square(y_true - y_predict))
    with tf.compat.v1.variable_scope("optimizer"):
        # 4,梯度下降优化损失  leaning_rate:0~1,2,3,5,7,10
        train_op = tf.compat.v1.train.GradientDescentOptimizer(0.1).minimize(loss)

    # 1、收集tensor
    tf.compat.v1.summary.scalar('losses', loss)
    tf.compat.v1.summary.histogram('weights', weight)

    # 定义合并tensor的op
    merged = tf.compat.v1.summary.merge_all()

    # 定义一个初始化变量的op
    init_op = tf.compat.v1.global_variables_initializer()

    # 定义一个保存模型的实例
    saver = tf.compat.v1.train.Saver()

    # 通过会话运行程序
    with tf.compat.v1.Session() as sess:
        sess.run(init_op)

        # 打印随机最先初始化的权重和偏置
        print("随机初始化的参数权重为:%f,偏置为:%f" % (weight.eval(), bias.eval()))
        filewriter = tf.compat.v1.summary.FileWriter("B:\\PycharmProjects\\PythonProject\\机器学习\\深度学习\\logdir\\log1", graph=sess.graph)

        # 加载模型,覆盖模型当中随机定义的参数,从上次训练的参数开始
        if os.path.exists("B:\\PycharmProjects\\PythonProject\\机器学习\\深度学习\\model\\checkpoint"):
            saver.restore(sess, "B:\\PycharmProjects\\PythonProject\\机器学习\\深度学习\\model\\model1")

        # 循环运行优化
        for i in range(500):
            sess.run(train_op)
            summary = sess.run(merged)
            filewriter.add_summary(summary, i)
            print("第%d次优化的参数权重为:%f,偏置为:%f" % (i, weight.eval(), bias.eval()))

        saver.save(sess, "B:\\PycharmProjects\\PythonProject\\机器学习\\深度学习\\model\\model1")
        return  None


if __name__=="__main__":
    myregression()

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值