Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 训练,神经网络,但为什么Model.add不起作用?_Python_Tensorflow - Fatal编程技术网

Python 训练,神经网络,但为什么Model.add不起作用?

Python 训练,神经网络,但为什么Model.add不起作用?,python,tensorflow,Python,Tensorflow,试图为我的模型创建神经网络,但“model.add”不起作用。非常感谢您的帮助。我尝试了不使用model.add,它可以工作,因此它必须与添加到模型有关。如有任何帮助,将不胜感激:) 以下是错误: --------------------------------------------------------------------------- InvalidArgumentError Traceback (most recent call last)

试图为我的模型创建神经网络,但“model.add”不起作用。非常感谢您的帮助。我尝试了不使用model.add,它可以工作,因此它必须与添加到模型有关。如有任何帮助,将不胜感激:)

以下是错误:

---------------------------------------------------------------------------
InvalidArgumentError                      Traceback (most recent call last)
/usr/local/lib/python3.7/dist-packages/tensorflow/python/framework/ops.py in _create_c_op(graph, node_def, inputs, control_inputs, op_def)
   1852   try:
-> 1853     c_op = pywrap_tf_session.TF_FinishOperation(op_desc)
   1854   except errors.InvalidArgumentError as e:

InvalidArgumentError: Negative dimension size caused by subtracting 64 from 1 for '{{node conv2d_5/Conv2D}} = Conv2D[T=DT_FLOAT, data_format="NHWC", dilations=[1, 1, 1, 1], explicit_paddings=[], padding="VALID", strides=[1, 1, 1, 1], use_cudnn_on_gpu=true](Placeholder, conv2d_5/Conv2D/ReadVariableOp)' with input shapes: [?,1,120,20], [64,1,20,20].

During handling of the above exception, another exception occurred:

ValueError                                Traceback (most recent call last)
17 frames
<ipython-input-19-398c7d9e7631> in <module>()
      3 
      4 #l2
----> 5 model.add(Conv2D(20, (64, 1), activation="relu", input_shape=(64, 120, 1)))
      6 # # print(L2.shape) #0th index: # of batches, 1st index: height of output, 2nd index: width of output, 3rd index: depth -> # of filters
      7 # #l3

/usr/local/lib/python3.7/dist-packages/tensorflow/python/training/tracking/base.py in _method_wrapper(self, *args, **kwargs)
    515     self._self_setattr_tracking = False  # pylint: disable=protected-access
    516     try:
--> 517       result = method(self, *args, **kwargs)
    518     finally:
    519       self._self_setattr_tracking = previous_value  # pylint: disable=protected-access

/usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/engine/sequential.py in add(self, layer)
    221       # If the model is being built continuously on top of an input layer:
    222       # refresh its output.
--> 223       output_tensor = layer(self.outputs[0])
    224       if len(nest.flatten(output_tensor)) != 1:
    225         raise ValueError(SINGLE_LAYER_OUTPUT_ERROR_MSG)

/usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/engine/base_layer.py in __call__(self, *args, **kwargs)
    950     if _in_functional_construction_mode(self, inputs, args, kwargs, input_list):
    951       return self._functional_construction_call(inputs, args, kwargs,
--> 952                                                 input_list)
    953 
    954     # Maintains info about the `Layer.call` stack.

/usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/engine/base_layer.py in _functional_construction_call(self, inputs, args, kwargs, input_list)
   1089         # Check input assumptions set after layer building, e.g. input shape.
   1090         outputs = self._keras_tensor_symbolic_call(
-> 1091             inputs, input_masks, args, kwargs)
   1092 
   1093         if outputs is None:

/usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/engine/base_layer.py in _keras_tensor_symbolic_call(self, inputs, input_masks, args, kwargs)
    820       return nest.map_structure(keras_tensor.KerasTensor, output_signature)
    821     else:
--> 822       return self._infer_output_signature(inputs, args, kwargs, input_masks)
    823 
    824   def _infer_output_signature(self, inputs, args, kwargs, input_masks):

/usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/engine/base_layer.py in _infer_output_signature(self, inputs, args, kwargs, input_masks)
    861           # TODO(kaftan): do we maybe_build here, or have we already done it?
    862           self._maybe_build(inputs)
--> 863           outputs = call_fn(inputs, *args, **kwargs)
    864 
    865         self._handle_activity_regularization(inputs, outputs)

/usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/layers/convolutional.py in call(self, inputs)
    246       inputs = array_ops.pad(inputs, self._compute_causal_padding(inputs))
    247 
