此示例函数返回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'])以查看返回字典中的元素之一是什么类型(yeardata中的列之一),结果是<class 'keras.engine.keras_tensor.KerasTensor'>.

我对这个特定的函数有问题,但通常在try 输入处理任何类型的keras对象的提示函数时也有问题.如果能有一个适用于这些类似问题的答案,我们将不胜感激.

推荐答案

这对我来说就像是一种魔咒:

import typing
from keras.engine.keras_tensor import KerasTensor

def f() -> typing.Dict[str, KerasTensor]:
    return {"a": tf.keras.Input(shape=(1, ),)}

f()

Python相关问答推荐

如何根据参数推断对象的返回类型?

为什么带有dropna=False的groupby会阻止后续的MultiIndex.dropna()工作?

可变参数数量的重载类型(args或kwargs)

用Python解密Java加密文件

Julia CSV for Python中的等效性Pandas index_col参数

形状弃用警告与组合多边形和多边形如何解决

无法在Docker内部运行Python的Matlab SDK模块,但本地没有问题

如何使regex代码只适用于空的目标单元格

处理具有多个独立头的CSV文件

如何杀死一个进程,我的Python可执行文件以sudo启动?

如何防止Pandas将索引标为周期?

在方法中设置属性值时,如何处理语句不可达[Unreacable]";的问题?

递归函数修饰器

有没有办法让Re.Sub报告它所做的每一次替换?

递归链表反转与打印语句挂起

奇怪的Base64 Python解码

如何在微调Whisper模型时更改数据集?

将多行数据循环到嵌套框架中的单行

S最大值除以最小值,然后减1的结果是什么?

更改Python中的数据格式