Pull requests are now verified by travisbot

31 views
Skip to first unread message

Ian Goodfellow

unread,
Oct 5, 2012, 10:04:27 AM10/5/12
to pylearn-dev
Hi everyone,
Fred and I have set up pylearn2 to use the travisbot system to test pull requests to pylearn2.
This should be helpful for making sure we don't merge bad commits.

There are a few things to note about tests run on the travisbot:

1) There is no GPU, so we must skip tests involving GPU.
If you write a test that uses GPU it should include the lines:
if cuda_ndarray.cuda_available == False:
        raise SkipTest('Optional package cuda disabled')
where SkipTest was imported from nose.plugins.skip

2) There is no scipy, so we must skip tests involving scipy.
You can do this by calling pylearn2.testing.skip.skip_if_no_scipy().

Why is there no scipy? It is because we must install all dependencies
from scratch at the start of each travis run. The scipy installer takes too
long to run. If someone would like to make a .deb package for scipy,
we could include it, but neither Fred nor I has any experience making
.deb packages.

3) There is not much of theano.sparse.
This is because theano.sparse depends on scipy.
You should use skip_if_no_scipy() on tests that depend heavily on
theano.sparse.
In key infrastructure code, you should avoid importing parts of
theano.sparse other than SparseType. In particular, this means if you
want to check if a variable is sparse, you should use
isinstance(var.type, SparseType), not isinstance(var, SparseVariable).



Pascal Lamblin

unread,
Oct 5, 2012, 11:46:54 AM10/5/12
to pylea...@googlegroups.com
On Fri, Oct 05, 2012, Ian Goodfellow wrote:
> Why is there no scipy? It is because we must install all dependencies
> from scratch at the start of each travis run. The scipy installer takes too
> long to run. If someone would like to make a .deb package for scipy,
> we could include it, but neither Fred nor I has any experience making
> .deb packages.

Just by curiosity, why would a hand-built packages for scipy have, that
the existing python-scipy package (included in Debian and Ubuntu) would
not?

--
Pascal

Frédéric Bastien

unread,
Oct 5, 2012, 11:53:10 AM10/5/12
to pylea...@googlegroups.com
We do not use the OS python. That is the problem. I don't know if we
can use it... if yes, that would solve that problem for Pylean2, but
not for Theano as we need to run the buildbot in python2.4 as it is
not available, I run it with python 2.5. This catch regression
frequently.

Fred

Pascal Lamblin

unread,
Oct 5, 2012, 12:53:21 PM10/5/12
to pylea...@googlegroups.com
On Fri, Oct 05, 2012, Fr�d�ric Bastien wrote:
> We do not use the OS python. That is the problem. I don't know if we
> can use it... if yes, that would solve that problem for Pylean2,

Yes, that would be great. I'll see if I can try something.

> but not for Theano as we need to run the buildbot in python2.4 as it
> is not available, I run it with python 2.5. This catch regression
> frequently.

I agree that we need python 2.5 testing for Theano. If we can use more
test machines, though, it might be worth testing _also_ with the system
Python, and scipy, maybe only for the commits in the trunk (and not all
pull requests).

--
Pascal

Frédéric Bastien

unread,
Oct 5, 2012, 12:53:08 PM10/5/12
to pylea...@googlegroups.com
On Fri, Oct 5, 2012 at 12:53 PM, Pascal Lamblin
<lamb...@iro.umontreal.ca> wrote:
The problem is that we already are an heavy user of Travis-ci. We
can't easily use more tests time...
But meaby we can tell travis to run all test on python 2.5 and os
python with scipy, but for the os python, only run the tests under
sparse and sandbox/linalg.

But this is if we can use the os python. I don't know if we can. I'll
try to check that when I came back.

Fred

Pascal Lamblin

unread,
Oct 5, 2012, 1:27:04 PM10/5/12
to pylea...@googlegroups.com
On Fri, Oct 05, 2012, Fr�d�ric Bastien wrote:
> The problem is that we already are an heavy user of Travis-ci. We
> can't easily use more tests time...
> But meaby we can tell travis to run all test on python 2.5 and os
> python with scipy, but for the os python, only run the tests under
> sparse and sandbox/linalg.
>
> But this is if we can use the os python. I don't know if we can. I'll
> try to check that when I came back.

OK, I'll try to make it work with Pylearn2 first, anyway.

--
Pascal
Reply all
Reply to author
Forward
0 new messages