利用深度学习训练_图像算法 使用深度学习训练的模型,不用深度学习调用 - CSDN
  • 深度学习模型训练技巧

    千次阅读 2018-01-10 15:27:12
    博主以前都是拿别人的模型别人的数据做做分类啊,做做目标检测,搞搞学习,最近由于导师的工程需求,自己构造网络,用自己的数据来跑网络,才发现模型训练真的是很有讲究,很有技巧在里面,最直接的几个超参数的设置...

    博主以前都是拿别人的模型别人的数据做做分类啊,做做目标检测,搞搞学习,最近由于导师的工程需求,自己构造网络,用自己的数据来跑网络,才发现模型训练真的是很有讲究,很有技巧在里面,最直接的几个超参数的设置问题,以前都是听大牛说设置为32、64、128等数,但是到底设置为多少好呢,我今天跑的是一个自己的字符识别的数据集,我分别制作了30*30 100*100两种图片大小,以及分别是10类 800类 6394类的三种Tf_record来进行测试。

    根据图片大小来选择网络和超参数:

    如果你的图片不是很大的话,比如我的30*30,这个时候做分类的话我肯定不能用VGG和Resnet等这些大的经典网络了,要么把图像变大要么就是用小的网络来进行训练,或者可以把VGG里的pooling时的步长改成1也可以试试(我没试过~~~),如果类别不多(没有上千)就建议用小网络即可,如果是100*100的图片的话还是可以试试用VGG和Resnet等经典网络,

    根据你的图片数量和类别数来选择batch_size:

             一个理想的训练状态应该是loss缓缓的往下降,accurate缓缓的往上增,达到某个状态收敛了,下降和上升的曲线都是比较光滑且平缓的(下图所示的训练过程就比较的好),可以容许有一点点的波动,但不应该有很大的波动,如果你的训练样本少(少于1000)那直接用全梯度下降就好了,不需要用批梯度下降了,不是说不可以用批梯度,而是没必要,我们用批梯度的目的就是为了加快训练速度,其他并没什么用,用全梯度下降是最有效的训练方式,只是反向传播一次需要很久的时间,训练起来很慢,但是如果你的训练类别比较的多,建议batch_size不要选择太小,上千的类别数,batch_size起码弄个128的样子,不然会震荡严重。


    根据网络规模和loss下降速度来选择学习率:

             学习率的选择我们往往都是选择0.001、0.0001、0.00001、0.000001等中的一个,但是到底选择哪一个呢,最基本的原则,网络很复杂的情况下学习率不能太低,不然到传后面基本没梯度了,三五层的网络学习率起码要小于1*e-5,不然会下降过快导致震荡,刚开始的时候可以随意的选择一个学习率作为尝试,如果发现loss下降的过快,那就要调低学习率,反之可以相应的调高(当然前提发现是loss降不下去了,出现了较大的震荡,如果loss下降到了零点几,准确率也升到了很高,那自然不用调)


    展开全文
  • 深度学习训练和推理有何不同?

    千次阅读 2019-07-23 11:05:50
    深度学习训练和推理有何不同? 深度学习训练和推理有何不同? 深度学习中经常涉及到训练(Training)和推断(Inference)这两个词,而这两者有什么区别和联系呢?接下来我们初步分析讨论。 在学校中学习——...

    目录

    深度学习训练和推理有何不同?


     

    深度学习训练和推理有何不同?

    深度学习中经常涉及到训练(Training)推断(Inference)这两个词,而这两者有什么区别和联系呢?接下来我们初步分析讨论。

    在学校中学习——我们可以将其看作是深度神经网络经历「学习」阶段的一种类比。神经网络和大多数人一样——为了完成一项工作,需要接受教育。

    更具体地说,经过训练(training)的神经网络可以将其所学到的知识应用于数字世界的任务——识别图像、口语词、血液疾病,或推荐某人之后可能会购买的鞋子等各种各样的应用。神经网络的这种更快更高效的版本可以基于其所训练的内容对其所获得的新数据进行「推导」,用人工智能领域的术语来说是「推理(inference)」。

    推理(Inference),就是深度学习把从训练中学习到的能力应用到工作中去。

    推理无需训练也能发生。这当然说得通,因为我们人类大多时候就是这样获取和使用知识的。正如我们不需要一直围着老师、满载的书架或红砖校舍转也能阅读莎士比亚的十四行诗一样,推理并不需要其训练方案的所有基础设施就能做得很好。

    所以就让我们在人工智能的语境中分解一下从训练到推理的这个过程,看看它们到底是如何工作的。

    训练深度神经网络

    就像我们不需要一直围着老师、满载的书架或红砖校舍转也能阅读莎士比亚的十四行诗一样,推理并不需要其训练方案的所有基础设施就能做得很好。

    尽管教育过程(即训练)的目标都是一样的——知识(knowledge),但神经网络的训练和我们人类接受教育的过程之间存在相当大的不同。神经网络对我们人脑的生物学——神经元之间的所有互连——只有一点点模仿。我们的大脑中的神经元可以连接到特定物理距离内任何其它神经元,而人工神经网络却不是这样——它分为很多不同的层(layer)连接(connection)数据传播(data propagation)的方向

    训练神经网络的时候,训练数据被输入到网络的第一层。然后所有的神经元,都会根据任务执行的情况,根据其正确或者错误的程度如何,分配一个权重参数(权值)。

    在一个用于图像识别的网络中,第一层可能是用来寻找图像的边。第二层可能是寻找这些边所构成的形状——矩形或圆形。第三层可能是寻找特定的特征——比如闪亮的眼睛或按钮式的鼻子。每一层都会将图像传递给下一层,直到最后一层;最后的输出由该网络所产生的所有这些权重总体决定。

    但这就是训练和我们的教育过程的不同之处。假设我们有一个任务是识别图像中的猫:神经网络会在获取了所有的训练数据,并计算了权重之后才能得出结论说是否有「猫」。我们从这个训练算法中只能得到这样的回应:「正确」或「错误」。

    训练需要密集的计算

    如果算法告诉神经网络其论断错误,网络并不需要知道正确的答案是什么。但这个错误会回传到网络各层,让网络再猜一下,给出一个不同的论断这个错误会反向地传播通过该网络的层,该网络也必须做出其它猜测。在每一次尝试中,它都必须考虑其它属性——在我们的例子中是「猫」的属性——并为每一层所检查的属性赋予更高或更低的权重。然后它再次做出猜测,一次又一次……直到其得到正确的权重配置,从而在几乎所有的尝试中都能得到正确的答案。

    训练会先教深度学习网络在一个有限的图像集里标出猫的图像,稍后,该网络就会在广阔的世界中检测猫。

    现在,我们得到了数据结构和根据训练数据学习到的达到平衡的一整套的权值。这可是精心调配的精美机器。可问题是,这也是需要一只吞噬运算能力的巨兽。曾在 Google 和斯坦福磨砺人工智能、现在百度硅谷实验室的吴恩达教授说,百度训练一个中文语言识别模型不仅需要 4TB 的训练数据,在整个训练循环中,还需要两千亿亿次浮点运算能力(20 exaflops, 20 billion billion)。不知道有没有人想用智能手机试一下。

    接下来,就是推断了。

    恭喜!你的神经网络训练好了

    已经为推理做好了准备

    正确加权了的神经网络本质上是一个笨重的巨型数据库。你不得不为这个家伙的学习过程所准备的所有东西(在我们的教育类比中是所有的铅笔、书本、老师的教导等)现在已经远远多于完成任何特定任务所需要的东西。毕业的时候我们就能摆脱所有这些东西了?

    为了充分利用训练的结果,完成现实社会的任务,我们需要的是一个能够保留学习到的能力,还能迅速应用到前所未见的数据上的,响应迅速的系统。这就是推断,根据真实世界中的少量数据,迅速地提供正确的答案(其实你也把它理解为预测,prediction)。

    尽管这是计算机科学的一个全新领域,但我们仍有两种主要的方法可以对迟钝的神经网络进行修改,以使其速度更快并改善应用在跨多个网络运行时所造成的延迟。

    推理是如何被使用的?只要打开你的智能手机就好了。推理可被用于将深度学习应用到语音识别和分类照片等各种各样的任务上。

    第一个方法着眼于神经网络中训练之后就不再激活的部件。这些部分已不再被需要,可以被「修剪」掉。

    第二个方法是寻找方法将神经网络的多个层融合成一个单一的计算步骤。

    这类似于数字图像的压缩。设计师可能设计了这些巨大的、美丽的、数百万像素宽和高的图像,但如果要将它们放到网上,就需要将它们转换成 jpeg 格式。对人眼来说,它们看起来基本上完全相同,只是分辨率不一样。推理也是类似的,你可以得到预测的几乎同样的准确度,但简化、压缩和优化可以提升运行时的性能。

    这意味着我们可以一直使用推理。你的智能手机的声控助手使用了推理谷歌的语音识别、图像搜索和垃圾邮件过滤应用也都是用了推理。百度也在语音识别、恶意程序检测和垃圾消息过滤中使用了推理。Facebook 的图像识别和亚马逊与 Netflix 的推荐引擎全都依赖于推理。

    具备并行计算(同时进行多个计算)能力的 GPU 既擅长训练,也擅长推理。使用 GPU 训练的系统可以让计算机在某些案例中实现超过人类水平的模式识别和对象检测。

    训练完成后,该网络可被部署在需要「推理」(对数据分类以「推理」出一个结果)的领域中。而具备并行计算能力的 GPU 可以基于训练过的网络运行数十亿的计算,从而快速识别出已知的模式或对象。

    你可以看到这些模型和应用将会越来越聪明、越来越快和越来越准确。训练将越来越简单,推理也将为我们生活的方方面面带来新的应用。这适用于人工智能的告诫也可以适用于我们的年轻人——不要做傻瓜,呆在学校里。不要着急,未来再推理。

    原文地址:

    https://blogs.nvidia.com/blog/2016/08/22/difference-deep-learning-training-inference-ai/

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • 1微调原理在自己的数据集上训练一个新的深度学习模型时,一般采取在预训练ImageNet上进行微调的方法。什么是微调?这里以VGG16为例进行讲解。图1.1VGG16结构示意图如图1.1所示,VGG16的结构为卷积层+全连接层。卷...
    1微调原理

    在自己的数据集上训练一个新的深度学习模型时,一般采取在预训练ImageNet上进行微调的方法。什么是微调?这里以VGG16为例进行讲解。


    图1.1VGG16结构示意图

    如图1.1所示,VGG16的结构为卷积层+全连接层。卷积层分为五个部分,共13层,即图中的conv1~conv5。还有全连接层fc6、fc7、fc8。卷积层加上全连接层总共16层,因此被称为VGG16。如果要将VGG16的结构用于一个新的数据集,首先要去掉fc8这一层,因为fc8这一层输入的是fc7这一层的特征,输出是1000类的概率,这1000类正好对应的是ImageNet模型中的1000个类别,在自己的数据集中一般不是1000类,因此fc8是不适用的,必须将fc8去掉,重新采用适合数据集类别的全连接层,作为新的fc8全连接层,比如数据集为6类,那么新的fc8的输出应当是6类。

    此外,在训练的时候,网络参数的初始值并不是随机生成的,而是采用VGG16在ImageNet上已经训练好的参数作为训练的初始值。这样做的原因在于,在ImageNet数据集上训练过的VGG16中的参数已经包含了大量有用的卷积过滤器,与其从零开始初始化VGG16的所有参数,不如使用自己已经训练好的参数作为训练的起点。这样做不仅节约了大量的训练时间,而且还有助于分类器性能的提高。

    载入VGG16的参数后,就可以开始训练了,此时需要指定训练层数的范围,一般可以选择以下几种范围进行训练:

    a. 只训练fc8。训练范围一定要包含fc8这一层,前面讲过,fc8结构被调整过,因此它的参数不能直接从ImageNet预训练模型中取得,可以只训练fc8层,保持其它层的参数不变,这样就相当于将VGG16当做一个“特征提取器”:用fc7层提取的特征做一个softmax模型分类。这样做的好处是训练速度快,但往往性能不会太好。

    b. 训练所有参数。还可以对网络中所有的参数进行训练,这种方法的训练速度可能会比较慢,但是能提取较高的性能,可以充分发挥深度模型的威力。 

    c训练部分参数。通常是固定浅层参数不变,训练浅层参数。如训练conv1、conv2的部分参数不变,只训练conv3、conv4、conv5、fc6、fc7、fc8。

    这种训练方法就是所谓的对神经网络模型做微调,借助微调可以从预训练模型出发,将神经网络应用到自己的数据集上。

    2数据准备

    首先要做一些数据准备方面的工作:一是把数据集切分为训练集和验证集,二是转换为tfrecord格式。在data_prepare/文件夹中提供了会用到的数据集和代码。

    首先要将自己的数据集切分为训练集和验证集。验证集用于验证模型的准确率,本博客用了一个实验的卫星图片分类数据集,这个数据集一共有六个类。点击打开数据集链接

    在data_prepare文件夹下,使用预先编译好的脚本data_convert.py,将图片转换为tfrecord格式。

    python data_convert.py -t pic/ \
      --train-shards 2 \
      --validation-shards 2 \
      --num-threads 2 \
      --dataset-name satellite

    这样在pic文件夹下就会生成4个tfrecord文件和1个label.txt文件。


    3定义新的dataset文件

    首先,在dataset/目录下新建一个文件夹satellite.py,并将flowers.py文件夹中的内容复制到satellite.py中,接下来需要修改以下几处内容。

    第一处修改,

    对应修改如下图所示


    第二处修改修改为image/format部分

    'image/format': tf.FixedLenFeature((), tf.string, default_value='jpg'),

    修改完satellite.py后,还需要在同目录的dataset_factory.py文件夹中注册satellite数据库。红色框内为新增加的satellite数据


    4准备训练文件夹

    在slim文件夹下新建一个satellite目录,在这个目录下完成以下工作:

     新建一个data 目录,并将第2中准备好的5个转换好格式的训练数据复制进去。

    新建一个train_dir目录,用来保存训练过程中的日志和模型。

    新建一个pretrained目录,在http://download.tensorflow.org/models/inception_v3_2016_08_28.tar.gz 下载并解压后,会得到一个inception_v3.ckpt 文件,将该文件复制到pretrained 目录下。

    5开始训练

    在slim文件夹下运行以下命令开始训练

    python train_image_classifier.py \
      --train_dir=satellite/train_dir \
      --dataset_name=satellite \
      --dataset_split_name=train \
      --dataset_dir=satellite/data \
      --model_name=inception_v3 \
      --checkpoint_path=satellite/pretrained/inception_v3.ckpt \
      --checkpoint_exclude_scopes=InceptionV3/Logits,InceptionV3/AuxLogits \
      --trainable_scopes=InceptionV3/Logits,InceptionV3/AuxLogits \
      --max_number_of_steps=100000 \
      --batch_size=32 \
      --learning_rate=0.001 \
      --learning_rate_decay_type=fixed \
      --save_interval_secs=300 \
      --save_summaries_secs=2 \
      --log_every_n_steps=10 \
      --optimizer=rmsprop \
      --weight_decay=0.00004

    6验证模型准确率      

    可以用eval_image_classifier.py程序进行验证,在slim文件夹下运行以下程序

    python eval_image_classifier.py \
      --checkpoint_path=satellite/train_dir \
      --eval_dir=satellite/eval_dir \
      --dataset_name=satellite \
      --dataset_split_name=validation \
      --dataset_dir=satellite/data \
      --model_name=inception_v3

    执行后,应该会出现类似下面的结果


    7导出模型,并对单张图片进行识别

    在slim文件夹下运行以下程序

    python export_inference_graph.py \
      --alsologtostderr \
      --model_name=inception_v3 \
      --output_file=satellite/inception_v3_inf_graph.pb \
      --dataset_name satellite

    这个命令会在satellite文件夹下生成一个inception_v3_inf_graph.pb文件。(注:inception_v3_inf_graph.pb文件夹只保存了inception_v3的网络结构并不包含训练得到的模型,需要将checkpoint中的模型参数保存进来。需将12106改成train_dir中保存的实际的模型训练步数)在chapter_3文件夹下运行以下命令

    python freeze_graph.py \
      --input_graph slim/satellite/inception_v3_inf_graph.pb \
      --input_checkpoint slim/satellite/train_dir/model.ckpt-12106 \
      --input_binary true \
      --output_node_names InceptionV3/Predictions/Reshape_1 \
      --output_graph slim/satellite/frozen_graph.pb

    运行导出模型分类单张图片

    python classify_image_inception_v3.py \
      --model_path slim/satellite/frozen_graph.pb \
      --label_path data_prepare/pic/label.txt \
      --image_file test_image.jpg


    本博客是我在学习何之源的"21个项目玩转深度学习”这本书时,跟着教材第三章所做的一些实例,实验数据均为第三章的数据,读者朋友如发现错误,有疑问,请留言。谢谢~

    展开全文
  • 自行准备深度学习训练数据

    千次阅读 2017-09-19 16:53:51
    深度学习的模型训练中,数据的收集十分重要,取得足够的数据集对于最终模型的表现有十分重要的意义。但是开源的数据集都指定了特定的目标进行标注,如行人,车辆。当要训练自己所需要的特定检测模型,却又没有开源...

    深度学习的模型训练中,数据的收集十分重要,取得足够的数据集对于最终模型的表现有十分重要的意义。但是开源的数据集都指定了特定的目标进行标注,如行人,车辆。当要训练自己所需要的特定检测模型,却又没有开源数据集的时候,就需要自己去收集和标注图像数据用于训练了。

    1.数据收集

    目前主要通过从百度图片上爬图片来进行数据收集,爬虫脚本如下:

    #-*- coding:utf-8 -*-  
    import re  
    import requests  
    import sys,os  
    
    type=sys.getfilesystemencoding()  
    
    
    def dowmloadPic(html,keyword , i ):  
        pic_url = re.findall('"objURL":"(.*?)",',html,re.S)     
        print '找到关键词:'+keyword+'的图片,现在开始下载图片...'  
        for each in pic_url:  
            print u'正在下载第'+str(i+1)+u'张图片,图片地址:'+str(each)  
            try:  
                pic= requests.get(each, timeout=50)  
            except  Exception,ex :  
                print u'【错误】当前图片无法下载'   
                continue  
            string = 'pictures\\'+keyword+'_'+str(i) + '.jpg'  
            #resolve the problem of encode, make sure that chinese name could be store  
            fp = open(string.decode('utf-8').encode('cp936'),'wb')  
            fp.write(pic.content)  
            fp.close()  
            i += 1  
        return i  
    
    
    
    
    if __name__ == '__main__':  
        word =  raw_input('Input keywords:')  
        #url = 'http://image.baidu.com/search/flip?tn=baiduimage&ie=utf-8&word='+word+'&ct=201326592&v=flip'  
        pnMax = input('Input max pn:')  
        pncount = 0  
        gsm = 80   
        str_gsm =str(gsm)  
        if not os.path.exists('pictures'):  
            os.mkdir('pictures')  
        while pncount<pnMax:  
            str_pn = str(pncount)  
            url = 'http://image.baidu.com/search/flip?tn=baiduimage&ie=utf-8&word='+word+'&pn='+str_pn+'&gsm='+str_gsm+'&ct=&ic=0&lm=-1&width=0&height=0'  
            result = requests.get(url)  
            pncount = dowmloadPic(result.text,word ,pncount)  
        print u'下载完毕'   

    需要预先安装request模块,新建个.py文件,将上面的代码复制到其中,然后在终端中切换到.py文件的路径,用python (文件名).py执行即可。如图,输入关键词和数量即可。

    这里写图片描述

    2.图像重命名

    下载的图像还可以按照自己的命名规则进行存储,但有些情况下你拿到的图片的名字不符合你的要求,我们希望能把图片按照顺序来排列。以下给出个小脚本进行图像的批量重命名:

    # 先输入下面两行指令,按序号为所有文件命名,而且为了避免与之前的名字冲突(比如之前的名字中有数字的情况),所有名字后面加上字母a
    
    declare -i num=0;
    
    for name in `ls`;do mv -f $name `echo $num"a.jpg"`; num=num+1; done 
    
    
    # 再输入下面两行指令,按照序号重新给所有文件命名
    
    declare -i num=0;
    
    for name in `ls`;do mv -f $name `echo $num".jpg"`; num=num+1; done 
    

    将终端路径定到数据所在的文件夹,然后再终端里输入以上四行代码,就可以实现图片按1.jpg,2.jpg,3.jpg,4.jpg,…的顺序重命名

    备注:重命名过程中可能遇到文件名中含有空格等符号的情况,当空格出现,一个文件的名字将被空格隔开而看作两个文件名,从而导致重命名失败。这时,需要先用rename命令将空格替代为其他字符,如下:

    rename -v 's/ /s/' *

    对于rename命令,如果将-v用-n替代,则之会在终端显示重命名过后的名字,但不会对文件名作出修改(方便大家先确认重命名是否正确),而用-v则会对文件进行重命名操作。(一般可以先用-n查看,确认无误后再用-v)之后的's/s2/s3/'表示用字符s3将s2替换,'s/ /s/'表示用s来替换空格,最后的添加表示需要重命名的文件,*是正则匹配符,表示该路径下所有文件,如果需要对所有的.jpg文件进行处理,则*.jpg即可。

    3.数据标定

    取得了数据后还需要对图像中目标的位置进行标定。在此推介labelImg,其可以直接把你利用你在图上画的框自动生成pascal格式的xml文件。
    在此地址去下载labelImg源码 https://github.com/tzutalin/labelImg ,然后用终端进入到labelImg-master文件夹,输入python labelImg.py启动labelImg程序。

    • 快捷键Ctrl+R设置保存xml的路径(路径不能有中文)
    • 源码文件夹中使用notepad++打开data/predefined_classes.txt,可以修改默认类别
    • “Open Dir” 打开图片文件夹,选择第一张图片开始进行标注,使用 “Create RectBox” 或者 “Ctrl+N” 开始画框,单击结束画框,再双击选择类别。完成一张图片后点击 “Save” 保存,此时相应的XML文件已经保存到本地了;点击 “Next Image” 转到下一张图片
    • 标注过程中可随时返回已编辑过的图片并进行修改,后保存的XML文件将会覆盖之前的XML文件
    展开全文
  • 深度学习模型训练过程中,在服务器端或者本地pc端,输入nvidia-smi来观察显卡的GPU内存占用率(Memory-Usage),显卡的GPU利用率(GPU-util),然后采用top来查看CPU的线程数(PID数)和利用率(%CPU)。...
  • 选定了网络结构后,深度学习训练过程基本大同小异,一般分为如下几个步骤 定义算法公式,也就是神经网络的前向算法。我们一般使用现成的网络,如inceptionV4,mobilenet等。 定义loss,选择优化器,来让loss最小 ...
  • 深度学习训练的目的有以下几种: 1)网络结构选择 2)神经元个数的设定 3)权重参数的初始化 4)学习率的调整 5)Mini-batch的调整 常见的深度学习训练的方法有6种: 1)GPU急速 2)数据并行 3)模型并行 4)数据...
  • 改善深度学习训练的trick总结

    千次阅读 2018-12-24 14:13:20
    深度学习中,同样一个模型用不同的初始化,数据处理,batch size,学习率,优化器都能得到不同性能的参数。我根据自己参与过的比赛中经常用到的一些trick进行大致的总结,有代码的会顺便附上,方便自己以后使用。 ...
  • 作者 | 车漾,阿里云高级技术专家顾荣,南京大学副研究员责编 | 唐小引头图 | CSDN 下载自东方 IC出品 | CSDN(ID:CSDNnews)近些年,以深度学习为代表的人工智能...
  • 深度学习 | 训练及优化方法

    千次阅读 2019-08-10 14:47:59
    训练及优化方法深度网络优化方法优化及调试策略:实践流程梯度消失与梯度爆炸Sigmoid 激活函数问题ReLU参数初始化学习率迭代次数batch sizeBatch 方差与 learning rate 关系Large-batch 魔咒正则化正则化技术概述数据...
  • 在模型训练中,有时会发现,即使使用了GPU,GPU利用率也不高,训练速度还是不够快。 所以,简单记录一下提高思路 GPU利用率低的可能原因 CPU数据读取更不上: CPU作为中央控制器,它有时钟概念,也有多线程,它的多...
  • 一直想重新调整自己的博客,想尽可能写的前后连贯一点,同时希望自己写的更通熟易懂些,可是迟迟没有动笔修改曾经的博文,哎,还是慢慢跟着自己的理解再修改之前的文章吧,今儿就写写关于深度学习训练中最关键的一步...
  • 深度学习模型训练痛点及解决方法

    千次阅读 2018-06-01 14:46:31
    选定了网络结构后,深度学习训练过程基本大同小异,一般分为如下几个步骤定义算法公式,也就是神经网络的前向算法。我们一般使用现成的网络,如inceptionV4,mobilenet等。定义loss,选择优化器,来让loss最小对数据...
  • 深度学习训练的小技巧,调参经验。总结与记录。 2016-10-23 23:07 390人阅读 评论(0) 收藏 举报 版权声明:本文为博主原创文章,未经博主允许不得转载。 经常会被问到你用深度学习训练模型时...
  • 深度学习训练模型的硬件条件

    千次阅读 2018-06-24 21:33:22
    https://blog.csdn.net/caimouse/article/details/77942582从李飞飞的课程里,可以看到她的电脑配置,这个配置是机器学习的基本配置,我们可以参考一下:...4X8G 显...
  • 深度学习训练加速

    千次阅读 2018-02-07 15:38:50
    深层模型训练需要各种技巧,例如网络结构的选取,神经元个数的设定,权重参数的初始化,学习率的调整,Mini-batch的控制等等。即便对这些技巧十分精通,实践中也要多次训练,反复摸索尝试。此外,深层模型参数多,...
  • 今天我们将讨论深度学习中最核心的问题之一:训练数据。深度学习已经在现实世界得到了广泛运用,例如:无人驾驶汽车,收据识别,道路缺陷自动检测,以及交互式电影推荐等等。我们大部分的时间并不是花在构建神经网络...
  • 深度学习的分布式训练

    千次阅读 2017-07-17 11:29:11
    深度学习这一领域经常涉及到模型的分布式训练(包括一机多GPU的情况)。我自己在刚刚接触到一机多卡,或者分布式训练时曾对其中到底发生了什么有过很多疑问,后来查看了很多资料,在这篇博客里对分布式的深度学习...
  • 深度学习 模型训练超参数调整总结

    千次阅读 2018-11-14 08:49:23
    深度学习 模型训练超参数调整总结 在深度神经网络中,超参数的调整是一项必备技能,通过观察在训练过程中的监测指标如损失loss和准确率来判断当前模型处于什么样的训练状态,及时调整超参数以更科学地训练模型能够...
  • 深度学习模型训练全流程!

    千次阅读 2020-06-12 00:12:43
    ↑↑↑关注后"星标"Datawhale每日干货 &每月组队学习,不错过Datawhale干货作者:黄星源、奉现,Datawhale优秀学习者本文从构建数据验...
1 2 3 4 5 ... 20
收藏数 101,319
精华内容 40,527
关键字:

利用深度学习训练