theano documentation 阅读笔记

作为帮助学习的工具

目标:较好地清楚地掌握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 阅读笔记

时间: 2024-11-04 19:20:25

theano documentation 阅读笔记的相关文章

《STL源码剖析》---stl_pair.h阅读笔记

pair是STL中的模板类型,它可以存储两个元素,它也被称作"对组".在map中已经用到了它,pair其实就是一个struct结构,存有两个public的元素,重载了几个运算符,没有什么成员函数,源代码很简单. G++ 2.91.57,cygnus\cygwin-b20\include\g++\stl_pair.h 完整列表 /* * * Copyright (c) 1994 * Hewlett-Packard Company * * Permission to use, copy,

《STL源码剖析》---stl_tree.h阅读笔记

STL中,关联式容器的内部结构是一颗平衡二叉树,以便获得良好的搜索效率.红黑树是平衡二叉树的一种,它不像AVL树那样要求绝对平衡,降低了对旋转的要求,但是其性能并没有下降很多,它的搜索.插入.删除都能以O(nlogn)时间完成.平衡可以在一次或者两次旋转解决,是"性价比"很高的平衡二叉树. RB-tree(red black tree)红黑树是平衡二叉树.它满足一下规则 (1)每个节点不是红色就是黑色. (2)根节点是黑色. (3)如果节点为红色,则其子节点比为黑色. (4)任何一个节

《STL源码剖析》---stl_iterator.h阅读笔记

STL设计的中心思想是将容器(container)和算法(algorithm)分开,迭代器是容器(container)和算法(algorithm)之间的桥梁. 迭代器可以如下定义:提供一种方法,能够依序寻访某个容器内的所有元素,而又无需暴露该容器的内部表达方式. 在阅读代码之前,要先了解一个新概念:Traits编程技法 template <class T> struct MyIter { typedef T value_type //内嵌型别声明 T *ptr; MyIter(T *p = 0

《STL源码剖析》---stl_hashtable.h阅读笔记

在前面介绍的RB-tree红黑树中,可以看出红黑树的插入.查找.删除的平均时间复杂度为O(nlogn).但这是基于一个假设:输入数据具有随机性.而哈希表/散列表hash table在插入.删除.查找上具有"平均常数时间复杂度"O(1):且不依赖输入数据的随机性. hash table的实现有线性探测.二次探测.二次散列等实现,SGI的STL是采用开链法(separate chaining)来实现的.大概原理就是在hash table的每一项都是个指针(指向一个链表),叫做bucket.

《STL源码剖析》---stl_alloc.h阅读笔记

这一节是讲空间的配置与释放,但不涉及对象的构造和析构,只是讲解对象构造前空前的申请以及对象析构后空间怎么释放. SGI版本的STL对空间的的申请和释放做了如下考虑: 1.向堆申请空间 2.考虑了多线程.但是这节目的只是讲解空间配置与释放,因此忽略了多线程,集中学习空间的申请和释放. 3.内存不足时的应变措施 4.考虑到了内存碎片的问题.多次申请释放小块内存可能会造成内存碎片. 在C++中,内存的申请和释放是通过operator new函数和operator delete函数,这两个函数相当于C语

《STL源码剖析》---stl_multiset.h阅读笔记

STL中的set不允许键值重复,因此就有了multiset.multiset和set操作一样,功能一样,但是multiset允许键值重复,在使用红黑树的插入操作是,用的是insert_equal,而set用的是insert_unique,其他代码一样. G++ 2.91.57,cygnus\cygwin-b20\include\g++\stl_multiset.h 完整列表 /* * * Copyright (c) 1994 * Hewlett-Packard Company * * Permi

《STL源代码剖析》---stl_deque.h阅读笔记(2)

看完,<STL源代码剖析>---stl_deque.h阅读笔记(1)后.再看代码: G++ 2.91.57,cygnus\cygwin-b20\include\g++\stl_deque.h 完整列表 /* * * Copyright (c) 1994 * Hewlett-Packard Company * * Permission to use, copy, modify, distribute and sell this software * and its documentation f

《STL源码剖析》---stl_deque.h阅读笔记(2)

看完,<STL源码剖析>---stl_deque.h阅读笔记(1)后,再看代码: G++ 2.91.57,cygnus\cygwin-b20\include\g++\stl_deque.h 完整列表 /* * * Copyright (c) 1994 * Hewlett-Packard Company * * Permission to use, copy, modify, distribute and sell this software * and its documentation fo

《STL源码剖析》---stl_list.h阅读笔记

STL中链表list是一个常用的容器.list在内存中是不连续的双向链表,且是环形的.要了解链表细节是如何操作的话,阅读STL关于链表的代码是最好的方法. G++ 2.91.57,cygnus\cygwin-b20\include\g++\stl_list.h 完整列表 /* * * Copyright (c) 1994 * Hewlett-Packard Company * * Permission to use, copy, modify, distribute and sell this