PyTorch深度学习实战

[美] 谢林·托马斯(Sherin Thomas) [美] 苏丹舒·帕西(Sudhanshu Passi)
译者序 随着深度学习在计算机视觉、自然语言处理、语音识别及分割领域的日益火爆,对于算法从业人员来说,熟练掌握并应用一种深度学习框架已成为必备技能。在众多深度学习框架中,目前主流的是PyTorch和TensorFlow。尽管TensorFlow在工业界的应用有诸多优势,但依然有很多研究人员从TensorFlow转向PyTorch。PyTorch以其易于调试、具有动态计算图等特性备受学术界关注。 关于PyTorch和TensorFlow的框架之争从未停止过。工业应用更倾向于TensorFlow,而学术研究更倾向于PyTorch。学术研究人员关心的是研究中算法迭代速度有多快,其应用场景通常是在相对较小的数据集上,最大的限制因素不是性能,而是快速实现并验证假设的能力。相反,工业界认为性能是需要优先考虑的。譬如预测耗时降低10ms对于优化用户体验意义重大,但对于研究人员来说基本没有太大意义。另外,PyTorch框架也在逐渐演进,以弥补其在生产应用上的劣势,在2018年年末,PyTorch引入了即时编译器(JIT)和TorchScript。其中,JIT可以将PyTorch程序转换为一种名为TorchScript的中间表征(IR)。TorchScript是PyTorch的图表征。一旦PyTorch模型处于其中间表征状态,我们就获得了图模式的所有好处。我们可以在不依赖Python的情况下,在C++环境中部署PyTorch模型,或者对其进行优化,从而使PyTorch在深度学习各场景中有更大的应用空间。 本书聚焦PyTorch深度学习各场景的动手实现,不涉及模型层面的原理剖析。读者可以基于本书提供的知识快速实现CNN、RNN、生成对抗网络等神经网络。本书的翻译工作由马恩驰和陆健利用业余时间合作完成,马恩驰负责翻译第2、4、5、6章,陆健负责翻译第1、3、7、8章。由于译者水平有限,翻译中难免…