jonathanraiman / theano_lstm Goto Github PK
View Code? Open in Web Editor NEW:microscope: Nano size Theano LSTM module
License: Other
:microscope: Nano size Theano LSTM module
License: Other
Hi, sorry to bother you, but I was wondering if you might put a license on the code.
(You're probably already aware of the following very useful site, but just in case: http://choosealicense.com/)
Thanks.
super needs args in python 2. eg:
super().init(*args)
becomes:
super(RNN, self).init(*args)
The code says it implements the version of the LSTM from Graves et al. (2013), which I assume is this http://www.cs.toronto.edu/~graves/icassp_2013.pdf or http://www.cs.toronto.edu/~graves/asru_2013.pdf. However, it looks like the LSTM equations in those papers have both the output layer values and memory cell values from the previous time step as input to the gates.
E.g., in equation 3 of http://www.cs.toronto.edu/~graves/icassp_2013.pdf:
i_t = σ (W_xi xt + W_hi ht−1 + W_ci ct−1 + bi)
However, it looks like the code is doing the following:
i_t = σ (W_xi xt + W_hi ht−1 + bi)
Am I missing something here? Is there another LSTM paper this is based on?
I doubt there's much of a practical difference between these two formulations, but it would be good if the documentation were accuracy. Sorry if I'm misunderstanding something here (also sorry for the messy equations above).
I am new to theano, so maybe my question does not make any sense.
In the example here, in the create_prediction
function,
if greedy:
outputs_info = [dict(initial=self.priming_word, taps=[-1])] + [initial_state_with_taps(layer) for layer in self.model.layers[1:-1]]
result, _ = theano.scan(fn=step,
n_steps=200,
outputs_info=outputs_info)
else:
outputs_info = [initial_state_with_taps(layer, num_examples) for layer in self.model.layers[1:]]
result, _ = theano.scan(fn=step,
sequences=[inputs.T], # slice over each time step, so step fn. gets a sentence
outputs_info=outputs_info)
why did you choose n_steps to be 200 for greedy? from what I understand it should be the same as the length of the longest sentence(because you padded things in the input matrix)
Hi,
I was wondering that is there a way to fix any node value in the training? for an example, I want to fix the value of the top two nodes as 0 and 1 when I feed one category of data, and make them 1 and 0 when I feed in another category of data
Hello!
Can you please provide a simple example of usage?
Thanks!
The ipynb was not fixed..
First and foremost, THANK YOU for this AWESOME LSTM lib!!
I am new to all of these, RNN, Theano, and even Python, so please forgive my ignorant question:
I download the Tutorial.ipynb, and run it line by line, however it stuck at:
# construct model & theano functions:
model = Model(
input_size=10,
hidden_size=10,
vocab_size=len(vocab),
stack_size=1, # make this bigger, but makes compilation slow
celltype=RNN # use RNN or LSTM
)
model.stop_on(vocab.word2index["."])
where the error message is:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-10-13e620ce56bd> in <module>()
5 vocab_size=len(vocab),
6 stack_size=1, # make this bigger, but makes compilation slow
----> 7 celltype=RNN # use RNN or LSTM
8 )
9 model.stop_on(vocab.word2index["."])
<ipython-input-8-398b63091e52> in __init__(self, hidden_size, input_size, vocab_size, stack_size, celltype)
62 self.srng = T.shared_randomstreams.RandomStreams(np.random.randint(0, 1024))
63 # create symbolic variables for prediction:
---> 64 self.predictions = self.create_prediction()
65 # create symbolic variable for greedy search:
66 self.greedy_predictions = self.create_prediction(greedy=True)
<ipython-input-8-398b63091e52> in create_prediction(self, greedy)
107 outputs_info=outputs_info)
108 else:
--> 109 outputs_info = [initial_state_with_taps(layer, num_examples) for layer in self.model.layers[1:]]
110 result, _ = theano.scan(fn=step,
111 sequences=[inputs.T],
<ipython-input-8-398b63091e52> in initial_state_with_taps(layer, dimensions)
34 def initial_state_with_taps(layer, dimensions = None):
35 """Optionally wrap tensor variable into a dict with taps=[-1]"""
---> 36 state = initial_state(layer, dimensions)
37 if state is not None:
38 return dict(initial=state, taps=[-1])
<ipython-input-8-398b63091e52> in initial_state(layer, dimensions)
30 return layer.initial_hidden_state if has_hidden(layer) else None
31 else:
---> 32 return matrixify(layer.initial_hidden_state, dimensions) if has_hidden(layer) else None
33
34 def initial_state_with_taps(layer, dimensions = None):
<ipython-input-8-398b63091e52> in matrixify(vector, n)
18
19 def matrixify(vector, n):
---> 20 return T.repeat(T.shape_padleft(vector), n, axis=0)
21
22 def initial_state(layer, dimensions = None):
C:\Anaconda\lib\site-packages\theano\tensor\extra_ops.pyc in repeat(x, repeats, axis)
358 .. versionadded:: 0.6
359 """
--> 360 return RepeatOp(axis=axis)(x, repeats)
361
362
C:\Anaconda\lib\site-packages\theano\gof\op.pyc in __call__(self, *inputs, **kwargs)
397 """
398 return_list = kwargs.pop('return_list', False)
--> 399 node = self.make_node(*inputs, **kwargs)
400 if self.add_stack_trace_on_call:
401 self.add_tag_trace(node)
C:\Anaconda\lib\site-packages\theano\tensor\extra_ops.pyc in make_node(self, x, repeats)
257 ("dtypes %s are not supported by numpy.repeat "
258 "for the 'repeats' parameter, "
--> 259 % numpy_unsupported_dtypes), repeats.dtype)
260
261 if self.axis is None:
TypeError: not all arguments converted during string formatting
EDIT 1:
In the beginning, I thought maybe my Theano 0.6.0 is a bit old, so I update it to 0.7.0, but the error remains.
EDIT 2:
I fixed the syntax typo and got the real error message:
TypeError: ("dtypes ('uint32', 'int64', 'uint64') are not supported by numpy.repeat for the 'repeats' parameter, ", 'int64')
And then I notice:
ptr_bitwidth = theano.gof.local_bitwidth()
if ptr_bitwidth == 64:
numpy_unsupported_dtypes = ('uint64',)
if ptr_bitwidth == 32:
numpy_unsupported_dtypes = ('uint32', 'int64', 'uint64')
It is because I use 32 bit OS, the somehow default int64 type is not supported,
So you guys with 64 bit OS shouldn't have experienced this problem.
EDIT 3:
So I tried to force cast the type to get over this error:
num_examples = T.cast(num_examples, 'int32')
Then I just got blown over by a huge load of error and warnings
WARNING (theano.gof.compilelock): Overriding existing lock by dead process '4952' (I am process '4684')
WARNING:theano.gof.compilelock:Overriding existing lock by dead process '4952' (I am process '4684')
C:\Anaconda\lib\site-packages\theano\scan_module\scan_perform_ext.py:133: RuntimeWarning: numpy.ndarray size changed, may indicate binary incompatibility
from scan_perform.scan_perform import *
ERROR (theano.gof.opt): Optimization failure due to: local_argmax_pushdown
ERROR:theano.gof.opt:Optimization failure due to: local_argmax_pushdown
ERROR (theano.gof.opt): TRACEBACK:
ERROR:theano.gof.opt:TRACEBACK:
ERROR (theano.gof.opt): Traceback (most recent call last):
File "C:\Anaconda\lib\site-packages\theano\gof\opt.py", line 1493, in process_node
replacements = lopt.transform(node)
File "C:\Anaconda\lib\site-packages\theano\tensor\nnet\nnet.py", line 1448, in local_argmax_pushdown
return tensor._max_and_argmax(pre_x, axis)
File "C:\Anaconda\lib\site-packages\theano\gof\op.py", line 507, in __call__
node = self.make_node(*inputs, **kwargs)
File "C:\Anaconda\lib\site-packages\theano\tensor\basic.py", line 1252, in make_node
raise TypeError("MaxAndArgmax needs a constant axis")
TypeError: MaxAndArgmax needs a constant axis
ERROR:theano.gof.opt:Traceback (most recent call last):
File "C:\Anaconda\lib\site-packages\theano\gof\opt.py", line 1493, in process_node
replacements = lopt.transform(node)
File "C:\Anaconda\lib\site-packages\theano\tensor\nnet\nnet.py", line 1448, in local_argmax_pushdown
return tensor._max_and_argmax(pre_x, axis)
File "C:\Anaconda\lib\site-packages\theano\gof\op.py", line 507, in __call__
node = self.make_node(*inputs, **kwargs)
File "C:\Anaconda\lib\site-packages\theano\tensor\basic.py", line 1252, in make_node
raise TypeError("MaxAndArgmax needs a constant axis")
TypeError: MaxAndArgmax needs a constant axis
ERROR (theano.gof.opt): Optimization failure due to: local_argmax_pushdown
ERROR:theano.gof.opt:Optimization failure due to: local_argmax_pushdown
ERROR (theano.gof.opt): TRACEBACK:
ERROR:theano.gof.opt:TRACEBACK:
ERROR (theano.gof.opt): Traceback (most recent call last):
File "C:\Anaconda\lib\site-packages\theano\gof\opt.py", line 1493, in process_node
replacements = lopt.transform(node)
File "C:\Anaconda\lib\site-packages\theano\tensor\nnet\nnet.py", line 1454, in local_argmax_pushdown
('x', 0))(pre_bias), axis)
File "C:\Anaconda\lib\site-packages\theano\gof\op.py", line 507, in __call__
node = self.make_node(*inputs, **kwargs)
File "C:\Anaconda\lib\site-packages\theano\tensor\basic.py", line 1252, in make_node
raise TypeError("MaxAndArgmax needs a constant axis")
TypeError: MaxAndArgmax needs a constant axis
ERROR:theano.gof.opt:Traceback (most recent call last):
File "C:\Anaconda\lib\site-packages\theano\gof\opt.py", line 1493, in process_node
replacements = lopt.transform(node)
File "C:\Anaconda\lib\site-packages\theano\tensor\nnet\nnet.py", line 1454, in local_argmax_pushdown
('x', 0))(pre_bias), axis)
File "C:\Anaconda\lib\site-packages\theano\gof\op.py", line 507, in __call__
node = self.make_node(*inputs, **kwargs)
File "C:\Anaconda\lib\site-packages\theano\tensor\basic.py", line 1252, in make_node
raise TypeError("MaxAndArgmax needs a constant axis")
TypeError: MaxAndArgmax needs a constant axis
ERROR (theano.gof.opt): Optimization failure due to: local_argmax_pushdown
ERROR:theano.gof.opt:Optimization failure due to: local_argmax_pushdown
ERROR (theano.gof.opt): TRACEBACK:
ERROR:theano.gof.opt:TRACEBACK:
ERROR (theano.gof.opt): Traceback (most recent call last):
File "C:\Anaconda\lib\site-packages\theano\gof\opt.py", line 1493, in process_node
replacements = lopt.transform(node)
File "C:\Anaconda\lib\site-packages\theano\tensor\nnet\nnet.py", line 1454, in local_argmax_pushdown
('x', 0))(pre_bias), axis)
File "C:\Anaconda\lib\site-packages\theano\gof\op.py", line 507, in __call__
node = self.make_node(*inputs, **kwargs)
File "C:\Anaconda\lib\site-packages\theano\tensor\basic.py", line 1252, in make_node
raise TypeError("MaxAndArgmax needs a constant axis")
TypeError: MaxAndArgmax needs a constant axis
ERROR:theano.gof.opt:Traceback (most recent call last):
File "C:\Anaconda\lib\site-packages\theano\gof\opt.py", line 1493, in process_node
replacements = lopt.transform(node)
File "C:\Anaconda\lib\site-packages\theano\tensor\nnet\nnet.py", line 1454, in local_argmax_pushdown
('x', 0))(pre_bias), axis)
File "C:\Anaconda\lib\site-packages\theano\gof\op.py", line 507, in __call__
node = self.make_node(*inputs, **kwargs)
File "C:\Anaconda\lib\site-packages\theano\tensor\basic.py", line 1252, in make_node
raise TypeError("MaxAndArgmax needs a constant axis")
TypeError: MaxAndArgmax needs a constant axis
EDIT4
Just found out the new errors are similar to issue12, which mentioned the error have something to do with scipy. So update it
scipy: 0.15.1-np19py27_0 --> 0.16.0-np19py27_0
Run the example code again, and the error remains. Still stuck. Frustrating.
These bugs are really newbie unfriendly, Last time I use pandas and got stuck with some pytable bugs, spend way too much time trying to develop walk-around. I don't want to spend time fighting the tools, I just want to get them up and running FAST so I can do my actual work.
Everything goes fine until the very end
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
/usr/local/lib/python3.4/dist-packages/theano/compile/function_module.py in __call__(self, *args, **kwargs)
858 try:
--> 859 outputs = self.fn()
860 except Exception:
ValueError: softmaxes.shape[0] (100) != y_lengths.shape[0] (0)
During handling of the above exception, another exception occurred:
ValueError Traceback (most recent call last)
<ipython-input-13-8890488df5a1> in <module>()
1 # train:
2 for i in range(10000):
----> 3 error = model.update_fun(numerical_lines, numerical_lengths)
4 if i % 100 == 0:
5 print("epoch %(epoch)d, error=%(error).2f" % ({"epoch": i, "error": error}))
/usr/local/lib/python3.4/dist-packages/theano/compile/function_module.py in __call__(self, *args, **kwargs)
869 node=self.fn.nodes[self.fn.position_of_error],
870 thunk=thunk,
--> 871 storage_map=getattr(self.fn, 'storage_map', None))
872 else:
873 # old-style linkers raise their own exceptions
/usr/local/lib/python3.4/dist-packages/theano/gof/link.py in raise_with_op(node, thunk, exc_info, storage_map)
312 # extra long error message in that case.
313 pass
--> 314 reraise(exc_type, exc_value, exc_trace)
315
316
/usr/local/lib/python3.4/dist-packages/six.py in reraise(tp, value, tb)
683 value = tp()
684 if value.__traceback__ is not tb:
--> 685 raise value.with_traceback(tb)
686 raise value
687
/usr/local/lib/python3.4/dist-packages/theano/compile/function_module.py in __call__(self, *args, **kwargs)
857 t0_fn = time.time()
858 try:
--> 859 outputs = self.fn()
860 except Exception:
861 if hasattr(self.fn, 'position_of_error'):
ValueError: softmaxes.shape[0] (100) != y_lengths.shape[0] (0)
Apply node that caused the error: <theano_lstm.masked_loss.MaskedLoss object at 0x7f374891eb70>(InplaceDimShuffle{2,0,1}.0, Subtensor{::, int64::}.0, Elemwise{add,no_inplace}.0, Alloc.0)
Toposort index: 145
Inputs types: [TensorType(float64, 3D), TensorType(int32, matrix), TensorType(int32, vector), TensorType(int32, vector)]
Inputs shapes: [(100, 55, 51), (100, 55), (0,), (0,)]
Inputs strides: [(8, 40800, 800), (224, 4), (4,), (4,)]
Inputs values: ['not shown', 'not shown', array([], dtype=int32), array([], dtype=int32)]
Outputs clients: [[Sum{acc_dtype=float64}(<theano_lstm.masked_loss.MaskedLoss object at 0x7f374891eb70>.0), Shape_i{0}(<theano_lstm.masked_loss.MaskedLoss object at 0x7f374891eb70>.0)]]
Backtrace when the node is created:
File "/home/simon/Programs/theano_lstm/theano_lstm/masked_loss.py", line 327, in make_node
T.Tensor(dtype=softmaxes.dtype, broadcastable=[False])()])
HINT: Use the Theano flag 'exception_verbosity=high' for a debugprint and storage map footprint of this apply node.
Versions of software below
numpy==1.10.4
scipy==0.17.0
Theano==0.7.0
theano-lstm==0.0.14
Hi @JonathanRaiman
your rnn package looks clean and easily understandable, I am gonna test it out, but i have question, do you intend to implement a bidirectional RNN?
Thanks for making this code available. LSTMs are so hot right now.
I'm wondering if you know how your code compares to the rnnlm package in terms of speed (using yours with or without a GPU)? I've found rnnlm impossibly slow if you don't want to do their class-based lm trick.
Could you enlighten how can we change the learning rate using this wonderful package?
Thanks
Hi, the first example contains this line:
new_states = stacked_rnn.forward(x, prev_hiddens, dropout)
But there is no mention of stacked_rrn variable anywhere.
Also there is no mention of dynamics from line:
return [dynamics(x, new_states[-1])] + new_states[:-1]
Hello,
I have some sequence of vectors of the same length. Now I would like to train LSTM on train sample of this sequence and then make the network predict new sequence of vectors of the same length as input based on several priming vectors.
I cannot find easily applicable example anywhere on the internet and I thought that your code could be suitable. Couldn't you please edit your example with words or add some new, which would done what I'm looking for?
Thank you
Hi @JonathanRaiman , first off thanks for setting up this repo. Learned a lot from your implementation.
I have a question regarding the masking operation for variable length inputs. You mentioned in docs that
Elementwise mutliply this mask with your output, and then apply your objective function to this masked output. The error will be obtained everywhere, but will be zero in areas that were masked, yielding the correct error function.
But by doing so you only cuts off the back-propagation (BP) paths from masked outputs, whereas the BP paths from unmasked outputs via masked hidden units remain. The resulting loss function is still errornous.
I notice from other LSTM implementations (e.g. Lasagne) that the usual approach is to use the mask to switch between previous hidden states (if current input is masked) and computed hidden states (otherwise). In this way, both type of unwanted BP paths (masked outputs -> masked hidden -> weight & unmasked outputs -> masked hidden -> weight.)
Plz correct me if I'm wrong. Am I missing something?
Hallo Jonathan,
I was exited to test your library. I wanted to test the lib after installing by running the Tutorial code. However, I get several
ERROR (theano.gof.opt): Optimization failure due to: local_argmax_pushdown
from my theano bleeding-edge Version and strangely after some compilation the error rises rapidly. The complete output follows:
/home/karen/.local/lib/python2.7/site-packages/Theano-0.7.0-py2.7.egg/theano/scan_module/scan_perform_ext.py:133: RuntimeWarning: numpy.ndarray size changed, may indicate binary incompatibility
from scan_perform.scan_perform import *
ERROR (theano.gof.opt): Optimization failure due to: local_argmax_pushdown
ERROR (theano.gof.opt): TRACEBACK:
ERROR (theano.gof.opt): Traceback (most recent call last):
File "/home/karen/.local/lib/python2.7/site-packages/Theano-0.7.0-py2.7.egg/theano/gof/opt.py", line 1488, in process_node
replacements = lopt.transform(node)
File "/home/karen/.local/lib/python2.7/site-packages/Theano-0.7.0-py2.7.egg/theano/tensor/nnet/nnet.py", line 1471, in local_argmax_pushdown
return tensor._max_and_argmax(pre_x, axis)
File "/home/karen/.local/lib/python2.7/site-packages/Theano-0.7.0-py2.7.egg/theano/gof/op.py", line 507, in __call__
node = self.make_node(*inputs, **kwargs)
File "/home/karen/.local/lib/python2.7/site-packages/Theano-0.7.0-py2.7.egg/theano/tensor/basic.py", line 1252, in make_node
raise TypeError("MaxAndArgmax needs a constant axis")
TypeError: MaxAndArgmax needs a constant axis
ERROR (theano.gof.opt): Optimization failure due to: local_argmax_pushdown
ERROR (theano.gof.opt): TRACEBACK:
ERROR (theano.gof.opt): Traceback (most recent call last):
File "/home/karen/.local/lib/python2.7/site-packages/Theano-0.7.0-py2.7.egg/theano/gof/opt.py", line 1488, in process_node
replacements = lopt.transform(node)
File "/home/karen/.local/lib/python2.7/site-packages/Theano-0.7.0-py2.7.egg/theano/tensor/nnet/nnet.py", line 1477, in local_argmax_pushdown
('x', 0))(pre_bias), axis)
File "/home/karen/.local/lib/python2.7/site-packages/Theano-0.7.0-py2.7.egg/theano/gof/op.py", line 507, in __call__
node = self.make_node(*inputs, **kwargs)
File "/home/karen/.local/lib/python2.7/site-packages/Theano-0.7.0-py2.7.egg/theano/tensor/basic.py", line 1252, in make_node
raise TypeError("MaxAndArgmax needs a constant axis")
TypeError: MaxAndArgmax needs a constant axis
ERROR (theano.gof.opt): Optimization failure due to: local_argmax_pushdown
ERROR (theano.gof.opt): TRACEBACK:
ERROR (theano.gof.opt): Traceback (most recent call last):
File "/home/karen/.local/lib/python2.7/site-packages/Theano-0.7.0-py2.7.egg/theano/gof/opt.py", line 1488, in process_node
replacements = lopt.transform(node)
File "/home/karen/.local/lib/python2.7/site-packages/Theano-0.7.0-py2.7.egg/theano/tensor/nnet/nnet.py", line 1477, in local_argmax_pushdown
('x', 0))(pre_bias), axis)
File "/home/karen/.local/lib/python2.7/site-packages/Theano-0.7.0-py2.7.egg/theano/gof/op.py", line 507, in __call__
node = self.make_node(*inputs, **kwargs)
File "/home/karen/.local/lib/python2.7/site-packages/Theano-0.7.0-py2.7.egg/theano/tensor/basic.py", line 1252, in make_node
raise TypeError("MaxAndArgmax needs a constant axis")
TypeError: MaxAndArgmax needs a constant axis
epoch 0, error=4619.00
the catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult catapult
epoch 100, error=392563.62
epoch 200, error=660598.00
epoch 300, error=914458.50
epoch 400, error=1159042.62
epoch 500, error=1393995.12
the calendar can , the lantern stole .
epoch 600, error=1621452.25
epoch 700, error=1842611.12
epoch 800, error=2058382.50
epoch 900, error=2269960.25
epoch 1000, error=2478081.75
the calendar can , a paper duck , the wrangler can .
Could you provide what lib versions you are using exactly
(i.e. theano, numpy, scipy, blas, ect) so that I can track what might go wrong for me. Thank you very much for help.
Karen
Hello,
I got this issue: with the config
Win64bits with Lapack available
scipy==0.16.0
Cython==0.22.1
numpy==1.9.2
Theano==0.7.0
theano-lstm==0.0.15
Do you have any idea ?
Error Message:
D:_devs\Python01\WinPython-64-2710\python-2.7.10.amd64\lib\site-packages\theano\tensor\var.py:422: UserWarning: Warning, Cannot compute test value: input 0 (<TensorType(int32, matrix)>) of Op Subtensor{::, int64:int64:}(<TensorType(int32, matrix)>, Constant{0}, Constant{-1}) missing default value
lambda entry: isinstance(entry, Variable)))
D:_devs\Python01\WinPython-64-2710\python-2.7.10.amd64\lib\site-packages\theano\tensor\var.py:273: UserWarning: Warning, Cannot compute test value: input 0 (Subtensor{::, int64:int64:}.0) of Op Shape(Subtensor{::, int64:int64:}.0) missing default value
shape = property(lambda self: theano.tensor.basic.shape(self))
D:_devs\Python01\WinPython-64-2710\python-2.7.10.amd64\lib\site-packages\theano\tensor\var.py:422: UserWarning: Warning, Cannot compute test value: input 0 (Shape.0) of Op Subtensor{int64}(Shape.0, Constant{0}) missing default value
lambda entry: isinstance(entry, Variable)))
D:_devs\Python01\WinPython-64-2710\python-2.7.10.amd64\lib\site-packages\theano\scan_module\scan_perform_ext.py:133: RuntimeWarning: numpy.ndarray size changed, may indicate binary incompatibility
from scan_perform.scan_perform import *
ERROR (theano.gof.opt): Optimization failure due to: local_argmax_pushdown
ERROR:theano.gof.opt:Optimization failure due to: local_argmax_pushdown
ERROR (theano.gof.opt): TRACEBACK:
ERROR:theano.gof.opt:TRACEBACK:
ERROR (theano.gof.opt): Traceback (most recent call last):
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.