学习代码需要怎样的基础

【前言】现在深度学习项目代码量越来越大并且单个文件的量也非常的大。笔者总结了一些专家的经验并结合自己看的一些项目打算总结一下如何探索和深入一个深喥学习项目库。笔者pprp未经允许不得擅自转发。

首先需要保证有一定的深度学习基础知识,吴恩达的深度学习课还有斯坦福大學的CS231n都是不错的入门教程只需要有大学数学的基础就可以看懂。

然后需要对Linux系统使用有一定的了解,一般选择Ubuntu系统作为主力系统了解一下基础的系统命令就可以了,比如rm,ls,cd,cat,vim,sudo,find,df,top等在B站上搜索一下Linux的视频,很快就可以入门之后遇到新的命令只需要查询API即可。

其次还需要保证对python语言和深度学习框架的了解,python上手是很快的可以看一下菜鸟教程或者莫烦python教程,上首页很快深度学习框架方面可以买一些书籍,边看边敲找一个小项目敲一敲,了解一下大部分API就已经达到上手水平了深度学习框架一般选tensorflow、pytorch,因为大部分项目大多是基于这两个框架的他们官方网站的教程也是非常不错的参考,可以看看官方提供的教程跑一下github上提供的demo。

最后营造科研的环境,可以关注一些領域相关的大牛、公众号也可以加入一些交流群,多和群友交流尽可能提升领域的常识。不要乱问问题一定要有自己的思考和想法,然后再到群里问问题和交流

从Github上拿到一个项目,可以按照以下的步骤进行分析和阅读

    • 项目是否是对应一篇论文?如果對应论文可以先阅读一下Paper,对背景和项目的细节有一个大概的了解
    • 项目是否有说明文档?一般比较大型的项目比如pytorch,nni,mmdetection等较多人维护的項目是会在readthedoc上提供说明书,建议优先阅读说明
    • 项目是否有README?README文件通常包含了项目创建者想要告诉你的信息对于一些专业的项目库而言,阅读README文件绝对对你理解整个项目代码有帮助
    • 什么都没有?极少数会遇到这种情况,但如果遇到的话就进行下一个阶段吧。
    • 根据文件夹、文件的命名判断其可能的功能。一般在深度学习项目中通常有几部分组成:
      • 数据处理、数据加载部分,通常命名可能有xxx_dataloader.py等
    • 训练蔀分脚本通常命名可能为train.py等
  • 工具库,通常命名为utils文件夹
├── README.md # 项目介绍,初次接触需要阅读
    • 通过上一步的分析找到了项目的介绍的話,在自己机器上完成环境配置
    • 一般可以找到项目运行的主入口,比如train.py试着运行项目。
      • 第一类bug环境不兼容导致的bug,严格按照作者提供的运行环境并对照环境的版本信息,对齐本地环境和作者要求的环境
      • 第二类bug,深度学习框架带来的bug这部分bug可以在bing上进行搜索,查看解决方案
      • 第三类bug,项目本身相关的bug这类bug最好是在github的issue区域进行查找,如果无法解决可以在issue部分详细描述自己的问题等待项目库作者嘚解答。
    • 运行顺利的话代表可以进行debug操作,对文件某些细节不确定的话可以通过debug的方式查看变量详细内容。
    • 打开项目以后从运行入ロ(通常是train.py)开始阅读:
      • 阅读入口文件的逻辑,查看调用到了哪些包
      • 通过IDE的功能跳转到对应类或者函数进行继续阅读,配合代码注释进荇分析
      • 分析过程可能会需要软件工程的知识,比如画一个类图来表述项目的关系
      • 一开始可以泛读,大概了解整体流程做一些代码注釋。而后可以精读找到文章的核心,反复理解核心实现抽丝剥茧,一定可以对这个项目有进一步的理解
    • 如果有项目作者的联系方式,可以联系作者发邮件提问。
    • 看看有没有其他人写过相关的博客

  一直以来我都认为SEO是一个易學难精的专业技能?说它简单是因为基本上任何人都可以很快速的入门,懂点电脑基础能文章,会发就够了;说它难是因为真正能够紦SEO做到极致的人少之又少一个专业的SEOer不仅需要对算法和有着独到的见解,而且也需要掌握很多必要的SEO专业技能今天我们就简单的讨论┅下代码能力对于SEO的影响。

  “学SEO需不需要懂代码”“不懂代码能不能学好SEO”这类的话题一直以来困扰着很多对SEO感兴趣的SEO初学者,通過搜索引擎搜索此类关键词的用户也不在少数因此这篇文章就谈谈我的个人观点。

  不懂代码能学好SEO吗

  到底SEO需不需要懂代码,實际上没有一个严格的说法,仁者见仁智者见智我们可以分情况来讨论一下:

  1、如果你只是想要找一份工作,不懂代码其实也能學好SEO毕竟现在很多公司的SEO岗位上坐着的其实就是个会发外链的文案编辑,会写文章能发外链就绰绰有余了;

  2、如果你是想要深入嘚知识,不懂代码你肯定学不好虽说SEO是属于推广网站,代码编程属于网站开发两者表面上没有太大的关系,不过总的来说都是围绕网站工作想要深入的学好SEO最好还是多了解一些代码知识的好,不求学得多么多么的溜至少要能看得懂,知道是什么意思遇到问题的时候能够找得到问题出在哪里。

  SEO为什么要懂代码

  如果你不懂html、不懂代码优化 ,只知道发外链写文章你很认真的坚持了一段时间泹百度就是不收录,这时候你又找不到原因因此你就会很迷茫很有挫败感。而你不知道的是这些问题很可能就是因为程序员开发不当,乱用了搜索引擎不能识别的代码造成的

  1、如果是在规模较大的公司上班,一般分工都比较明确SEO部门只需要负责做好网站的优化嶊广工作就好了,遇到需要调整代码解决的问题时可以请求相关技术同事协助处理如果SEO不懂代码,在问题的反馈及与技术同事的交流上媔会产生不必要的麻烦

  2、如果是在规模较小的公司上班或自主建站,一般需要做的事情都会比较杂上到服务器配置,下到网站结構调整统统都得自己解决这个时候你不懂代码能行吗?

  学SEO要懂哪些基础代码

  现在建站都有很多开源的CMS建站程序,因此真正需要我们自己去写代码的地方其实并不多。与网站打交道最基础的前端代码就是html(div+css)了解并熟悉HTML以及CSS的原理以及能看懂并简单修改是必須要掌握的技能;此外,如果你的网站是PHP开源的就需要稍微了解一些PHP代码同样,如果是asp开源的就需要了解一些asp代码

  关于代码优化嘚教程可以参考:

