在Python中将3D numpy数组转换为实例列表(实例dict={quot;实例键1:“值”,…})

在Python中将3D numpy数组转换为实例列表(实例dict={quot;实例键1:“值”,…}),python,numpy,tensorflow,google-cloud-automl,Python,Numpy,Tensorflow,Google Cloud Automl,我正在尝试将一个3D numpy数组(从图像)转换为一个实例列表,以提供给gcloud上托管的ML模型 我的预处理例程如下所示: def read_image(file_path): image = load_img(file_path, target_size=(300, 300)) image = img_to_array(image) image = np.expand_dims(image, axis=0) image /= 255. ima

我正在尝试将一个3D numpy数组(从图像)转换为一个实例列表,以提供给gcloud上托管的ML模型

我的预处理例程如下所示:

def read_image(file_path):
    image = load_img(file_path, target_size=(300, 300)) 
    image = img_to_array(image) 
    image = np.expand_dims(image, axis=0)
    image /= 255. 
    image=np.array(image).tolist()
    return image  
   [0.63529414 0.8039216  0.87058824]
   [0.6392157  0.80784315 0.8745098 ]
   ...
   [0.4627451  0.44705883 0.44313726]
   [0.49019608 0.4745098  0.47058824]
   [0.4745098  0.45882353 0.45490196]]
根据Gcloud,我的实例格式需要如下:

def read_image(file_path):
    image = load_img(file_path, target_size=(300, 300)) 
    image = img_to_array(image) 
    image = np.expand_dims(image, axis=0)
    image /= 255. 
    image=np.array(image).tolist()
    return image  
   [0.63529414 0.8039216  0.87058824]
   [0.6392157  0.80784315 0.8745098 ]
   ...
   [0.4627451  0.44705883 0.44313726]
   [0.49019608 0.4745098  0.47058824]
   [0.4745098  0.45882353 0.45490196]]
instance_dict={“instance_key_1”:“value”,…}

但我的控制台中出现了错误:

错误“:”无法处理元素:0键:实例列表的内容。错误:无效参数:JSON对象:没有命名输入:内容

这可能是一个简单的问题,但我在这里遗漏了什么?这就是我将数组转换为列表的方式吗?当我只打印numpy数组时,它看起来如下所示:

def read_image(file_path):
    image = load_img(file_path, target_size=(300, 300)) 
    image = img_to_array(image) 
    image = np.expand_dims(image, axis=0)
    image /= 255. 
    image=np.array(image).tolist()
    return image  
   [0.63529414 0.8039216  0.87058824]
   [0.6392157  0.80784315 0.8745098 ]
   ...
   [0.4627451  0.44705883 0.44313726]
   [0.49019608 0.4745098  0.47058824]
   [0.4745098  0.45882353 0.45490196]]

例如,dict是dict,您应该传递图像的dict对象。对于每个图像,您应该生成一个唯一的键并制作一个dict。您的函数如下:

def read_image(file_path):
    image = load_img(file_path, target_size=(300, 300)) 
    image = img_to_array(image) 
    image = np.expand_dims(image, axis=0)
    image /= 255. 
    image=np.array(image).tolist()
    return image  
   [0.63529414 0.8039216  0.87058824]
   [0.6392157  0.80784315 0.8745098 ]
   ...
   [0.4627451  0.44705883 0.44313726]
   [0.49019608 0.4745098  0.47058824]
   [0.4745098  0.45882353 0.45490196]]
def read_image(所有文件路径):
实例_dict={}
对于计数器,枚举中的文件路径(所有文件路径):
image=load\u img(文件路径,目标大小=(300300))
image=img_到_数组(image)
图像=np。展开尺寸(图像,轴=0)
图像/=255。
image=np.array(image.tolist())
实例dict['instance'+str(计数器)]=图像
返回实例

在某种程度上是有效的-我一直收到错误,
“[Errno 21]是一个目录:'/'
我正在向它提供的路径在我的计算机上的一个目录中:
path=“/Users/iamredy831/Desktop/ArchitecturalStyle\u ML/FinalTests/testimage1.jpg”
签出所有文件路径列表。存在无效的图像路径。