--> 248     outputs = self._convolution_op(inputs, self.kernel)
    249 
    250     if self.use_bias:

/usr/local/lib/python3.7/dist-packages/tensorflow/python/util/dispatch.py in wrapper(*args, **kwargs)
    199     """Call target, and fall back on dispatchers if there is a TypeError."""
    200     try:
--> 201       return target(*args, **kwargs)
    202     except (TypeError, ValueError):
    203       # Note: convert_to_eager_tensor currently raises a ValueError, not a

/usr/local/lib/python3.7/dist-packages/tensorflow/python/ops/nn_ops.py in convolution_v2(input, filters, strides, padding, data_format, dilations, name)
   1018       data_format=data_format,
   1019       dilations=dilations,
-> 1020       name=name)
   1021 
   1022 

/usr/local/lib/python3.7/dist-packages/tensorflow/python/ops/nn_ops.py in convolution_internal(input, filters, strides, padding, data_format, dilations, name, call_from_convolution, num_spatial_dims)
   1148           data_format=data_format,
   1149           dilations=dilations,
-> 1150           name=name)
   1151     else:
   1152       if channel_index == 1:

/usr/local/lib/python3.7/dist-packages/tensorflow/python/ops/nn_ops.py in _conv2d_expanded_batch(input, filters, strides, padding, data_format, dilations, name)
   2602         data_format=data_format,
   2603         dilations=dilations,
-> 2604         name=name)
   2605   return squeeze_batch_dims(
   2606       input,

/usr/local/lib/python3.7/dist-packages/tensorflow/python/ops/gen_nn_ops.py in conv2d(input, filter, strides, padding, use_cudnn_on_gpu, explicit_paddings, data_format, dilations, name)
    971                   padding=padding, use_cudnn_on_gpu=use_cudnn_on_gpu,
    972                   explicit_paddings=explicit_paddings,
--> 973                   data_format=data_format, dilations=dilations, name=name)
    974   _result = _outputs[:]
    975   if _execute.must_record_gradient():

/usr/local/lib/python3.7/dist-packages/tensorflow/python/framework/op_def_library.py in _apply_op_helper(op_type_name, name, **keywords)
    748       op = g._create_op_internal(op_type_name, inputs, dtypes=None,
    749                                  name=scope, input_types=input_types,
--> 750                                  attrs=attr_protos, op_def=op_def)
    751 
    752     # `outputs` is returned as a separate return value so that the output

/usr/local/lib/python3.7/dist-packages/tensorflow/python/framework/func_graph.py in _create_op_internal(self, op_type, inputs, dtypes, input_types, name, attrs, op_def, compute_device)
    590     return super(FuncGraph, self)._create_op_internal(  # pylint: disable=protected-access
    591         op_type, captured_inputs, dtypes, input_types, name, attrs, op_def,
--> 592         compute_device)
    593 
    594   def capture(self, tensor, name=None, shape=None):

/usr/local/lib/python3.7/dist-packages/tensorflow/python/framework/ops.py in _create_op_internal(self, op_type, inputs, dtypes, input_types, name, attrs, op_def, compute_device)
   3534           input_types=input_types,
   3535           original_op=self._default_original_op,
-> 3536           op_def=op_def)
   3537       self._create_op_helper(ret, compute_device=compute_device)
   3538     return ret

/usr/local/lib/python3.7/dist-packages/tensorflow/python/framework/ops.py in __init__(self, node_def, g, inputs, output_types, control_inputs, input_types, original_op, op_def)
   2014         op_def = self._graph._get_op_def(node_def.op)
   2015       self._c_op = _create_c_op(self._graph, node_def, inputs,
-> 2016                                 control_input_ops, op_def)
   2017       name = compat.as_str(node_def.name)
   2018     # pylint: enable=protected-access

/usr/local/lib/python3.7/dist-packages/tensorflow/python/framework/ops.py in _create_c_op(graph, node_def, inputs, control_inputs, op_def)
   1854   except errors.InvalidArgumentError as e:
   1855     # Convert to ValueError for backwards compatibility.
-> 1856     raise ValueError(str(e))
   1857 
   1858   return c_op

