此示例函数返回KERAS张量的字典:
import pandas as pd
import tensorflow as tf
def create_input_tensors(data: pd.DataFrame) -> Dict[str,tf.keras.engine.keras_tensor.KerasTensor]:
"""Turns each dataframe column into a keras tensor and returns them as a dict"""
tensors = {}
for name, column in data.items():
tensors[name] = tf.keras.Input(shape=(1, ), name=name, dtype=float32)
return tensors
我不知道如何正确地键入提示返回值.运行代码片段会产生以下异常:
Exception has occurred: AttributeError
module 'keras.api._v2.keras' has no attribute 'engine'
在谷歌上搜索这一例外并没有帮助.在函数结束时在调试器中运行type(tensors['year'])
以查看返回字典中的元素之一是什么类型(year
是data
中的列之一),结果是<class 'keras.engine.keras_tensor.KerasTensor'>
.
我对这个特定的函数有问题,但通常在try 输入处理任何类型的keras对象的提示函数时也有问题.如果能有一个适用于这些类似问题的答案,我们将不胜感激.