2017-05-07 18 views
0

Win 10 x64,conda,theano 0.9,python 3.6.1,spyder 3.1.4,IPython 6.0.0 當我在掃描API中測試代碼教程Iterating over the first dimension of a tensor: Calculating a polynomial,即當我在theano掃描api指南中運行示例代碼時發生了一些錯誤

import theano 
import numpy as np 
import theano.tensor as T 
from theano import In 

coefficients = theano.tensor.vector("coefficients") 
x = T.scalar("x") 

max_coefficients_supported = 10000 

# Generate the components of the polynomial 
components, updates = theano.scan(fn=lambda coefficient, power, free_variable: coefficient * (free_variable ** power), 
            outputs_info=None, 
            sequences=[coefficients, theano.tensor.arange(max_coefficients_supported)], 
            non_sequences=x) 
# Sum them up 
polynomial = components.sum() 

# Compile a function 
calculate_polynomial = theano.function(inputs=[coefficients, x], outputs=polynomial) 

Spyder的拋出錯誤:

ERROR (theano.gof.opt): Optimization failure due to: local_subtensor_merge 
ERROR (theano.gof.opt): node: Subtensor{:int64:}(coefficients[0:], ScalarFromTensor.0) 
ERROR (theano.gof.opt): TRACEBACK: 
ERROR (theano.gof.opt): Traceback (most recent call last): 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\gof\op.py", line 625, in __call__ 
    storage_map[ins] = [self._get_test_value(ins)] 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\gof\op.py", line 581, in _get_test_value 
    raise AttributeError('%s has no test value %s' % (v, detailed_err_msg)) 
AttributeError: Elemwise{switch,no_inplace}.0 has no test value 

During handling of the above exception, another exception occurred: 

Traceback (most recent call last): 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\gof\opt.py", line 1982, in process_node 
    replacements = lopt.transform(node) 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\tensor\opt.py", line 3051, in local_subtensor_merge 
    out = subtens(x, *sl_ins) 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\gof\op.py", line 615, in __call__ 
    node = self.make_node(*inputs, **kwargs) 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\tensor\subtensor.py", line 474, in make_node 
    inputs = tuple(self.my_as_scalar(a) for a in inputs) 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\tensor\subtensor.py", line 474, in <genexpr> 
    inputs = tuple(self.my_as_scalar(a) for a in inputs) 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\tensor\subtensor.py", line 459, in my_as_scalar 
    return theano.tensor.scalar_from_tensor(a) 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\gof\op.py", line 639, in __call__ 
    (i, ins, node, detailed_err_msg)) 
ValueError: Cannot compute test value: input 0 (Elemwise{switch,no_inplace}.0) of Op ScalarFromTensor(Elemwise{switch,no_inplace}.0) missing default value. 

ERROR (theano.gof.opt): Optimization failure due to: local_subtensor_merge 
ERROR (theano.gof.opt): node: Subtensor{:int64:}(Subtensor{int64::}.0, ScalarFromTensor.0) 
ERROR (theano.gof.opt): TRACEBACK: 
ERROR (theano.gof.opt): Traceback (most recent call last): 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\gof\op.py", line 625, in __call__ 
    storage_map[ins] = [self._get_test_value(ins)] 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\gof\op.py", line 581, in _get_test_value 
    raise AttributeError('%s has no test value %s' % (v, detailed_err_msg)) 
AttributeError: Elemwise{minimum,no_inplace}.0 has no test value 
Backtrace when that variable is created: 

    File "C:\Users\sejab\Miniconda3\lib\site-packages\ipykernel\zmqshell.py", line 533, in run_cell 
    return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs) 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\IPython\core\interactiveshell.py", line 2683, in run_cell 
    interactivity=interactivity, compiler=compiler, result=result) 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\IPython\core\interactiveshell.py", line 2793, in run_ast_nodes 
    if self.run_code(code, result): 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\IPython\core\interactiveshell.py", line 2847, in run_code 
    exec(code_obj, self.user_global_ns, self.user_ns) 
    File "<ipython-input-1-a340056dd686>", line 1, in <module> 
    runfile('D:/WorkSpace/Python/Bayes/temp_temp.py', wdir='D:/WorkSpace/Python/Bayes') 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 880, in runfile 
    execfile(filename, namespace) 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile 
    exec(compile(f.read(), filename, 'exec'), namespace) 
    File "D:/WorkSpace/Python/Bayes/temp_temp.py", line 25, in <module> 
    non_sequences=x) 


During handling of the above exception, another exception occurred: 

Traceback (most recent call last): 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\gof\opt.py", line 1982, in process_node 
    replacements = lopt.transform(node) 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\tensor\opt.py", line 3033, in local_subtensor_merge 
    ushape[pos_2])) 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\tensor\opt.py", line 2880, in merge_two_slices 
    sl2, reverse2 = get_canonical_form_slice(slice2, len2) 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\tensor\subtensor.py", line 155, in get_canonical_form_slice 
    stop_plus_len = stop + length 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\tensor\var.py", line 128, in __add__ 
    return theano.tensor.basic.add(self, other) 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\gof\op.py", line 639, in __call__ 
    (i, ins, node, detailed_err_msg)) 
