[Tutor] Using the Nimblenet Library in Python 3.6

2018-04-04 Thread Evapcoop, Evapcoop
Hello,
I am running into some trouble when trying to import certain modules; I wanted 
to know if it is possible to use Nimblenet and all it's associated packages 
with Python3.6. From what I have read, that library is compatible with 
Python2.7.

Some how I was able to successfully import Nimblenet on through the Conda 
prompt. But when I try to import some associated packages, it errors out. Here 
is an example:

from nimblenet.activation_functions import tanh_function
from nimblenet.learning_algorithms  import scaled_conjugate_gradient
from nimblenet.cost_functions  import sum_squared_error
from nimblenet.data_structures import Instance
from nimblenet.neuralnet import NeuralNet
import numpy as np
import time
import cPickle as pickle
import logging
from tabulate import tabulate
import database_operations as dbo

---
ModuleNotFoundError   Traceback (most recent call last)
 in ()
  3 from __future__ import print_function
  4 from nimblenet.activation_functions import tanh_function
> 5 from nimblenet.learning_algorithms  import scaled_conjugate_gradient
  6 from nimblenet.cost_functions  import sum_squared_error
  7 from nimblenet.data_structures import Instance

C:\Anaconda3\lib\site-packages\nimblenet\learning_algorithms\__init__.py in 
()
  1 #from generalized_hebbian import *
> 2 from scaled_conjugate_gradient import scaled_conjugate_gradient
  3 from resilient_backpropagation import resilient_backpropagation
  4 from scipyoptimize import scipyoptimize
  5

ModuleNotFoundError: No module named 'scaled_conjugate_gradient'




I would appreciate any help I can get!


Thank you,
Christine




This e-mail, and any attachments, is intended solely for use by the 
addressee(s) named above. It may contain the confidential or proprietary 
information of Dana Incorporated, its subsidiaries, affiliates or business 
partners. If you are not the intended recipient of this e-mail or are an 
unauthorized recipient of the information, you are hereby notified that any 
dissemination, distribution or copying of this e-mail or any attachments, is 
strictly prohibited. If you have received this e-mail in error, please 
immediately notify the sender by reply e-mail and permanently delete the 
original and any copies or printouts.

Computer viruses can be transmitted via email. The recipient should check this 
e-mail and any attachments for the presence of viruses. Dana Incorporated 
accepts no liability for any damage caused by any virus transmitted by this 
e-mail.

English, Fran?ais, Espa?ol, Deutsch, Italiano, Portugu?s:
http://www.dana.com/corporate-pages/Email

___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Using the Nimblenet Library in Python 3.6

2018-04-04 Thread Alan Gauld via Tutor
On 04/04/18 16:10, Evapcoop, Evapcoop wrote:
> I wanted to know if it is possible to use Nimblenet and all it's 
> associated packages with Python3.6.> From what I have read, that library is 
> compatible with Python2.7.

I think you just answered your own question. If the package is
designed for v2.7 its extremely unlikely to work in 3.6 even if
you did succeed in importing it. The differences between 2.7
and 3.6 are significant.

But this forum is the wrong place to ask. We are focused on the
Python language and standard library. For detailed info you
really need to ask the nimblenet developers/support fora.

-- 
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
http://www.amazon.com/author/alan_gauld
Follow my photo-blog on Flickr at:
http://www.flickr.com/photos/alangauldphotos


___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Using the Nimblenet Library in Python 3.6

2018-04-04 Thread Mats Wichmann
On 04/04/2018 05:07 PM, Alan Gauld via Tutor wrote:
> On 04/04/18 16:10, Evapcoop, Evapcoop wrote:
>> I wanted to know if it is possible to use Nimblenet and all it's 
>> associated packages with Python3.6.> From what I have read, that library is 
>> compatible with Python2.7.
> 
> I think you just answered your own question. If the package is
> designed for v2.7 its extremely unlikely to work in 3.6 even if
> you did succeed in importing it. The differences between 2.7
> and 3.6 are significant.
> 
> But this forum is the wrong place to ask. We are focused on the
> Python language and standard library. For detailed info you
> really need to ask the nimblenet developers/support fora.

Having no idea what nimblenet is I do see from a lightning search that
it's tied into numpy somehow.  So you may get some joy from asking in
the Anaconda forums as well - the whole reason for existence of the
Anaconda distribution is to make it reasonable to install things to do
with Numerical and Scientific Python without some of the headaches
sometimes associated with doing so from scratch - you seem to be trying
the conda route, so maybe someone has blazed the trail before you?

Also this is more supposition, but the fact that the line

  3 from __future__ import print_function

appears in the traceback means it's at least _possible_ Python 3
compatibility of the package has been considered - that's one of the
most obvious and visible changes, that print becomes a function instead
of a statement, and that was added to the future module somewhere along
the line in the Py2 series.

Best of luck in your searches!



___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Using the Nimblenet Library in Python 3.6

2018-04-04 Thread Mark Lawrence

On 05/04/18 00:07, Alan Gauld via Tutor wrote:

On 04/04/18 16:10, Evapcoop, Evapcoop wrote:

I wanted to know if it is possible to use Nimblenet and all it's
associated packages with Python3.6.> From what I have read, that library is 
compatible with Python2.7.


I think you just answered your own question. If the package is
designed for v2.7 its extremely unlikely to work in 3.6 even if
you did succeed in importing it. The differences between 2.7
and 3.6 are significant.



Python 3.6 has more functionality than 2.7 by definition, but your 
comment implies, at least to me, that 2.7 and 3.6 are chalk and cheese. 
Nothing could be further from the truth and has regrettably been one of 
the reasons for the dreadfully slow uptake of Python 3.