ValueError: Negative dimension size caused by subtracting 64 from 1 for '{{node conv2d_5/Conv2D}} = Conv2D[T=DT_FLOAT, data_format="NHWC", dilations=[1, 1, 1, 1], explicit_paddings=[], padding="VALID", strides=[1, 1, 1, 1], use_cudnn_on_gpu=true](Placeholder, conv2d_5/Conv2D/ReadVariableOp)' with input shapes: [?,1,120,20], [64,1,20,20].
---------------------------------------------------------------------------
InvalidArgumentError回溯(最后一次最近调用)
/usr/local/lib/python3.7/dist-packages/tensorflow/python/framework/ops.py in_create_c_op(图形、节点定义、输入、控制输入、操作定义)
1852尝试:
->1853 c_op=pywrap_tf_session.tf_FinishOperation(op_desc)
1854错误除外。InvalidArgumentError为e:
InvalidArgumentError:InvalidArgumentError:{node conv2d_5/conv2d}}=conv2d[T=DT_FLOAT,data_format=“NHWC”,dillations=[1,1,1],explicit_paddings=[],padding=“VALID”,strips=[1,1,1],使用[u gpu=true](占位符,conv2d_5/conv2d/ReadVariableOp)],输入形状:[?、1120,20]、[64,1,20,20]。
在处理上述异常期间,发生了另一个异常:
ValueError回溯(最近一次调用上次)
17帧
在()
3.
4#l2
---->5 model.add(Conv2D(20,(64,1),activation=“relu”,input_shape=(64,120,1)))
6##打印(L2.shape)#第0个索引:批次,第一个索引:输出高度,第二个索引:输出宽度,第三个索引:过滤器深度->
7##l3
/usr/local/lib/python3.7/dist-packages/tensorflow/python/training/tracking/base.py in_method_wrapper(self,*args,**kwargs)
515 self._self_setattr_tracking=False#pylint:disable=protected access
516试试:
-->517结果=方法(自身、*args、**kwargs)
518最后:
519 self._self_setattr_tracking=上一个值#pylint:disable=受保护访问
/添加中的usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/engine/sequential.py(self,layer)
221#如果模型持续构建在输入层之上:
222#刷新其输出。
-->223输出张量=层(自输出[0])
224如果len(嵌套展平(输出张量))!=1:
225提升值错误(单层输出错误消息)
/usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/engine/base\u layer.py in uuuuu调用(self,*args,**kwargs)
950如果处于功能构建模式(自身、输入、参数、kwargs、输入列表):
951返回自功能构造调用(输入、参数、kwargs、,
-->952输入(U列表)
953
954#维护有关“Layer.call”堆栈的信息。
/usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/engine/base\u layer.py in\u functional\u construction\u call(self、input、args、kwargs、input\u list)
1089#检查层构建后设置的输入假设,例如输入形状。
1090输出=self.\u keras\u tensor\u符号\u调用(
->1091输入、输入(U掩码、参数、kwargs)
1092
1093如果输出为无:
/usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/engine/base\u layer.py in\u keras\u tensor\u symbolic\u调用(self、input、input\u掩码、args、kwargs)
820返回nest.map_结构(keras_tensor.KerasTensor,输出_签名)
821其他:
-->822返回自-推断-输出-签名(输入、参数、kwargs、输入-掩码)
823
824定义-推断-输出-签名(自身、输入、参数、kwargs、输入-掩码):
/usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/engine/base\u layer.py in\u expert\u output\u签名(self、input、args、kwargs、input\u掩码)
861#托多(卡夫坦):我们可能在这里建造,还是已经建造了?
862自组装(输入)
-->863输出=呼叫(输入,*args,**kwargs)
864
865自我处理活动规则化(输入、输出)
/调用中的usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/layers/convolutional.py(self,输入)
246个输入=数组操作填充(输入、自计算、因果填充(输入))
247
-->248输出=自卷积运算(输入,自内核)
249
250如果自我使用偏差:
/包装器中的usr/local/lib/python3.7/dist-packages/tensorflow/python/util/dispatch.py(*args,**kwargs)
199“调用目标,如果出现类型错误,则返回调度程序。”
200次尝试:
-->201返回目标(*args,**kwargs)
202除外(类型错误、值错误):
203#注意:将_转换为_急切_张量当前会引发一个值错误,而不是
/卷积2中的usr/local/lib/python3.7/dist-packages/tensorflow/python/ops/nn_ops.py(输入、过滤器、跨步、填充、数据格式、膨胀、名称)
1018数据_格式=数据_格式,
1019膨胀=膨胀,
->1020名称=名称)
1021
1022
/卷积内部的usr/local/lib/python3.7/dist-packages/tensorflow/python/ops/nn_ops.py(输入、过滤器、跨步、填充、数据格式、膨胀、名称、从卷积调用、数字空间dims)
1148数据_格式=数据_格式,
1149膨胀=膨胀,
->1150名称=名称)
1151其他:
1152如果通道索引=1:
/usr/local/lib/python3.7/dist-packages/tensorflow/python/ops/nn_ops.py in_conv2d_expanded_batch(输入、过滤器、跨步、填充、数据格式、扩展、名称)
2602数据格式=数据格式,
2603膨胀=膨胀,
->2604名称=名称)
2605返回挤压批次dims(
2606输入,
/conv2d中的usr/local/lib/python3.7/dist-packages/tensorflow/python/ops/gen_nn_ops.py
971 padding=padding,在gpu上使用\u cudnn\u=在gpu上使用\u cudnn\u,
972显式填充=显式填充,
-->973数据格式=数据格式
---------------------------------------------------------------------------
InvalidArgumentError                      Traceback (most recent call last)
/usr/local/lib/python3.7/dist-packages/tensorflow/python/framework/ops.py in _create_c_op(graph, node_def, inputs, control_inputs, op_def)
   1852   try:
-> 1853     c_op = pywrap_tf_session.TF_FinishOperation(op_desc)
   1854   except errors.InvalidArgumentError as e:

InvalidArgumentError: Negative dimension size caused by subtracting 64 from 1 for '{{node conv2d_5/Conv2D}} = Conv2D[T=DT_FLOAT, data_format="NHWC", dilations=[1, 1, 1, 1], explicit_paddings=[], padding="VALID", strides=[1, 1, 1, 1], use_cudnn_on_gpu=true](Placeholder, conv2d_5/Conv2D/ReadVariableOp)' with input shapes: [?,1,120,20], [64,1,20,20].

During handling of the above exception, another exception occurred:

ValueError                                Traceback (most recent call last)
17 frames
<ipython-input-19-398c7d9e7631> in <module>()
      3 
      4 #l2
----> 5 model.add(Conv2D(20, (64, 1), activation="relu", input_shape=(64, 120, 1)))
      6 # # print(L2.shape) #0th index: # of batches, 1st index: height of output, 2nd index: width of output, 3rd index: depth -> # of filters
      7 # #l3

/usr/local/lib/python3.7/dist-packages/tensorflow/python/training/tracking/base.py in _method_wrapper(self, *args, **kwargs)
    515     self._self_setattr_tracking = False  # pylint: disable=protected-access
    516     try:
--> 517       result = method(self, *args, **kwargs)
    518     finally:
    519       self._self_setattr_tracking = previous_value  # pylint: disable=protected-access

/usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/engine/sequential.py in add(self, layer)
    221       # If the model is being built continuously on top of an input layer:
    222       # refresh its output.
--> 223       output_tensor = layer(self.outputs[0])
    224       if len(nest.flatten(output_tensor)) != 1:
    225         raise ValueError(SINGLE_LAYER_OUTPUT_ERROR_MSG)

/usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/engine/base_layer.py in __call__(self, *args, **kwargs)
    950     if _in_functional_construction_mode(self, inputs, args, kwargs, input_list):
    951       return self._functional_construction_call(inputs, args, kwargs,
--> 952                                                 input_list)
    953 
    954     # Maintains info about the `Layer.call` stack.

/usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/engine/base_layer.py in _functional_construction_call(self, inputs, args, kwargs, input_list)
   1089         # Check input assumptions set after layer building, e.g. input shape.
   1090         outputs = self._keras_tensor_symbolic_call(
-> 1091             inputs, input_masks, args, kwargs)
   1092 
   1093         if outputs is None:

/usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/engine/base_layer.py in _keras_tensor_symbolic_call(self, inputs, input_masks, args, kwargs)
    820       return nest.map_structure(keras_tensor.KerasTensor, output_signature)
    821     else:
--> 822       return self._infer_output_signature(inputs, args, kwargs, input_masks)
    823 
    824   def _infer_output_signature(self, inputs, args, kwargs, input_masks):

/usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/engine/base_layer.py in _infer_output_signature(self, inputs, args, kwargs, input_masks)
    861           # TODO(kaftan): do we maybe_build here, or have we already done it?
    862           self._maybe_build(inputs)
--> 863           outputs = call_fn(inputs, *args, **kwargs)
    864 
    865         self._handle_activity_regularization(inputs, outputs)

/usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/layers/convolutional.py in call(self, inputs)
    246       inputs = array_ops.pad(inputs, self._compute_causal_padding(inputs))
    247 
--> 248     outputs = self._convolution_op(inputs, self.kernel)
    249 
    250     if self.use_bias:

/usr/local/lib/python3.7/dist-packages/tensorflow/python/util/dispatch.py in wrapper(*args, **kwargs)
    199     """Call target, and fall back on dispatchers if there is a TypeError."""
    200     try:
--> 201       return target(*args, **kwargs)
    202     except (TypeError, ValueError):
    203       # Note: convert_to_eager_tensor currently raises a ValueError, not a

/usr/local/lib/python3.7/dist-packages/tensorflow/python/ops/nn_ops.py in convolution_v2(input, filters, strides, padding, data_format, dilations, name)
   1018       data_format=data_format,
   1019       dilations=dilations,
-> 1020       name=name)
   1021 
   1022 

