作为帮助学习的工具
目标:较好地清楚地掌握theano的知识结构
学习内容:theano documentation 0.6,主要看tutorial 与 library ,看2遍以上。
学习时间6.29-6.30,(6.31也许需要完善下DAMS project的事)6.32-6.33 一共4天,大约40小时+。
这次是精读
1. install还需要搞定的是BLAS GPU-support
2. import pack 是把pack声明在当前环境,引用pack的内容需要pack.xxx
from pack import *是把pack内部全在当前环境声明,引用需要xxx.
import X as T
numpy很需要学习 broadcasting
tutorial解释不是自满足的,不知是我对python的知识缺失还是library的知识:so should read both.
-5.4.4
theano是面向对象的;
function是一个核心函数。
randomstream 理解不好。
-5.4.5
graph structures built with variable nodes, op nodes and apply nodes.
一件重要的事是怎么通过一些函数去遍历graph,意思是graph的点和线分别代表什么(类与函数),但是我对类与函数不熟悉。
graphstructure是核心的一个概念,能帮助理解automatic differentition 与 optimiztions. 我不能理解p75面的图。
画出graph:theano.pp()-简单 theano.printing.debugprint()-详细 pydotprint()-png图
-5.4.7 讲述了一些求导计算的事
-5.4.8 configuration settings and compliing modes
config is a module of theano;
can be set in i)assignment to theano.config ii)assignment to theano.flags iii)assignment to .theanorc
mode 控制compliation的行为
-5.4.9 loading and saving
开头有句话"Python‘s stndard way of saving class instances are reloading them is the pickle mechanism"
我没有相关的知识。“a limitation of pickle is that it does not save the code or data of a class along with the instance of the class being serialized".
大约书一种储存压缩手段:pickle,depickle就是解压与loading.
5.4.10,5.4.11 conditions and loop
5.4.12 sparse mayrix
5.4.13 Using GPU
5.4.14 PyCUDA/CUDAMat/Gnumpy comptibility
5.4.15 Uderstanding Memory Aliasing for Speed and Correctness
5.4.16 How shape information is Handled by Theano
5.4.17 Debugging Theano:FAQ and Troubleshooting
5.4.18 Profiling Theano function
5.4.19 Extending Theano
5.4.20 FAQ
5.4.21 Python Memory Managment
5.4.22 Muti cores support in Theano
theano documentation 阅读笔记