--
My fellow Pythonistas, ask not what our language can do for you, ask
what you can do for our language.

Mark Lawrence

___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Using the Nimblenet Library in Python 3.6

2018-04-05 Thread Alan Gauld via Tutor
On 05/04/18 04:02, Mark Lawrence wrote:

> Python 3.6 has more functionality than 2.7 by definition, but your 
> comment implies, at least to me, that 2.7 and 3.6 are chalk and cheese. 
> Nothing could be further from the truth and has regrettably been one of 
> the reasons for the dreadfully slow uptake of Python 3.

I disagree. Apart from the superficial language compatibility issues,
which 2.7 can partially address by importing from future, the libraries
are dramatically different. Any non trivial program runs into issues the
minute it starts importing modules. module names are different, function
names within those modules are different, return values and parameter
types are different.

Given Python programming relies hugely on the modules in the standard
library I find it impossible to produce code that works across 2.7
and 3.x without significant effort to force compatibility. That's why
tools like six etc exist.

You may have been luckier than me but in my experience the gap
between the two versions is significant and not to be underestimated.

-- 
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
http://www.amazon.com/author/alan_gauld
Follow my photo-blog on Flickr at:
http://www.flickr.com/photos/alangauldphotos


___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Using the Nimblenet Library in Python 3.6

2018-04-05 Thread Mark Lawrence

On 05/04/18 09:39, Alan Gauld via Tutor wrote:

On 05/04/18 04:02, Mark Lawrence wrote:


Python 3.6 has more functionality than 2.7 by definition, but your
comment implies, at least to me, that 2.7 and 3.6 are chalk and cheese.
Nothing could be further from the truth and has regrettably been one of
the reasons for the dreadfully slow uptake of Python 3.


I disagree. Apart from the superficial language compatibility issues,
which 2.7 can partially address by importing from future, the libraries
are dramatically different. Any non trivial program runs into issues the
minute it starts importing modules. module names are different, function
names within those modules are different, return values and parameter
types are different.

Given Python programming relies hugely on the modules in the standard
library I find it impossible to produce code that works across 2.7
and 3.x without significant effort to force compatibility. That's why
tools like six etc exist.

You may have been luckier than me but in my experience the gap
between the two versions is significant and not to be underestimated.



Mountains out of molehills.  I suggest that you give up programming.

--
My fellow Pythonistas, ask not what our language can do for you, ask
what you can do for our language.

Mark Lawrence

___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Using the Nimblenet Library in Python 3.6

2018-04-05 Thread Zachary Ware
On Thu, Apr 5, 2018 at 3:39 AM, Alan Gauld via Tutor  wrote:
> On 05/04/18 04:02, Mark Lawrence wrote:
>
>> Python 3.6 has more functionality than 2.7 by definition, but your
>> comment implies, at least to me, that 2.7 and 3.6 are chalk and cheese.
>> Nothing could be further from the truth and has regrettably been one of
>> the reasons for the dreadfully slow uptake of Python 3.
>
> I disagree. Apart from the superficial language compatibility issues,
> which 2.7 can partially address by importing from future, the libraries
> are dramatically different. Any non trivial program runs into issues the
> minute it starts importing modules. module names are different, function
> names within those modules are different, return values and parameter
> types are different.
>
> Given Python programming relies hugely on the modules in the standard
> library I find it impossible to produce code that works across 2.7
> and 3.x without significant effort to force compatibility. That's why
> tools like six etc exist.
>
> You may have been luckier than me but in my experience the gap
> between the two versions is significant and not to be underestimated.

I would appreciate keeping the FUD about the differences to a minimum
:).  The differences are there and they are significant, but far from
insurmountable; in my experience, well-written Python 3 code is fairly
trivial to port to Python 2/3.  Depending on the quality of the
initial Python 2 code, it's not quite as easy to port from 2 to 2/3 or
directly to 3 due to Unicode/bytes confusion (made worse if the Python
2 code relies on bad Unicode practices), but they're still very much
the same language.

However, it does take some effort to port an established Python 2
codebase to Python 3, and to bring the thread back to the original
topic, it looks like the author of the package in question is not
particularly open to doing the work for their package (but may accept
a pull request!).  Christine (OP), you may have some luck with opening
an issue at https://github.com/jorgenkg/python-neural-network and
requesting Python 3 support.  I don't have enough experience in the
field of machine learning to competently suggest an alternative, but
I've heard good things about TensorFlow.

-- 
Zach
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Using the Nimblenet Library in Python 3.6

2018-04-05 Thread Alan Gauld via Tutor
On 05/04/18 15:28, Zachary Ware wrote:

> I would appreciate keeping the FUD about the differences to a minimum
> :).  The differences are there and they are significant, but far from
> insurmountable; in my experience, well-written Python 3 code is fairly
> trivial to port to Python 2/3.  

I agree but we were speaking in the context of the OP who wanted to use
a module written for 2.7 within 3.6. I stated that was unlikely to work
because the differences in versions were significant. It is non trivial
but not difficult to port code from one version to another. It is very
much more effort to produce a single code base that works with both v2
and v3. And that was the context in which my comments should be taken.

Speaking personally I write almost all my new code for v3 and keep
my old code at v2. I have ported a few projects to v3. I have only
written 2 projects that work on both versions and they were
painful to do. That was what I was talking about in my response
to Mark. It's not a reasonable thing to expect a module written
for v2 to work in v3, it's too much work for most authors. They
might consider porting it to v3 if they are not busy with other
things but trying to build for dual versions is no fun at all.

-- 
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
http://www.amazon.com/author/alan_gauld
Follow my photo-blog on Flickr at:
http://www.flickr.com/photos/alangauldphotos


___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor