微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将我的输入日期塑造到 keras 模型的问题

如何解决将我的输入日期塑造到 keras 模型的问题

这是模型定义:

from tensorflow.keras import Model
from tensorflow.keras.layers import Bidirectional
import tensorflow as tf
from tensorflow.keras.datasets import imdb
from tensorflow.keras.layers import Input,Embedding,Dense,LSTM
from tensorflow.keras.losses import BinaryCrossentropy
from tensorflow.keras.optimizers import Adam
from tensorflow.keras.preprocessing.sequence import pad_sequences
from keras_self_attention import ScaledDotProductAttention,SeqSelfAttention
from tensorflow.keras import Model
from tensorflow.keras.layers import Bidirectional

# Model configuration
additional_metrics = ['accuracy','mse']
batch_size = 64
loss_function = BinaryCrossentropy()
number_of_epochs = 10
optimizer = Adam()
validation_split = 0.20
verbosity_mode = 1 

# Define the Keras model
in_data = Input(shape=(None,768),batch_size=batch_size,name='input_sentences')  # every input is a list of sentences
lstm = Bidirectional(LSTM(50,return_sequences=True),name='bi-lstm')(in_data)
att = SeqSelfAttention(attention_activation='sigmoid',name='seqselfatt')(lstm)
att_lstm = LSTM(10,return_sequences=False,name='bi-lstm-att')(att)
output = Dense(5,activation='sigmoid',name='output')(att_lstm)  # 5 outputs 5 -> 1

model = Model(inputs=[in_data],outputs=[output])

# Compile the model
model.compile(optimizer=optimizer,loss=loss_function,metrics=additional_metrics)

# Give a summary
model.summary()

型号:“型号” _________________________________________________________________ 层(类型)输出形状参数#
================================================== ============== input_sentences (InputLayer) [(64,None,768)] 0
_________________________________________________________________ bi-lstm(双向)(64,无,100)327600
_________________________________________________________________ seqselfatt (SeqSelfAttention (64,100) 6465
_________________________________________________________________ bi-lstm-att (LSTM) (64,10) 4440
_________________________________________________________________ 输出(密集)(64,5) 55
================================================== ============== 总参数:338,560 可训练参数:338,560 不可训练参数: 0


这是我的数据的形状:x_train 和 x_test 是数组列表

x_train[0].shape,x_test[0].shape,len(x_train)
# ((2,(3,100)

运行 fit 时出现此错误

history = model.fit(x_train,y_train,epochs=number_of_epochs,verbose=verbosity_mode,# validation_data=(x_test,y_test)) 
                    validation_split=validation_split)

纪元 1/10 -------------------------------------------------- ------------------------- ValueError Traceback(最近调用 最后) 在 () 6 详细=详细模式, 7 #validation_data=(x_test,y_test) ----> 8validation_split=validation_split)

9 帧 /usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/engine/training.py 在适合(自我,x,y,batch_size,纪元,详细,回调, 验证拆分、验证数据、随机播放、类权重、 sample_weight、initial_epoch、steps_per_epoch、validation_steps、 validation_batch_size、validation_freq、max_queue_size、workers、 use_multiprocessing) 1098 _r=1): 1099
callbacks.on_train_batch_begin(step) -> 1100 tmp_logs = self.train_function(iterator) 1101 if data_handler.should_sync: 1102
context.async_wait()

/usr/local/lib/python3.7/dist-packages/tensorflow/python/eager/def_function.py 在 调用(self,*args,**kwds) 第826话 第 827 章 --> 828 结果 = self._call(*args,**kwds) 829编译器=“xla”如果self._experimental_compile else“nonXla” 830 new_tracing_count = self.experimental_get_tracing_count()

/usr/local/lib/python3.7/dist-packages/tensorflow/python/eager/def_function.py 在 _call(self,**kwds) 860 # 在这种情况下,我们没有在第一次调用时创建变量。所以我们可以 861 # 运行第一个跟踪,但如果创建了变量,我们应该会失败。 --> 862 结果 = self._stateful_fn(*args,**kwds) 第863话 864 raise ValueError("在非第一次调用函数时创建变量"

/usr/local/lib/python3.7/dist-packages/tensorflow/python/eager/function.py 在 调用(self,**kwargs) 2939 with self._lock:
第2940章 -> 2941filtered_flat_args)= self._maybe_define_function(args,kwargs)2942返回graph_function._call_flat(2943
Filtered_flat_args,capture_inputs=graph_function.captured_inputs) # pylint:禁用=受保护的访问

/usr/local/lib/python3.7/dist-packages/tensorflow/python/eager/function.py 在_maybe_define_function(self,args,kwargs) 3356
self._function_cache.missed 中的 call_context_key):3357
返回 self._define_function_with_shape_relaxation( -> 3358 args、kwargs、flat_args、filtered_flat_args、cache_key_context) 3359 3360 self._function_cache.missed.add(call_context_key)

/usr/local/lib/python3.7/dist-packages/tensorflow/python/eager/function.py 在 _define_function_with_shape_relaxation(self,kwargs,flat_args、filtered_flat_args、cache_key_context) 3278 3279
graph_function = self._create_graph_function( -> 3280 args,override_flat_arg_shapes=relaxed_arg_shapes) 3281
self._function_cache.arg_relaxed[rank_only_cache_key] = graph_function 3282

/usr/local/lib/python3.7/dist-packages/tensorflow/python/eager/function.py 在 _create_graph_function(self,3204 arg_names=arg_names,
3205 override_flat_arg_shapes=override_flat_arg_shapes, -> 3206 capture_by_value=self._capture_by_value),3207 self._function_attributes,3208
function_spec=self.function_spec,

/usr/local/lib/python3.7/dist-packages/tensorflow/python/framework/func_graph.py 在 func_graph_from_py_func(name,python_func,签名,func_graph,autograph_options,add_control_dependencies,arg_names、op_return_value、集合、capture_by_value、 override_flat_arg_shapes) 988 _,original_func = tf_decorator.unwrap(python_func) 989 --> 990 func_outputs = python_func(*func_args,**func_kwargs) 991 992 # 不变式:func_outputs 只包含张量、复合张量、

/usr/local/lib/python3.7/dist-packages/tensorflow/python/eager/def_function.py 在wrapped_fn(*args,**kwds) 632 xla_context.Exit() 633 其他: --> 634 out = weak_wrapped_fn().包裹(*args,**kwds) 635返回 636

/usr/local/lib/python3.7/dist-packages/tensorflow/python/framework/func_graph.py 在包装器中(*args,**kwargs) 第 975 回 第 976 章 --> 977 引发 e.ag_error_Metadata.to_exception(e) 978 其他: 979加薪

错误:在用户代码中:

/usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/engine/training.py:805

train_function * 返回 step_function(self,iterator) /usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/engine/training.py:795 step_function ** 输出 = model.distribute_strategy.run(run_step,args=(data,)) /usr/local/lib/python3.7/dist-packages/tensorflow/python/distribute/distribute_lib.py:1259 跑步 返回 self._extended.call_for_each_replica(fn,args=args,kwargs=kwargs) /usr/local/lib/python3.7/dist-packages/tensorflow/python/distribute/distribute_lib.py:2730 call_for_each_replica 返回 self._call_for_each_replica(fn,kwargs) /usr/local/lib/python3.7/dist-packages/tensorflow/python/distribute/distribute_lib.py:3417 _call_for_each_replica 返回 fn(*args,**kwargs) /usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/engine/training.py:788 运行步骤** 输出 = model.train_step(data) /usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/engine/training.py:754 train_step y_pred = self(x,training=True) /usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/engine/base_layer.py:998 致电 input_spec.assert_input_compatibility(self.input_spec,输入,self.name) /usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/engine/input_spec.py:207 assert_input_compatibility ' 输入张量。收到的输入:' + str(inputs))

ValueError: Layer model_1 expects 1 input(s),but it received 100 input tensors. Inputs received: [<tf.Tensor 'IteratorGetNext:0'

shape=(None,768) dtype=float32>,,

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。