ValueError: Cannot compute test value: input 0 (Elemwise{minimum,no_inplace}.0) of Op Elemwise{add,no_inplace}(Elemwise{minimum,no_inplace}.0, TensorConstant{10000}) missing default value. 
Backtrace when that variable is created: 

    File "C:\Users\sejab\Miniconda3\lib\site-packages\ipykernel\zmqshell.py", line 533, in run_cell 
    return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs) 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\IPython\core\interactiveshell.py", line 2683, in run_cell 
    interactivity=interactivity, compiler=compiler, result=result) 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\IPython\core\interactiveshell.py", line 2793, in run_ast_nodes 
    if self.run_code(code, result): 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\IPython\core\interactiveshell.py", line 2847, in run_code 
    exec(code_obj, self.user_global_ns, self.user_ns) 
    File "<ipython-input-1-a340056dd686>", line 1, in <module> 
    runfile('D:/WorkSpace/Python/Bayes/temp_temp.py', wdir='D:/WorkSpace/Python/Bayes') 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 880, in runfile 
    execfile(filename, namespace) 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile 
    exec(compile(f.read(), filename, 'exec'), namespace) 
    File "D:/WorkSpace/Python/Bayes/temp_temp.py", line 25, in <module> 
    non_sequences=x) 


ERROR (theano.gof.opt): Optimization failure due to: local_shape_to_shape_i 
ERROR (theano.gof.opt): node: Shape(coefficients[0:]) 
ERROR (theano.gof.opt): TRACEBACK: 
ERROR (theano.gof.opt): Traceback (most recent call last): 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\gof\op.py", line 625, in __call__ 
    storage_map[ins] = [self._get_test_value(ins)] 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\gof\op.py", line 581, in _get_test_value 
    raise AttributeError('%s has no test value %s' % (v, detailed_err_msg)) 
AttributeError: Elemwise{sub,no_inplace}.0 has no test value 

During handling of the above exception, another exception occurred: 

Traceback (most recent call last): 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\gof\opt.py", line 1982, in process_node 
    replacements = lopt.transform(node) 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\tensor\opt.py", line 1884, in local_shape_to_shape_i 
    ret = shape_feature.make_vector_shape(node.inputs[0]) 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\tensor\opt.py", line 1275, in make_vector_shape 
    return make_vector(*self.shape_of[r]) 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\gof\op.py", line 639, in __call__ 
    (i, ins, node, detailed_err_msg)) 
ValueError: Cannot compute test value: input 0 (Elemwise{sub,no_inplace}.0) of Op MakeVector{dtype='int64'}(Elemwise{sub,no_inplace}.0) missing default value. 

ERROR (theano.gof.opt): Optimization failure due to: local_shape_to_shape_i 
ERROR (theano.gof.opt): node: Shape(coefficients) 
ERROR (theano.gof.opt): TRACEBACK: 
ERROR (theano.gof.opt): Traceback (most recent call last): 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\gof\op.py", line 625, in __call__ 
    storage_map[ins] = [self._get_test_value(ins)] 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\gof\op.py", line 581, in _get_test_value 
    raise AttributeError('%s has no test value %s' % (v, detailed_err_msg)) 
AttributeError: Shape_i{0}.0 has no test value 

During handling of the above exception, another exception occurred: 

Traceback (most recent call last): 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\gof\opt.py", line 1982, in process_node 
    replacements = lopt.transform(node) 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\tensor\opt.py", line 1884, in local_shape_to_shape_i 
    ret = shape_feature.make_vector_shape(node.inputs[0]) 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\tensor\opt.py", line 1275, in make_vector_shape 
    return make_vector(*self.shape_of[r]) 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\gof\op.py", line 639, in __call__ 
    (i, ins, node, detailed_err_msg)) 
ValueError: Cannot compute test value: input 0 (Shape_i{0}.0) of Op MakeVector{dtype='int64'}(Shape_i{0}.0) missing default value. 

ERROR (theano.gof.opt): Optimization failure due to: local_shape_to_shape_i 
ERROR (theano.gof.opt): node: Shape(coefficients) 
ERROR (theano.gof.opt): TRACEBACK: 
ERROR (theano.gof.opt): Traceback (most recent call last): 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\gof\op.py", line 625, in __call__ 
    storage_map[ins] = [self._get_test_value(ins)] 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\gof\op.py", line 581, in _get_test_value 
    raise AttributeError('%s has no test value %s' % (v, detailed_err_msg)) 
AttributeError: Shape_i{0}.0 has no test value 

During handling of the above exception, another exception occurred: 

Traceback (most recent call last): 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\gof\opt.py", line 1982, in process_node 
    replacements = lopt.transform(node) 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\tensor\opt.py", line 1884, in local_shape_to_shape_i 
    ret = shape_feature.make_vector_shape(node.inputs[0]) 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\tensor\opt.py", line 1275, in make_vector_shape 
    return make_vector(*self.shape_of[r]) 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\gof\op.py", line 639, in __call__ 
    (i, ins, node, detailed_err_msg)) 
