乂silenceeee 2022-05-16 13:12 采纳率: 66.7%
浏览 272
已结题

基于python做神经网络、深度学习需不需要自己写代码,需要写到什么程度呢?

我的情况是:刚刚接触神经网络、深度学习半年。目前跟着一些教学视频和书来学习相关理论知识。
慢慢地,我对神经网络整体上有了大概的了解。大部分的教学视频课程都是介绍一下某种神经网络的基本思路,以及核心的数学公式,数学公式这里有的一笔带过,详细一点的会推理一遍。但到了真正应用实战的时候,往往都是直接import 某个库,然后实例化,调参。这个过程是完全没有用到前面铺垫的数学知识的,这让我感到迷茫。
所以基于python做神经网络、深度学习需不需要自己写代码,需要写到什么程度呢?
我自己也只是能够跟着教程推一下像梯度下降,反向传播这些公式。可是如果说让我自己根据这些公式来写神经网络,我感觉我是写不出来的。包括像正则化,CNN,RNN等,这些我都能够用keras实现,也理解背后的含义,但我无法做到从头开始搭建网络啊,我觉得这跟使用一些便捷的函数是不同的(比如可以直接用.sort(),没必要自己写冒泡法排序)。
所以能不能请大家给我一些指点,后续应该学什么,怎么做,需不需要自己编程,编程到哪种程度呢,如果仅仅在import keras 的基础上,可以实现对神经网络做哪些创新工作呢?
谢谢。

  • 写回答

6条回答 默认 最新

  • 爱晚乏客游 2022-05-16 15:21
    关注

    的确是很多第三方库给你去用,直接import就可以,但是问题是,如果目前出了问题,第三方库无法满足你的需求,你需要进一步修改代码你怎么办?而且这个问题在实际应用中是经常碰见的,这时候你会不会神经网络基础和代码基础的差距就出来了。

    img

    就像你自己说的,看着都会,实际上你自己写一个网络模块就知道怎么回事了。别的不说,简单的vgg自己搭建一个试试看下分类效果就知道了,而实际上很多情况下SOTA网络只有数学公式和效果而没有具体的代码,这时候你又很需要用到这个网络你怎么办?你只能根据人家给出的公式自己搭建网络来用。
    所以,不会相关原理和相关代码能力(手里无剑)和掌握原理而调用第三方库(手里有剑而不用)是两回事。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
  • 关注

    从头开始搭建网络没有必要,你会用然后明白大概的原理就可以,python的优点就是写好了很多库,不知道你是打算从事这方面工作还是其他,如果想从事这方面工作肯定是要多做项目来实践

    评论
  • Power_honey 2022-05-16 13:46
    关注

    能读懂代码、会调用函数库、会设置参数能用就可以了,如果你是要创新的话,那必须得深入了解其中的原理,加入自己的想法,并修改代码。

    评论
  • 大米粥哥哥 2022-05-16 13:56
    关注

    站在前人的肩膀上就好了 基础要学 但不必精通
    多看看最新论文的开源代码

    评论
  • 有问必答小助手 2022-05-17 21:32
    关注
    您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
    PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632
    评论
  • 艾鹤 2022-05-19 19:06
    关注

    用框架吧,自己从头开始写这种除非你真想研究基础,如果是做开发,还是用现成框架,比如,pytorch,TensorFlow,mxnet,caffe,paddlepaddle都行

    评论
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 5月25日
  • 已采纳回答 5月17日
  • 创建了问题 5月16日

悬赏问题

  • ¥30 电脑画面同步投屏,通过同wifi的方式投屏方法,接收投屏端不需要安装第三方软件,
  • ¥15 有偿拼接大疆精灵4RGB影像
  • ¥15 Arduino实现音频混响
  • ¥15 cuda.jit加速报错
  • ¥15 Octave 安装工具箱出错 Only Win32 target is supported!
  • ¥15 docker save的不能在另一台设备运行
  • ¥15 Unity Animation Rigging使用问题
  • ¥15 mbedtls握手返回-7200
  • ¥30 c++ http服务器
  • ¥15 express连接mssql,每条额外附加了语句