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

tensorflow.keras中不包括NaN的AveragePooling?

如何解决tensorflow.keras中不包括NaN的AveragePooling?

我希望我的模型在包含 extension UIApplication { class func topViewController(controller: UIViewController? = UIApplication.shared.keyWindow?.rootViewController) -> UIViewController? { if let navigationController = controller as? UINavigationController { return topViewController(controller: navigationController.visibleViewController) } if let tabController = controller as? UITabBarController { if let selected = tabController.selectedViewController { return topViewController(controller: selected) } } if let presented = controller?.presentedViewController { return topViewController(controller: presented) } return controller } } 的序列上使用平均池化,并且我希望它返回它所具有的值的平均值,否则为零。有没有简单的方法可以做到这一点?

nan

产量:

import numpy as np
import tensorflow as tf
from tensorflow.keras.layers import Input,AveragePooling1D
from tensorflow.keras.models import Model

inp = Input(shape = (6,1))
p = AveragePooling1D(pool_size=3)(inp)
m = Model(inp,p)
m(tf.expand_dims(tf.convert_to_tensor([1,np.nan,3,-1,-3]),0))

期望的输出

<tf.Tensor: shape=(1,2,1),dtype=float32,numpy=
array([[[nan],[nan]]],dtype=float32)>

我可以将 <tf.Tensor: shape=(1,numpy= array([[[2.],[-2.]]],dtype=float32)> layer 子类化吗?如果是这样,我基本上只需要重写 Pooling1D。我不知道该怎么做,pooling function is compiled,可能是 C/C++

此外,当我尝试在该 pool_function 文件顶部运行导入时,尽管安装了 Keras,但某些导入失败:

pooling.py

我也尝试在 AttributeError: module 'keras.engine' has no attribute 'input_spec' 后接 Reshape,但后者的函数不知道如何解释 Keras 层。

这里有一个解决方法

tf.experimental.numpy.nanmean

不过,我仍然希望得到有关如何将其作为平均池化层之类的工作的建议。

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