李金洪 深度学习_李金洪 深度学习源码 - CSDN
  • 深度学习之TensorFlow 入门、原理与进阶实战李金洪 PDF 源代码 同是机器学习爱好者,微信多多交流!

    深度学习之TensorFlow 入门、原理与进阶实战李金洪

    1. PDF
    2. 源代码

    同是机器学习爱好者,微信多多交流!

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 深度学习入门

    2020-07-03 17:04:06
    深度学习之Tensorflow入门、原理与进阶实战-李金洪 深度学习入门 个人推荐很好得入门课程唐宇迪的课程,他的github主页https://github.com/tangyudi/Ai-learn有代码资料和他全部教授的课程 深度学习基础 卷积神经...

    个人深度学习学习路线

    相关书籍推荐

    深度学习入门:基于 Python 的理论与实现-斋藤康毅
    深度学习的数学-涌井良辛、涌井贞美
    跟着迪哥学Python数据分析与机器学习实战-唐宇迪(他的github上有)
    深度学习之Tensorflow入门、原理与进阶实战-李金洪

    深度学习入门

    个人推荐很好得入门课程唐宇迪的课程,他的github主页https://github.com/tangyudi/Ai-learn有代码资料和他全部教授的课程

    1. 深度学习基础
    2. 卷积神经网络
    3. 框架Tensorflow或Pytorch等
    4. 图像分类
    5. 调参技巧
    6. 读论文

    Tensorflow&Keras&Pytorch

    Tensorflow:慕课吴明辉深度学习课程
    Keras:先学Tensorflow在学Keras,入门更简单
    Pytorch:唐宇迪Pytorch实战系列

    LeNet&AlexNet&VggNet&Google&ResNet

    看博客,可试着学Tensorflow手工去搭建这些经典的卷积神经网络,更有利于理解卷积,池化等操作。

    数据集mnist&cifar10&cifar100&Imagenet

    使用上述经典神经网络实现这些数据集的分类,ImageNet数据集太大,且网上资源少,选择学习使用。

    后续完善中…

    展开全文
  • 深度学习之TenserFlow工程化项目实战》李金洪PDF 网盘链接:https://pan.baidu.com/s/13bDr0RunkvOZB8Uupj3nAQ提取码:8m3t 转载于:https://www.cnblogs.com/stoneacc/p/11243678.html...

    《深度学习之TenserFlow工程化项目实战》李金洪PDF

    网盘链接:https://pan.baidu.com/s/13bDr0RunkvOZB8Uupj3nAQ 提取码:8m3t

    转载于:https://www.cnblogs.com/stoneacc/p/11243678.html

    展开全文
  • 深度学习项目案例TensorFlow.rar 深度学习项目案例TensorFlow.rar 带源码
  • 实例28:用线性单分逻辑回归分析肿瘤是良性还是恶性的: from sklearn.utils import shuffle### def generate(sample_size, mean, cov, diff, regression): num_classes = 2 samples_per_class = int(sample_size...

    实例28:用线性单分逻辑回归分析肿瘤是良性还是恶性的:

    from sklearn.utils import shuffle###
    def generate(sample_size, mean, cov, diff, regression):
        num_classes = 2 
        samples_per_class = int(sample_size/2)
        
        X0 = np.random.multivariate_normal(mean, cov, samples_per_class)#方法用于根据实际情况生成一个多元正态分布矩阵,mean = 1
        Y0 = np.zeros(samples_per_class)
        
        for ci, d in enumerate(diff):
            X1 = np.random.multivariate_normal(mean+d, cov, samples_per_class)
            Y1 = (ci+1)*np.ones(samples_per_class)
            
            X0 = np.concatenate((X0,X1))#numpy提供了numpy.concatenate((a1,a2,...), axis=0)函数。能够一次完成多个数组的拼接。其中a1,a2,...是数组类型的参数
            Y0 = np.concatenate((Y0,Y1))#适合大量数据
              
        if regression == False:
            class_ind = [Y == class_number for class_number in range(num_classes)]
            Y = np.asarry(np.hstack(class_ind), dtype=np.float32)
            #array和asarray都可将结构数据转换为ndarray类型。但是主要区别就是当数据源是ndarray时,array仍会copy出一个副本,占用新的内存,但asarray不会。
        

        #X=random.shuffle(X0)
        #Y=random.shuffle(Y0)#shuffle() 方法将序列的所有元素随机排序   import random  random.shuffle (lst )
        X, Y = shuffle(X0, Y0)

        return X,Y
            
        
        
    import numpy as np
    import matplotlib.pyplot as plt
    import tensorflow.compat.v1 as tf
    tf.disable_v2_behavior()
    np.random.seed(10)
    num_classes = 2
    mean = np.random.randn(num_classes)
    cov = np.eye(num_classes)
    X, Y = generate(1000, mean, cov, [3.0], True)
    colors = ['r' if l == 0 else 'b' for l in Y[:]]
    plt.scatter(X[:,0], X[:,1], c=colors)
    plt.xlabel("Scaled age (in yrs)")
    plt.ylabel("Tumor size (in cm)")
    plt.show()
    lab_dim = 1
    #构建网络结构
    input_dim = 2
    input_features = tf.placeholder(tf.float32, [None, input_dim])
    input_lables = tf.placeholder(tf.float32, [None, lab_dim])
    #定义学习参数
    W = tf.Variable(tf.random_normal([input_dim,lab_dim]), name = 'weight')
    b = tf.Variable(tf.zeros([lab_dim]), name = 'bias')

    output = tf.nn.sigmoid(tf.matmul(input_features, W) + b)
    cross_entropy = -(input_lables * tf.log(output) + (1- input_lables) * tf.log(1 - output))
    ser = tf.square(input_lables - output)
    loss = tf.reduce_mean(cross_entropy)
    err = tf.reduce_mean(ser)
    optimizer = tf.train.AdamOptimizer(0.04)
    train = optimizer.minimize(loss)
    #训练
    maxEpochs = 50
    minibatchsize = 25
    #启动session
    with tf.Session() as sess:
        tf.global_variables_initializer().run()
        #向模型输入数据
        for epoch in range(maxEpochs):
            sumerr = 0
            for i in range(np.int32(len(Y)/minibatchsize)):
                x1 = X[i * minibatchsize: (i+1)*minibatchsize,:]
                y1 = np.reshape(Y[i * minibatchsize:(i+1)*minibatchsize], [-1,1])
                tf.reshape(y1,[-1,1])
                _,lossval,outputval,errval = sess.run([train, loss, output,err], feed_dict = {input_features: x1, input_lables: y1})
                sumerr = sumerr + errval
                
            print("Epoch:",'%04d'%(epoch+1), "cost =","{:.9f}".format(lossval),"err =",sumerr/minibatchsize)
            
            
        #数据可视化
        train_X, train_Y = generate(100, mean, cov, [3.0], True)
        colors = ['r'if l == 0 else 'b' for l in train_Y[:]]
        plt.scatter(train_X[:,0], train_X[:,1], c = colors)
        x = np.linspace(-1,8,200)
        y = -x*(sess.run(W)[0]/sess.run(W)[1])-sess.run(b)/sess.run(W)[1]
        plt.plot(x,y, label = 'Fitted line')
        plt.legend()
        plt.show()

    运行结果:

    实例29:用线性逻辑回归处理多线性分类问题


    # -*- coding: utf-8 -*-

    import tensorflow.compat.v1 as tf
    tf.disable_v2_behavior()

    import numpy as np

    import matplotlib.pyplot as plt

     

    from sklearn.utils import shuffle

    from matplotlib.colors import colorConverter, ListedColormap 

        

    # 对于上面的fit可以这么扩展变成动态的

    from sklearn.preprocessing import OneHotEncoder

    def onehot(y,start,end):

        ohe = OneHotEncoder()

        a = np.linspace(start,end-1,end-start)

        b =np.reshape(a,[-1,1]).astype(np.int32)

        ohe.fit(b)

        c=ohe.transform(y).toarray()  

        return c     

    #

        

    def generate(sample_size, num_classes, diff,regression=False):

        np.random.seed(10)

        mean = np.random.randn(2)

        cov = np.eye(2)  

        

        #len(diff)

        samples_per_class = int(sample_size/num_classes)

     

        X0 = np.random.multivariate_normal(mean, cov, samples_per_class)

        Y0 = np.zeros(samples_per_class)

        

        for ci, d in enumerate(diff):

            X1 = np.random.multivariate_normal(mean+d, cov, samples_per_class)

            Y1 = (ci+1)*np.ones(samples_per_class)

        

            X0 = np.concatenate((X0,X1))

            Y0 = np.concatenate((Y0,Y1))

            #print(X0, Y0)

        

      

        if regression==False: #one-hot  0 into the vector "1 0

            Y0 = np.reshape(Y0,[-1,1])        

            #print(Y0.astype(np.int32))

            Y0 = onehot(Y0.astype(np.int32),0,num_classes)

            #print(Y0)

        X, Y = shuffle(X0, Y0)

        #print(X, Y)

        return X,Y    

     

     

    # Ensure we always get the same amount of randomness

    np.random.seed(10)

     

    input_dim = 2

    num_classes =3 

    X, Y = generate(2000,num_classes,  [[3.0],[3.0,0]],False)

    aa = [np.argmax(l) for l in Y]

    colors =['r' if l == 0 else 'b' if l==1 else 'y' for l in aa[:]]

     

    plt.scatter(X[:,0], X[:,1], c=colors)

    plt.xlabel("Scaled age (in yrs)")

    plt.ylabel("Tumor size (in cm)")

    plt.show()

     

    #参考了https://blog.csdn.net/weixin_37993251/article/details/89601178该文

    运行截图:

    #构建网络结构
    import tensorflow.compat.v1 as tf
    tf.disable_v2_behavior()
    lab_dim = num_classes
    #定义占位符
    input_features = tf.placeholder(tf.float32, [None, input_dim])
    input_labels = tf.placeholder(tf.float32, [None, lab_dim])
    #定义学习参数
    W = tf.Variable(tf.random_normal([input_dim, lab_dim]),name = 'weight')
    b = tf.Variable(tf.zeros([lab_dim]),name = 'bias')
    output = tf.matmul(input_features, W)+ b
    z = tf.nn.softmax(output)

    a1 = tf.argmax(tf.nn.softmax(output), axis = 1)#按行找出索引值,生成数组
    b1 = tf.argmax(input_labels, axis = 1)
    err = tf.count_nonzero(a1-b1)#两个数组相减,不为0就是错误个数
    cross_entropy = tf.nn.softmax_cross_entropy_with_logits(labels= input_labels,logits=output)
    loss = tf.reduce_mean(cross_entropy)
    optimizer = tf.train.AdamOptimizer(0.04)
    train = optimizer.minimize(loss)

     

    #训练
    maxEpochs = 50
    minibatchsize = 25
    with tf.Session() as sess:
        sess.run(tf.global_variables_initializer())
        
        for epoch in range(maxEpochs):
            sumerr = 0
            for i in range(np.int32(len(Y)/minibatchsize)):
                x1 = X[i * minibatchsize:(i+1)*minibatchsize,:]
                y1 = Y[i * minibatchsize:(i+1)*minibatchsize,:]
                
                _,lossval, outputval,errval = sess.run([train,loss,output,err], feed_dict = {input_features: x1, input_labels:y1})
                sumerr= sumerr + (errval/minibatchsize)
            print("Epochs:", '%04d'%(epoch+1),"cost=","{:.9f}".format(lossval),"err=",sumerr/minibatchsize)
        
    #数据可视化
        train_X,train_Y = generate(200,num_classes, [[3.0],[3.0,0]],False)
        aa = [np.argmax(1) for l in train_Y]
        colors = ['r'if l ==0 else 'b' if l==1 else 'y' for l in aa[:1]]
        plt.scatter(train_X[:,0], train_X[:,1], c=colors)

        x=np.linspace(-1,8,200)
        y=-x*(sess.run(W)[0][0]/sess.run(W)[1][0])-sess.run(b)[0]/sess.run(W)[1][0]
        plt.plot(x,y, label='first line', lw=3)
        
        y=-x*(sess.run(W)[0][1]/sess.run(W)[1][1])-sess.run(b)[1]/sess.run(W)[1][1]
        plt.plot(x,y, label='second line',lw=2)
        
        y=-x*(sess.run(W)[0][2]/sess.run(W)[1][2])-sess.run(b)[2]/sess.run(W)[1][2]
        plt.plot(x,y, label='third line', lw=1)

        plt.legend()
        plt.show()
        print(sess.run(W), sess.run(b))
        
        
        #模型可视化
        train_X,train_Y = generate(200, num_classes, [[3.0], [3.0, 0]], False)
        aa = [np.argmax(1) for l in train_Y]
        colors = ['r' if l==0 else 'b' if l==1 else 'y' for l in aa[:]]
        plt.scatter(train_X[:,0], train_X[:,1], c=colors)
        
        nb_of_xs = 200
        xs1 = np.linspace(-1, 8, num=nb_of_xs)
        xs2 = np.linspace(-1, 8, num=nb_of_xs)
        xx,yy = np.meshgrid(xs1, xs2)
        #初始化和填充classification plane
        classification_plane = np.zeros((nb_of_xs, nb_of_xs))
        for i in range(nb_of_xs):
            for j in range(nb_of_xs):
                classification_plane[i, j] = sess.run(a1, feed_dict= {input_features: [[xx[i,j], yy[i,j] ]]})
         #创建color map显示
        cmap = ListedColormap([
            colorConverter.to_rgba('r', alpha=0.30),
            colorConverter.to_rgba('b', alpha=0.30),
            colorConverter.to_rgba('y', alpha=0.30)])
        #图示各个样本边界
        plt.contourf(xx,yy,classification_plane, cmap=cmap)
        plt.show()

     

    运行截图:

    展开全文
  • 对应《深度学习之tensorflow入门、原理与进阶实战》大量的实例(共96个),全面而深入地讲解了深度学习神经网络原理和TensorFlow使用方法两方面的内容。实例具有很强的实用性,如对图片分类、制作一个简单的聊天...
  • 深度学习Tensorflow工程化项目实战读书笔记 之后将进行笔记更新

    深度学习Tensorflow工程化项目实战

    第一章 学习准备

    本笔记中代码的环境为python3.6,Tensorflow1.15,主要对于书中的工程实例进行调试和代码注解



    第二章 开发环境

    开发环境为:ubuntu下 pycharm+Anaconda3
    


    第三章 简单的AI实例的调用

    实例3.1:用AI模型识别图像是桌子、猫、狗,还是其他



    第四章 用TensorFlow制作自己的数据集

    4.1TensorFlow的数据集格式

    Tensorflow有含有以下四种数据集格式:
    1,内存对象数据集:
    直接用字典类型feed_dict,通过tf的feed注入模式向模型输入数据。该格式适用于少量的数据输入时;
    2,TFRecord数据集:
    这是tensorflow官方定义的一种数据类型,用队列式管道(tfRecord)向模型输入数据。该数据类型在网络加载时效率更突出,适用于大量数据的情况;
    3,Dataset数据集:
    通过tensorflow官方的api,性能更高的输入管道(tf.data),该方法适用于tf1.4及之后的版本;
    4,tf.keras接口数据集:为keras封装的数据接口。

    实例4.1:将模拟数据制作成内存对象数据集

    # -*- coding: utf-8 -*-
    import tensorflow as tf
    import numpy as np
    import matplotlib.pyplot as plt
    
    #在内存中生成模拟数据
    def GenerateData(batchsize = 100):
        train_X = np.linspace(-1, 1, batchsize)   #train_X为-1到1之间连续的100个浮点数,间隔为0.02
        train_Y = 2 * train_X + np.random.randn(*train_X.shape) * 0.3 # y=2x,但是加入了0.3权重的随机噪声
        yield train_X, train_Y       #以生成器的方式返回
    
    #定义网络模型结构部分,这里只有占位符张量,等待模型run时在进行feed
    Xinput = tf.placeholder("float",(None))  #定义两个占位符,用来接收参数
    Yinput = tf.placeholder("float",(None))
    
    #建立会话,获取并输出数据
    training_epochs = 20  # 定义需要迭代的次数,即将全部数据集遍历的次数
    with tf.Session() as sess:  # 建立会话(session),使用with方法,无需sess.close
        for epoch in range(training_epochs): #迭代数据集20遍
            for x, y in GenerateData(): #通过for循环打印所有的点
                xv,yv = sess.run([Xinput,Yinput], feed_dict={Xinput: x, Yinput: y})#通过静态图注入的方式,传入数据
    
                print(epoch,"| x.shape:",np.shape(xv),"| x[:3]:",xv[:3])
                print(epoch,"| y.shape:",np.shape(yv),"| y[:3]:",yv[:3])
         
        
    #显示模拟数据点
    train_data =list(GenerateData())[0]#将模拟数据转为列表的形式
    plt.plot(train_data[0], train_data[1], 'ro', label='Original data')
    plt.legend()
    plt.show()
    

    这是生成的数据图表:
    在这里插入图片描述

    展开全文
  • 本系列专门用来记录我的深度学习历程,其中代码大部分均出自于李金洪老师的《深度学习之TensorFlow》,希望所有机器学习的道友都能有所知、有所得。 import tensorflow as tf import numpy as np import ...
  • 资料:《深度学习之Tensorflow工程化项目实战》 章节:第四章 代码分析: **·**实例4.11: line31: label = tf.one_hot(label, depth=2, on_value=1) 分析:tf中标签转独热编码,depth为编码深度,可以理解为类别...
  • “对于我们这些想要了解深度学习的同学们来说,有时候会感觉到无从下手,刷了好几遍的西瓜书还有一大堆资料还是感觉没学到什么,目前来说资料还是相对比较多的,这里推荐一本适合新手入门的书籍。” 《21 个项目玩转...
  • 自己学习机器学习有一段时间了,有了一定基础,学习下深度学习和TensorFlow 汇总下找到的比较好看学习资源,也方便看 深度学习 理论篇–视频 吴恩达教授的视频 网易云课堂吴恩达deeplearning 课程学习的...
  • 课程章节 第1章Tensorflow基础操作1小时17分钟8节 1-1Tensorflow案例实战视频课程01 课程简介 00:38 1-2Tensorflow案例实战视频课程02 Tenso 07:09 1-3Tensorflow案例实战视频课程03 基本计算单元-变量 08:32 ...
  • 以逻辑回归拟合二维数据为例1.准备数据 1.准备数据 主体公式y=2x,生成-1到1之间的100个数为自变量x 添加随机噪声,即x乘2,加入一个[-1,1]之间的随机数*0.3. 线性回归代码: """1....import tensorflow as tf ...
  • 资料:《深度学习之Tensorflow工程化项目实战》 章节:第四章 代码分析: **·**实例4.4: line14: reader = tf.TextLineReader(skip_header_lines=1) 分析:tf内置处理文本的函数,可以按行读取以换行符为间隔的...
  • 深度学习TensorFlow入门

    2018-12-20 19:05:32
    TensorFlow是一个基于数据流编程(dataflow programming)的符号数学系统,被广泛应用于各类机器学习(machine learning)算法的编程实现,其前身是谷歌的神经网络算法库DistBelief。 安装 这里使用的是Anaconda安装...
  • 无论是作为行业内的从业者还是一个组织,在开始深度学习应用之前,都需要掌握两件事: 1. 知其然:掌握一个基础概念,知道深度学习的最新发展可以实现什么。 2. 知其所以然:训练一个新模型或在生产环境下...
  • 点击上方“视学算法”,星标公众号重磅干货,第一时间送达☞机器学习、深度学习、python全栈开发干货作者:草yang年华来源:进击的coder前言给大家分享一波python与深度学习重磅...
  • 深度学习之TensorFlow

    2019-08-09 13:01:04
    TensorFlow在win下可以使用pip安装,pip install TensorFlow ...作为机器学习中更专业的技术,当然还会依赖继续学习中的类库,因此, aconda是必须安装的。 TensorFlow较其他工具有独特的优势,界...
  • 首先解决数据问题,由于tensorflow自带手写数据集,本次直接使用,划重点来了:无论是机器学习还是深度学习,首先最难的也是最复杂的都是数据集的筛选和清理。数据集的好坏直接影响了学习的成败。tensorflow自带的...
  • TensorFlow安装与下载1.win10下安装TensorFlow及配置pycharm2.GPU版本的安装与配置(建议)3.低版本改错4.hello world 1.win10下安装TensorFlow及配置pycharm 参考博客1:Windows10下安装tensorflow及配置pycharm全...
1 2 3 4 5 6
收藏数 104
精华内容 41
关键字:

李金洪 深度学习