Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
P
pytensor
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
testgroup
pytensor
Commits
0c1810ad
提交
0c1810ad
authored
11月 22, 2010
作者:
David Warde-Farley
浏览文件
操作
浏览文件
下载
差异文件
Merge.
上级
efcf58d0
83dc0500
显示空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
52 行增加
和
91 行删除
+52
-91
install.txt
doc/install.txt
+2
-1
dev_start_guide.txt
doc/internal/dev_start_guide.txt
+50
-90
没有找到文件。
doc/install.txt
浏览文件 @
0c1810ad
...
@@ -33,7 +33,8 @@ to be installed:
...
@@ -33,7 +33,8 @@ to be installed:
Earlier versions have memory leaks.
Earlier versions have memory leaks.
`SciPy <http://scipy.org>`_
`SciPy <http://scipy.org>`_
Not technically required but *highly* recommended. We recommend SciPy
Only currently required for sparse matrix and special functions
support, but highly recommended. We recommend SciPy
>=0.7 if you are using sparse matrices, because ``scipy.sparse``
>=0.7 if you are using sparse matrices, because ``scipy.sparse``
is buggy in 0.6 (the ``scipy.csc_matrix`` version of ``dot()`` has a
is buggy in 0.6 (the ``scipy.csc_matrix`` version of ``dot()`` has a
bug with singleton dimensions, there may be more bugs).
bug with singleton dimensions, there may be more bugs).
...
...
doc/internal/dev_start_guide.txt
浏览文件 @
0c1810ad
.. _dev_start_guide:
.. _dev_start_guide:
=====================
=====================
Developer Start Guide
Developer Start Guide
=====================
=====================
To get up to speed, you'll need to
- Learn some non-basic python to understand what's going on in some of the
- Learn some non-basic Python to understand what's going on in some of the
tricker files (like tensor.py).
trickier files (like tensor.py).
- Go through the `NumPy documentation`_.
- Roughly go through the numpy documentation.
- Learn to write reStructuredText_ for epydoc_ and Sphinx_.
- Learn about how unittest_ and nose_ work
- Learn to write reStructuredText_ for epydoc_.
- ExternalTools - packages that play well with Numpy
- EssentialUnitTest - essential usage of python.unittest
.. _Sphinx: http://sphinx.pocoo.org/
.. _reStructuredText: http://docutils.sourceforge.net/rst.html
.. _epydoc: http://epydoc.sourceforge.net/
.. _NumPy documentation: http://docs.scipy.org/numpy/
.. _unittest: http://docs.python.org/library/unittest.html
.. _nose: http://somethingaboutorange.com/mrl/projects/nose/
Accounts
Accounts
========
--------
To obtain developer access: register with `Assembla
To obtain developer access: register with `Assembla
<http://www.assembla.com/>`_ and add yourself as a watcher on the `Theano
space
<http://www.assembla.com/>`_ and add yourself as a watcher on the `Theano
<http://www.assembla.com/spaces/theano>`_. Then send an email to an admin asking
space <http://www.assembla.com/spaces/theano>`_. Then send an email to an
to be promoted to a member of the project.
admin asking
to be promoted to a member of the project.
Theano code
Theano code
===========
-----------
*To get the source via
mercurial,* you must have `m
ercurial
*To get the source via
Mercurial,* you must have `M
ercurial
<http://
www.selenic.com/mercurial/wiki
/>`__ installed.
<http://
mercurial.selenic.com
/>`__ installed.
The code that makes up Theano is in a `single repository
The code that makes up Theano is in a `single repository
<http://www.assembla.com/spaces/theano/trac_mercurial_tool>`__. As a developer,
<http://www.assembla.com/spaces/theano/trac_mercurial_tool>`__. As a developer,
...
@@ -47,71 +48,47 @@ You can also clone the code anonymously:
...
@@ -47,71 +48,47 @@ You can also clone the code anonymously:
hg clone http://hg.assembla.com/theano Theano
hg clone http://hg.assembla.com/theano Theano
Setting up your environment
Then follow the :ref:`install_bleeding_edge`.
===========================
Some notes on the environment variable $PYTHONPATH.
The subdirectory Theano/theano has to be located in a location
mentionned in your PYTHONPATH. In order to do that, you can either
create a symbolic link to Theano/theano in a directory already
mentionned in your PYTHONPATH environment variable, or modify the
PYTHONPATH so that it mentions Theano.
To create a symbolic link:
.. code-block:: bash
ln -s Theano/theano <someplace on your PYTHONPATH>/theano
To modify the environment variable PYTHONPATH in bash, you may do this:
.. code-block:: bash
export PYTHONPATH=<path to Theano's parent dir>/Theano:$PYTHONPATH
Details about ``PYTHONPATH``
----------------------------
In csh:
``$PYTHONPATH`` should contain a ":"-separated list of paths, each of which
contains one or several Python packages, in the order in which you would like
Python to search for them. If a package has sub-packages of interest to you,
do **not** add them to ``$PYTHONPATH``: it is not portable, might shadow other
packages or short-circuit important things in its ``__init__``.
.. code-block:: csh
It is advisable to never import Theano's files from outside Theano itself
(this is good advice for Python packages in general). Use ``from theano import
tensor`` instead of ``import tensor``. ``$PYTHONPATH`` should only contain
paths to complete packages.
setenv PYTHONPATH <path to Theano's parent dir>/Theano:$PYTHONPATH
When you install a package, only the package name can be imported directly. If
you want a sub-package, you must import it from the main package. That's how
Olivier Breuleux explains:
it will work in 99.9% of installs because it is the default. Therefore, if you
stray from this practice, your code will not be portable. Also, some ways to
$PYTHONPATH should contain a ":"-separated list of paths, each of which
circumvent circular dependencies might make it so you have to import files in
contains one or several Python packages, in the order in which you would
a certain order, which is best handled by the package's own ``__init__.py``.
like Python to search for them. If a package has sub-packages of interest
to you, do _not_ add them in the path: it is not portable, might shadow
other packages or short-circuit important things in its __init__.
I advise to never import theano's files from outside theano itself
(and I think that is good advice for Python packages in general). Use
"from theano import tensor" instead of "import tensor". ... $PYTHONPATH
... should only contain paths to complete packages, so you don't get
surprised if I add files that enter in conflict with other packages.
When you install a package, only the package name can be imported
directly. If you want a sub-package, you must import it from the main
package. That's how it will work in 99.9% of installs because it is the
default. Therefore, if you stray from this practice, your code will not
be portable. Also, some ways to circumvent circular dependencies might
make it so you have to import files in a certain order, which is best
handled by the package's own __init__.py.
More instructions
More instructions
=================
=================
Once you have completed these steps, you should run the tests like this:
Once you have completed these steps, you should run the tests like this:
.. code-block:: bash
.. code-block:: python
>>> import theano
>>> theano.test()
cd Theano
Or by running ``nosetests`` from your checkout directory.
nosetests #execute all the tests
All tests should pass. If some test fails on your machine, you are
All tests should pass. If some test fails on your machine, you are
encouraged to tell us what went wrong on the `
`theano-users@googlegroups.com``
encouraged to tell us what went wrong on the `
theano-users`_
mailing list.
mailing list.
.. _theano-users: https://groups.google.com/group/theano-users
To update your library to the latest revision, change directory (``cd``)
To update your library to the latest revision, change directory (``cd``)
to your ``Theano`` folder and execute the following command:
to your ``Theano`` folder and execute the following command:
...
@@ -122,26 +99,9 @@ to your ``Theano`` folder and execute the following command:
...
@@ -122,26 +99,9 @@ to your ``Theano`` folder and execute the following command:
Nightly test
Nightly test
============
============
Each night we execute all the unit tests automatically.
Each night we execute all the unit tests automatically. The result is sent by
The result is sent by email to one of the developers, who (at his discretion) forwards it to the mailing list.
email to one of the developers, who (at his discretion) forwards it to the
Said developer may not read his email obsessively (especially on the weekend)
mailing list. Said developer may not read his email obsessively (especially
so there might be some latency in the process.
on the weekend) so there might be some latency in the process. For more
For more detail :ref:`see <metadocumentation_nightly_build>`.
detail :ref:`see <metadocumentation_nightly_build>`.
.. TODO: fix this links
.. _non-basic python: http://pylearn.org/theano/wiki/NonbasicPython
.. _reStructuredText: http://docutils.sourceforge.net/rst.html
.. _epydoc: http://epydoc.sourceforge.net/
.. _basicnumpy: http://pylearn.org/theano/wiki/BasicNumpy
.. _README: ../README.html
.. _Download: ../README.html#downloading-theano
.. _Documentation: index.html
.. _Wiki: http://pylearn.org/theano
.. _TRAC: http://trac.edgewall.org/
.. _task list: http://pylearn.org/theano/query?status=accepted&status=assigned&status=new&status=reopened&group=milestone&max=200&col=id&col=summary&col=status&col=owner&col=type&col=priority&col=component&col=time&report=9&order=priority
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论