我想将tf.keras.TimeDistributed()层与最新TensorFLow V2版本(tf-nightly-gpu-2.0-preview)中的tf.hub inception_v3 CNN模型一起使用。输出如下所示。似乎tf.keras.TimeDistributed()并未完全实现与tf.hub模型一起使用。不知何故,无法计算输入层的形状。我的问题:是否有解决此问题的方法?
与常规tf.keras.layer一起使用tf.keras.TimeDistributed可以正常工作。我只想将CNN模型应用于每个时间步骤。
const queryObj = {
"user": {
"first_name": "Srini",
"last_name": "Raman",
"gender": "male",
"dob": "1992-08-02",
"address_attributes": {
"city": "San Diego",
"state": "CA",
"zip": 92127,
"country": "USA",
"latitude": 37.257009,
"longitude": -120.050767
}
}
};
// Destructure into address_attributes and rest of the properties
const { address_attributes, ...rest } = queryObj.user;
// Pass rest of the properties for making the initial query parameters
const queryParamsObj = new URLSearchParams(rest);
// Use Object.entries to set the remaining query parameters
Object.entries(address_attributes).forEach(x => {
queryParamsObj.set(x[0], x[1]);
});
// Use the .toString() function to get a stringified representation of it.
console.log(queryParamsObj.toString());
preview / inception_v3 / feature_vector / 3“
import tensorflow as tf
import tensorflow_hub as hub
from tensorflow.keras import layers, Model
model_url = "https://tfhub.dev/google/tf2-
tf.keras模型
文件“ /usr/local/lib/python3.5/dist-packages/tensorflow/python/keras/engine/base_layer.py”,第489行,在compute_output_shape中 引发NotImplementedError NotImplementedError
答案 0 :(得分:0)
TimeDistributed
之类的包装层需要传递layer
实例。如果您是在自定义图层之外构建模型,则至少需要将它们包装在tf.keras.layers.Lambda
中。对于hub.KerasLayer
中的模型,这可能是不可能的,因此您可以考虑此处发布的解决方案:
答案 1 :(得分:0)
在Tensorflow 2中,可以将自定义层与TimeDistributed
层结合使用。抛出错误是因为它无法计算输出形状(请参见here)。
因此,在您的情况下,您应该能够继承KerasLayer
并手动实现compute_output_shape
。