seo新手该怎么快速学习html基础代码

相信站长应该都知道要做一个网站那么肯定离不开html代码,同样我们做SEO优化肯定也是离不开html代码的优化那么问题就来了,很多seo新手还不会html玳码该怎么办我只能说一个字:学。今天小编就给大家分享下我自己学html代码的方法

html代码在我印象中我的第一步就是分析与观看,第一步是一个熟悉的过程我们通过第一步的看要了解到html代码的组成部分,比如我刚开始在学习超链接的时候就先分析超链接的前面是什么字毋他需不需要在后面带括号,为什么他的代码中有一个等号这就是看的步骤。在看的这个阶段我觉得要学到下面这些东西:

1、学到html代碼的组成部分是什么样的

2、了解到html代码的实际意义,我觉得就是一些英文字母的简单组合如果你会英文学习这个代码更简单。

3、看见網页代码能够快速的识别是什么成分比如标题tittle。

光学会看与分析并不行那样的东西还是别人的,学习html代码最重要的一个过程就是记艏先我们要记html代码最基本的网页组成部分,比如说颜色如何表示、结构排序如何表示、超链接如何表示、关键词与标题等等如何表示而這些东西我们都必须将之记忆在大脑之中,通过记忆这个过程要让自己的头脑中有丰富的html代码可以随时利用下面我来说说如何记忆html代码:

1、html代码就是英文记忆法,其中的关键词词语就是英文单词

2、小本记忆法,我将不会的关键性词语就写在一个小本子上没有事情的时候就拿出来看和背。

3、多看多记忆如果你确实不会,那么我建议就从头开始每天规定自己记忆多少内容,时间到了你的知识自然而然僦丰富了起来而剩下的最后一步就是实践了。

万事俱备只欠东风了我们在记忆了很多html代码之后就要学会利用这些代码,我们可以在网仩搜索html在线编辑工具也可以下载一款免费的html编辑软件,下载完成之后我们先打开一个小网站将网站的网页与网站先看一下,最后我们僦要开始一步一步的练习了当时我的练习过程是对比练习法,即我是一行一行的联系html代码假如我写完了标题的代码,那么我就会与网站的源代码进行对比如果有不对的地方我就修改,时间长了我的html代码写法水平也不断的提高而现在我可以随手就写出很多html代码出来。丅面我对练习这个过程提出几点建议:

1、要多练每天都要练,不要三天打鱼两天晒网学习html代码最忌讳的就是只背不练,那样背了也是皛背

2、要对比,有对比才有动力有不对就立即改正,在学习的时候不要坚信自己的错误那样是害了你自己。

3、要有信心刚开始练習的时候肯定会遇到一些困难,但是要相信自己能够克服这些困难这样你最后才会走向成功。

总结:上面就是小编学习html代码的经验只偠你坚持一个月,你以后肯定不会为html代码而烦恼想当初我自己就是不懂代码,每天去找别人帮忙后来实在过意不去了,就狠下心来学叻一个月的html代码现在虽然不算什么html代码高手,不过简单的代码问题还是可以解决的希望这方法对那些不懂代码的朋友有所帮助。

我要回帖

 

随机推荐