0

我使用(python)从我的云存储桶下载我的图像:

storage_client = storage.Client()
bucket = storage_client.get_bucket('mybucket')
blob = bucket.blob('myimage.png')
img = blob.download_as_bytes(raw_download=True)

然后使用 tensorflow,我将图像转换为张量,并返回图像的形状。

image = tf.io.decode_image(img, dtype = tf.dtypes.float32)
image = tf.expand_dims(image, axis=0)

shape = image.shape
return {"1":shape}

当我测试函数时,我收到 {1": "<'unknown'>"},就像我在本地机器上运行代码一样,我将收到张量/图像的实际形状(1、224、224、 3). 我不明白为什么这适用于我的本地机器,但不适用于云功能。

4

1 回答 1

1

来自评论

在此云环境中,默认情况下似乎禁用了急切执行。所以打电话tf.compat.v1.enable_eager_execution()之前解决了问题(转述自waltwhite)

import tensorflow as tf
tf.compat.v1.enable_eager_execution()

image = tf.io.decode_image(img, dtype = tf.dtypes.float32)
image = tf.expand_dims(image, axis=0)

shape = image.shape
return {"1":shape}
于 2021-05-20T13:11:21.227 回答