Closed jaberg closed 11 years ago
Update: apparently the nef folder was empty except for one test. I moved the test into the nengo/test directory. So now the question is just what to do with the "nengo" import dir, which clashes with the ref impl.
I though the idea was that each backend would just add to the nengo namespace?
Isn't that what the scikits tried to do, and it turned out to be so hard that they abandoned it?
On Wed, May 1, 2013 at 10:38 AM, Trevor Bekolay notifications@github.comwrote:
I though the idea was that each backend would just add to the nengo namespace?
— Reply to this email directly or view it on GitHubhttps://github.com/ctn-waterloo/nengo_theano/issues/33#issuecomment-17284494 .
It's just not an pattern that the setuptools etc. facilitate.
On Wed, May 1, 2013 at 10:41 AM, James Bergstra james.bergstra@gmail.comwrote:
Isn't that what the scikits tried to do, and it turned out to be so hard that they abandoned it?
On Wed, May 1, 2013 at 10:38 AM, Trevor Bekolay notifications@github.comwrote:
I though the idea was that each backend would just add to the nengo namespace?
— Reply to this email directly or view it on GitHubhttps://github.com/ctn-waterloo/nengo_theano/issues/33#issuecomment-17284494 .
Okay. I thought the idea was to have something like
import nengo
model = nengo.model('My Model', backend='theano')
rather than
import nengo_theano as nengo
model = nengo.model('My Model')
Has that changed?
Right, that should still work. I was talking about the fact that you can't have ref-impl and nengo_theano both installing the "nengo" root folder in the Python path.
On Wed, May 1, 2013 at 11:01 AM, Trevor Bekolay notifications@github.comwrote:
Okay. I thought the idea was to have something like
import nengomodel = nengo.model('My Model', backend='theano')
rather than
import nengo_theano as nengomodel = nengo.model('My Model')
Has that changed?
— Reply to this email directly or view it on GitHubhttps://github.com/ctn-waterloo/nengo_theano/issues/33#issuecomment-17285636 .
In other words, nengo.model('My Model', backend='theano') might need to import something. So (a) it needs to know what to import, and (b) the thing it imports has to be called something other than "nengo"
On Wed, May 1, 2013 at 11:02 AM, James Bergstra james.bergstra@gmail.comwrote:
Right, that should still work. I was talking about the fact that you can't have ref-impl and nengo_theano both installing the "nengo" root folder in the Python path.
On Wed, May 1, 2013 at 11:01 AM, Trevor Bekolay notifications@github.comwrote:
Okay. I thought the idea was to have something like
import nengomodel = nengo.model('My Model', backend='theano')
rather than
import nengo_theano as nengomodel = nengo.model('My Model')
Has that changed?
— Reply to this email directly or view it on GitHubhttps://github.com/ctn-waterloo/nengo_theano/issues/33#issuecomment-17285636 .
Ah, okay. So it would be in the nengo_theano namespace, but the reference implementation (which everyone has to install regardless?) would try to import that to populate the backends list?
Right, that's what I had in mind.
On Wed, May 1, 2013 at 11:04 AM, Trevor Bekolay notifications@github.comwrote:
Ah, okay. So it would be in the nengo_theano namespace, but the reference implementation (which everyone has to install regardless?) would try to import that to populate the backends list?
— Reply to this email directly or view it on GitHubhttps://github.com/ctn-waterloo/nengo_theano/issues/33#issuecomment-17285791 .
The common pattern is that nengo ref-impl is hard-coded with a list of known backend repos that it would try to import, or there is a config file somewhere that identifies backends, and the ref-impl uses that file to interpret backend names. I'm thinking of it like a plugin architecture.
On Wed, May 1, 2013 at 11:12 AM, James Bergstra james.bergstra@gmail.comwrote:
Right, that's what I had in mind.
On Wed, May 1, 2013 at 11:04 AM, Trevor Bekolay notifications@github.comwrote:
Ah, okay. So it would be in the nengo_theano namespace, but the reference implementation (which everyone has to install regardless?) would try to import that to populate the backends list?
— Reply to this email directly or view it on GitHubhttps://github.com/ctn-waterloo/nengo_theano/issues/33#issuecomment-17285791 .
Cool, sounds good.
Is this closeable?
No, the nengo folder at the root should be renamed to nengo_theano
and the setup.py
changed so that this repository installs to the nengo_theano
, so that nengo
and nengo_theano
can coexist in site-packages.
Currently nengo_theano has two python dirs called "nengo" and "nef" which will either be non-standard (nef) or clash with the ref-impl (nengo). So maybe the import directory name should be... nengo_theano?