- Deep Learning with Theano
- Christopher Bourez
- 221字
- 2021-07-15 17:16:59
Summary
The first concept is symbolic computing, which consists in building graph, that can be compiled and then executed wherever we decide in the Python code. A compiled graph is acting as a function that can be called anywhere in the code. The purpose of symbolic computing is to have an abstraction of the architecture on which the graph will be executed, and which libraries to compile it with. As presented, symbolic variables are typed for the target architecture during compilation.
The second concept is the tensor, and the operators provided to manipulate tensors. Most of these were already available in CPU-based computation libraries, such as NumPy or SciPy. They have simply been ported to symbolic computing, requiring their equivalents on GPU. They use underlying acceleration libraries, such as BLAS, Nvidia Cuda, and cuDNN.
The last concept introduced by Theano is automatic differentiation—a very useful feature in deep learning to backpropagate errors and adjust the weights following the gradients, a process known as gradient descent. Also, the scan
operator enables us to program loops (while...
, for...
,) on the GPU, and, as other operators, available through backpropagation as well, simplifying the training of models a lot.
We are now ready to apply this to deep learning in the next few chapters and have a look at this knowledge in practice.
- TypeScript Blueprints
- Java面向?qū)ο笏枷肱c程序設計
- 深度學習經(jīng)典案例解析:基于MATLAB
- 軟件測試工程師面試秘籍
- Neo4j Essentials
- oreilly精品圖書:軟件開發(fā)者路線圖叢書(共8冊)
- Full-Stack Vue.js 2 and Laravel 5
- 人人都是網(wǎng)站分析師:從分析師的視角理解網(wǎng)站和解讀數(shù)據(jù)
- SharePoint Development with the SharePoint Framework
- Go并發(fā)編程實戰(zhàn)
- Learning DHTMLX Suite UI
- 領域驅(qū)動設計:軟件核心復雜性應對之道(修訂版)
- 運維前線:一線運維專家的運維方法、技巧與實踐
- 并行編程方法與優(yōu)化實踐
- Learning Android Application Testing