From: Cal Who on

The below code produces the error as indicated. But, in
E:\Python26\Lib\site-packages\ffnet\tools I see:
drawffnet.py
drawffnet.pyc
drawffnet.pyo
Is that what it is looking for?

I'm not sure what "not callable" means.
Could it be referencing to "nn" rather than drawffnet?
What should I do to investigate this?

Thanks
from ffnet import ffnet, mlgraph, readdata

....snipped working code here ...

output, regression = nn.test(inputs2, targets2, iprint = 2)

from ffnet.tools import drawffnet
import pylab
drawffnet(nn) #Error: 'module' object is not callable
pylab.show()
except ImportError, e:
print "Cannot make drawffnet plot."


From: MRAB on
Cal Who wrote:
> The below code produces the error as indicated. But, in
> E:\Python26\Lib\site-packages\ffnet\tools I see:
> drawffnet.py
> drawffnet.pyc
> drawffnet.pyo
> Is that what it is looking for?
>
> I'm not sure what "not callable" means.
> Could it be referencing to "nn" rather than drawffnet?
> What should I do to investigate this?
>
> Thanks
> from ffnet import ffnet, mlgraph, readdata
>
> ...snipped working code here ...
>
> output, regression = nn.test(inputs2, targets2, iprint = 2)
>
> from ffnet.tools import drawffnet
> import pylab
> drawffnet(nn) #Error: 'module' object is not callable
> pylab.show()
> except ImportError, e:
> print "Cannot make drawffnet plot."
>
You're importing the module 'drawffnet' and then trying to call it in:

drawffnet(nn)

but, as the traceback says, modules can't be called.

I had a quick look at the documentation and it looks like you should be
calling a function called 'drawffnet' that's defined in the module
called 'drawffnet'. Try doing:

from ffnet.tools.drawffnet import drawffnet

instead.
From: Terry Reedy on
On 3/14/2010 2:20 PM, Cal Who wrote:
>
> The below code produces the error as indicated. But, in
> E:\Python26\Lib\site-packages\ffnet\tools I see:
> drawffnet.py

drawffnet is a module initialized from drawffnet.py (or either of the below)

> drawffnet.pyc
> drawffnet.pyo
> Is that what it is looking for?
>
> I'm not sure what "not callable" means.
> Could it be referencing to "nn" rather than drawffnet?
> What should I do to investigate this?
>
> Thanks
> from ffnet import ffnet, mlgraph, readdata
>
> ...snipped working code here ...
>
> output, regression = nn.test(inputs2, targets2, iprint = 2)
>
> from ffnet.tools import drawffnet

here you create drawffnet from one of the files.

> import pylab
> drawffnet(nn) #Error: 'module' object is not callable

This is an attempt to call the module as if it were a functions, which
it is not. You probably want to call a function within the module.


> pylab.show()
> except ImportError, e:
> print "Cannot make drawffnet plot."
>
>


From: Cal Who on
Thanks for the replies.
That fixed it but produced another problem.

There are two plotting routines below.
Either one will work without error.
But the combo produces:
The exception unknown software exception (0x40000015) occurred in the
application at location 0x1e05b62a.
in a dialog box and the following in the console
Fatal Python error: PyEval_RestoreThread: NULL tstate


This application has requested the Runtime to terminate it in an unusual
way.

Please contact the application's support team for more information.

Do you see what isa wrong?

Second question: Is it common to group all the "from" statements at the top
of the program
or to put them by the relavent code as I have here?

Thanks a lot


try:

#Or we can use the two commented statements

#from ffnet.tools import drawffnet

from ffnet.tools.drawffnet import drawffnet

import pylab

#drawffnet.drawffnet(nn)

drawffnet(nn)

pylab.show()

except ImportError, e:

print "Cannot make drawffnet plot.\n%s" % e


?

?

# Plot adapted from

# http://ffnet.sourceforge.net/examples/stock.html

# Make plot if matplotlib is avialble

try:

from pylab import *

plot( targets2, 'b--' )

plot( output, 'k-' )

legend(('target', 'output'))

xlabel('pattern'); ylabel('benign or malignant')

title('Outputs vs. target of trained network.')

grid(True)

show()

except ImportError, e:

print "Cannot make plots. For plotting install matplotlib.\n%s" % e



?

?


From: Cal Who on

"MRAB" <python(a)mrabarnett.plus.com> wrote in message
news:mailman.745.1268592389.23598.python-list(a)python.org...
> Cal Who wrote:
>> The below code produces the error as indicated. But, in
>> E:\Python26\Lib\site-packages\ffnet\tools I see:
>> drawffnet.py
>> drawffnet.pyc
>> drawffnet.pyo
>> Is that what it is looking for?
>>
>> I'm not sure what "not callable" means.
>> Could it be referencing to "nn" rather than drawffnet?
>> What should I do to investigate this?
>>
>> Thanks
>> from ffnet import ffnet, mlgraph, readdata
>>
>> ...snipped working code here ...
>>
>> output, regression = nn.test(inputs2, targets2, iprint = 2)
>>
>> from ffnet.tools import drawffnet
>> import pylab
>> drawffnet(nn) #Error: 'module' object is not callable
>> pylab.show()
>> except ImportError, e:
>> print "Cannot make drawffnet plot."
> You're importing the module 'drawffnet' and then trying to call it in:
>
> drawffnet(nn)
>
> but, as the traceback says, modules can't be called.
>
> I had a quick look at the documentation and it looks like you should be
> calling a function called 'drawffnet' that's defined in the module
> called 'drawffnet'. Try doing:
>
> from ffnet.tools.drawffnet import drawffnet
>
> instead.

Thanks, Works great - please see my other post