ValueError: Cannot compute test value: input 0 (Shape_i{0}.0) of Op MakeVector{dtype='int64'}(Shape_i{0}.0) missing default value. 

ERROR (theano.gof.opt): SeqOptimizer apply <theano.tensor.opt.FusionOptimizer object at 0x000002E6B6947860> 
ERROR (theano.gof.opt): Traceback: 
ERROR (theano.gof.opt): Traceback (most recent call last): 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\gof\op.py", line 625, in __call__ 
    storage_map[ins] = [self._get_test_value(ins)] 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\gof\op.py", line 581, in _get_test_value 
    raise AttributeError('%s has no test value %s' % (v, detailed_err_msg)) 
AttributeError: <float64> has no test value 

During handling of the above exception, another exception occurred: 

Traceback (most recent call last): 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\gof\opt.py", line 235, in apply 
    sub_prof = optimizer.optimize(fgraph) 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\gof\opt.py", line 87, in optimize 
    ret = self.apply(fgraph, *args, **kwargs) 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\tensor\opt.py", line 7289, in apply 
    new_outputs = self.optimizer(node) 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\tensor\opt.py", line 7133, in local_fuse 
    return_list=True) 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\gof\op.py", line 639, in __call__ 
    (i, ins, node, detailed_err_msg)) 
ValueError: Cannot compute test value: input 0 (<float64>) of Op pow(<float64>, <int64>) missing default value. 

ERROR (theano.gof.opt): SeqOptimizer apply <theano.compile.mode.AddDestroyHandler object at 0x000002E6B539FA20> 
ERROR (theano.gof.opt): Traceback: 
ERROR (theano.gof.opt): Traceback (most recent call last): 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\gof\op.py", line 625, in __call__ 
    storage_map[ins] = [self._get_test_value(ins)] 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\gof\op.py", line 581, in _get_test_value 
    raise AttributeError('%s has no test value %s' % (v, detailed_err_msg)) 
AttributeError: Sum{acc_dtype=float64}.0 has no test value 
Backtrace when that variable is created: 

    File "C:\Users\sejab\Miniconda3\lib\site-packages\ipykernel\zmqshell.py", line 533, in run_cell 
    return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs) 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\IPython\core\interactiveshell.py", line 2683, in run_cell 
    interactivity=interactivity, compiler=compiler, result=result) 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\IPython\core\interactiveshell.py", line 2793, in run_ast_nodes 
    if self.run_code(code, result): 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\IPython\core\interactiveshell.py", line 2847, in run_code 
    exec(code_obj, self.user_global_ns, self.user_ns) 
    File "<ipython-input-1-a340056dd686>", line 1, in <module> 
    runfile('D:/WorkSpace/Python/Bayes/temp_temp.py', wdir='D:/WorkSpace/Python/Bayes') 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 880, in runfile 
    execfile(filename, namespace) 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile 
    exec(compile(f.read(), filename, 'exec'), namespace) 
    File "D:/WorkSpace/Python/Bayes/temp_temp.py", line 27, in <module> 
    polynomial = components.sum() 


During handling of the above exception, another exception occurred: 

Traceback (most recent call last): 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\gof\opt.py", line 235, in apply 
    sub_prof = optimizer.optimize(fgraph) 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\gof\opt.py", line 87, in optimize 
    ret = self.apply(fgraph, *args, **kwargs) 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\compile\mode.py", line 103, in apply 
    fgraph.replace_validate(o, _output_guard(o), 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\theano\gof\op.py", line 639, in __call__ 
    (i, ins, node, detailed_err_msg)) 
ValueError: Cannot compute test value: input 0 (Sum{acc_dtype=float64}.0) of Op OutputGuard(Sum{acc_dtype=float64}.0) missing default value. 
Backtrace when that variable is created: 

    File "C:\Users\sejab\Miniconda3\lib\site-packages\ipykernel\zmqshell.py", line 533, in run_cell 
    return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs) 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\IPython\core\interactiveshell.py", line 2683, in run_cell 
    interactivity=interactivity, compiler=compiler, result=result) 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\IPython\core\interactiveshell.py", line 2793, in run_ast_nodes 
    if self.run_code(code, result): 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\IPython\core\interactiveshell.py", line 2847, in run_code 
    exec(code_obj, self.user_global_ns, self.user_ns) 
    File "<ipython-input-1-a340056dd686>", line 1, in <module> 
    runfile('D:/WorkSpace/Python/Bayes/temp_temp.py', wdir='D:/WorkSpace/Python/Bayes') 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 880, in runfile 
    execfile(filename, namespace) 
    File "C:\Users\sejab\Miniconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile 
    exec(compile(f.read(), filename, 'exec'), namespace) 
    File "D:/WorkSpace/Python/Bayes/temp_temp.py", line 27, in <module> 
    polynomial = components.sum() 

因爲其他的代碼運行良好,似乎theano.function引起的問題。儘管我嘗試使用In()將測試值添加到係數和x,但問題也在那裏。

回答

相關問題