/usr/local/lib/python3.7/dist-packages/tensorflow/python/ops/nn_ops.py in convolution_internal(input, filters, strides, padding, data_format, dilations, name, call_from_convolution, num_spatial_dims)
   1148           data_format=data_format,
   1149           dilations=dilations,
-> 1150           name=name)
   1151     else:
   1152       if channel_index == 1:

/usr/local/lib/python3.7/dist-packages/tensorflow/python/ops/nn_ops.py in _conv2d_expanded_batch(input, filters, strides, padding, data_format, dilations, name)
   2602         data_format=data_format,
   2603         dilations=dilations,
-> 2604         name=name)
   2605   return squeeze_batch_dims(
   2606       input,

/usr/local/lib/python3.7/dist-packages/tensorflow/python/ops/gen_nn_ops.py in conv2d(input, filter, strides, padding, use_cudnn_on_gpu, explicit_paddings, data_format, dilations, name)
    971                   padding=padding, use_cudnn_on_gpu=use_cudnn_on_gpu,
    972                   explicit_paddings=explicit_paddings,
--> 973                   data_format=data_format, dilations=dilations, name=name)
    974   _result = _outputs[:]
    975   if _execute.must_record_gradient():

/usr/local/lib/python3.7/dist-packages/tensorflow/python/framework/op_def_library.py in _apply_op_helper(op_type_name, name, **keywords)
    748       op = g._create_op_internal(op_type_name, inputs, dtypes=None,
    749                                  name=scope, input_types=input_types,
--> 750                                  attrs=attr_protos, op_def=op_def)
    751 
    752     # `outputs` is returned as a separate return value so that the output

