美文网首页
lesson1 notes

lesson1 notes

作者: 世界待你如此好 | 来源:发表于2020-07-19 09:56 被阅读0次

    1、什么样的图片大小能让模型效果比较好呢?

    答:当你使用224规模的图片时,大多数模型会取得不错的效果

    2、深度学习的标准化有什么作用?

    答:通常来讲,在几乎所有机器学习任务中都要将数据裁剪成相同的尺寸,使这些数据集拥有相同的均值和均方差

    3、data=ImageDataBunch.from_name_re(path_img,fnames,pat,ds_tfms=get_transforms(),size=224,bs=bs这个函数会对非224的图像做什么处理呢?
    答:transforms会把图像裁剪成224的规摸,默认是中心裁剪截取了图片中心附近的像素,并重新调整截取后的图像尺寸

    4、图像处理方式
    答:中心裁剪的基本思想包括裁剪和缩放,有时也包括图像填充,另一种图像处理方法叫做数据增强,用到的技术是采用随机化的方式来决定裁剪多少,裁剪哪部分

    5、图像标准化的意义是什么?
    答:图像的像素值取值范围在0-255之间,图像是由红、绿、蓝三个通道组成的 ,图像标准化将RGB三个通道取值,均值转为0,均方差转为1有助于模型的训练,如果数据没有被标准化,模型训练会很困难
    6、GPU通常在数据量大小是2的指数幂时运算效率高,为什么不设置256作为图像的尺寸?
    答:模型在设计的时候规定了最后一层是7X7,所以我们需要的尺寸是7乘于2的多少次幂,224=7*2^5

    7、DataBunch是什么?
    答:DataBunch是fastai中的基本数据类型,它有许多子类型可用于不同的使用场景,如"image databunch"

    8、learner是什么?
    答:learner是fastai中用来学习如何去拟合模型的基本类,可以派生出许多子类,如"ConvLearner"可以构建卷积神经网络

    9、什么是transfer learning?
    答:利用一个已经训练的非常好的模型,去高质量地完成我们要做的工作

    10、最佳的实践效果
    答:使用验证集、输出验证集的评价指标,确保模型不会接触到验证集,这些都内置在DataBunch里面了

    11、fast.ai的成功案例
    答:即使一个人一点也没有学过计算机科学或数学也能够成为世界顶尖的深度学习研究者,也能做一些有价值的工作

    12、最重要的建议
    答:只选择一门项目,把它努力做到最好,尽力做到完美

    13、学完这7门课,可以达到什么水平?
    答:使用fastai库能让你在一些领域中获得令人惊讶的最前沿的优势,不要因为一开始的知识非常简单就拖延着不学,可以把它应用在其他你热爱的工作上,一定要去论坛上看看,作为新人不要胆怯,在论坛上积极发言的很多也是新人,要勇敢提出自己的问题。

    14、模型内部到底发生了什么?
    答:模型学到了一些权重

    15、如果我们想去做其他训练,要做什么?
    答:最好保存一下之前训练的权重,使用learn.save(),这个函数就会把训练结果存放在模型子目类中,如果你保存了不同的模型或者来自不同数据集的不同的databunches ,它们都会被分门别类的存储起来。

    16、需要学到的最重要的事是明白,输入你的模型中的是什么,模型输出的结果是什么?

    17、查看结果使用interp=ClassificationInterpretation.from_learner(learn)
    答:需要记住的是learn对象包括两项,一是模型,二是数据

    18、interp.plot_top_losses(9,figsize=(15,11))的作用?
    答:调用plot_top_losses函数,通过输出损失最大的图片,能够找到哪些是我们最有自信但是错的样本

    19、另一个输出的有效工具-混淆矩阵
    答:它显示的是对于每个实际存在的狗(或猫)的品种,各有多少次被预测为此品种的狗(或猫)

    20、interp.most_confused(min_val=2)的作用?
    答:其实只是将混合矩阵调出来,而预测与实际的一些特定组合却常常出错

    21、如何优化模型?
    答:可以进行一些微调,learn.fit_one_cycle(4)运行快的原因是 在模型的最后加入了一些额外层并且只训练这些额外层,调用learn.unfreeze是解冻模型,训练一整个模型, learn.load('stage-1')重新加载之前save的模型,learn.lr_find()用来找到训练神经网络时,速度快的学习率 ,learn.fit_one_cycle(2,max_lr=slice(1e-6,1e-4)对不同层使用不同的学习率

    22、如何以许多不同的方式创建标签?
    答:ImageNet的数据文件夹的名称就代表着标签,可以调用ImageDataBunch.from_folder(path,ds_tfms=tfms,size=26),如果标签是csv格式的,可以使用from_csv,假如路径不仅仅是正则表达式,比正则表达式还要复杂,可以使用from_name_func创建函数进行处理,另一种情况是你想创建存放标签的数组,fastai文档中几乎所有的内容都有真实可运行的,可以尝试着查看函数的输入和输出分别是什么

    相关文章

      网友评论

          本文标题:lesson1 notes

          本文链接:https://www.haomeiwen.com/subject/utrlkktx.html