《深度学习入门:基于Python的理论与实现(含源码)》是一本非常理想的入门书,本书通过深入浅出的方式,详细解读了深度学习的原理和相关技术,使读者能够真正理解深度学习的内涵,特别值得一提的是,本书使用Python3作为编程语言,尽量避免了对外部库或工具的依赖,这使得读者能够从最基本的数学知识开始,逐步创建一个经典的深度学习模型,整体而言,这本书对于想要入门深度学习,并且具备一定的Python理论基础的读者非常有帮助。
内容介绍
本书是深度学习真正意义上的入门书,深入浅出地剖析了深度学习的原理和相关技术。书中使用Python3,尽量不依赖外部库或工具,从基本的数学知识出发,带领读者从零创建一个经典的深度学习网络,使读者在此过程中逐步理解深度学习。书中不仅介绍了深度学习和神经网络的概念、特征等基础知识,对误差反向传播法、卷积神经网络等也有深入讲解,此外还介绍了深度学习相关的实用技巧,自动驾驶、图像生成、强化学习等方面的应用,以及为什么加深层可以提高识别精度等疑难的问题。 本书适合深度学习初学者阅读,也可作为高校教材使用。
目录
- 译者序xiii
- 前言xv
- 第1 章 Python入门1
- 第2 章 感知机21
- 第3章 神经网络37
- 第4章 神经网络的学习81
- 第5章 误差反向传播法121
- 第6章 与学习相关的技巧163
- 第7章 卷积神经网络201
- 第8章 深度学习235
- 附录ASoftmax-with-Loss 层的计算图267
- 参考文献279
pyc文件三大作用 创建时间,py文件比pyc文件新,则从新生成pyc magic num做运行前版本检测,版本不同从新生成pyc PyCodeObject 对象 在运行期间,编译结果也就是 PyCodeObject 对象,只会存在于内存中,而当这个模块的 Python 代码执行完后,就会将编译结果保存到了 pyc 文件中,这样下次就不用编译,直接加载到内存中。 这个 PyCodeObject 对象包含了 Python 源代码中的字符串,常量值,以及通过语法解析后编译生成的字节码指令。PyCodeObject 对象还会存储这些字节码指令与原始代码行号的对应关系,这样当出现异常时,就能指明位于哪一行的代码。
1. 过程概述 Python先把代码(.py文件)编译成字节码,交给字节码虚拟机,然后虚拟机一条一条执行字节码指令,从而完成程序的执行。 2. 字节码 字节码在Python虚拟机程序里对应的是PyCodeObject对象。 .pyc文件是字节码在磁盘上的表现形式。 3. pyc文件 PyCodeObject对象的创建时机是模块加载的时候,即import。 Python test.py会对test.py进行编译成字节码并解释执行,但是不会生成test.pyc。 如果test.py加载了其他模块,如import util,Python会对util.py进行编译成字节码,生成util.pyc,然后对字节码解释执行。 如果想生成test.pyc,我们可以使用Python内置模块py_compile来编译。 加载模块时,如果同时存在.py和.pyc,Python会尝试使用.pyc,如果.pyc的编译时间早于.py的修改时间,则重新编译.py并更新.pyc。