/usr/local/lib/python3.7/dist-packages/tensorflow/python/framework/func_graph.py in _create_op_internal(self, op_type, inputs, dtypes, input_types, name, attrs, op_def, compute_device)
    590     return super(FuncGraph, self)._create_op_internal(  # pylint: disable=protected-access
    591         op_type, captured_inputs, dtypes, input_types, name, attrs, op_def,
--> 592         compute_device)
    593 
    594   def capture(self, tensor, name=None, shape=None):

/usr/local/lib/python3.7/dist-packages/tensorflow/python/framework/ops.py in _create_op_internal(self, op_type, inputs, dtypes, input_types, name, attrs, op_def, compute_device)
   3534           input_types=input_types,
   3535           original_op=self._default_original_op,
-> 3536           op_def=op_def)
   3537       self._create_op_helper(ret, compute_device=compute_device)
   3538     return ret

/usr/local/lib/python3.7/dist-packages/tensorflow/python/framework/ops.py in __init__(self, node_def, g, inputs, output_types, control_inputs, input_types, original_op, op_def)
   2014         op_def = self._graph._get_op_def(node_def.op)
   2015       self._c_op = _create_c_op(self._graph, node_def, inputs,
-> 2016                                 control_input_ops, op_def)
   2017       name = compat.as_str(node_def.name)
   2018     # pylint: enable=protected-access

/usr/local/lib/python3.7/dist-packages/tensorflow/python/framework/ops.py in _create_c_op(graph, node_def, inputs, control_inputs, op_def)
   1854   except errors.InvalidArgumentError as e:
   1855     # Convert to ValueError for backwards compatibility.
-> 1856     raise ValueError(str(e))
   1857 
   1858   return c_op

ValueError: Negative dimension size caused by subtracting 64 from 1 for '{{node conv2d_5/Conv2D}} = Conv2D[T=DT_FLOAT, data_format="NHWC", dilations=[1, 1, 1, 1], explicit_paddings=[], padding="VALID", strides=[1, 1, 1, 1], use_cudnn_on_gpu=true](Placeholder, conv2d_5/Conv2D/ReadVariableOp)' with input shapes: [?,1,120,20], [64,1,20,20].