ValueError: 无法将输入数组从形状 (1,2048) 广播到形状 (98,1024)
我正在尝试使用胸部 X 光片构建用于医疗报告生成的注意力机制。 训练和测试数据分割如下: train, test = train_test_split(data, test_size=0.2, random_state=1, shuffle=True) print(train.shape) - (3056, 4) print(test.shape) - (764, 4) **提取图像的函数:** def image_feature_extraction(image1, image2): image_1 = Image.open(image1).convert('RGB') image_1 = np.asarray(image_1) image_2 = Image.open(image2).convert('RGB') image_2 = np.asarray(image_2) # 将图像的值标准化 image_1 = image_1 / 255 image_2 = image_2 / 255 # 将所有图像缩放为 (224,224) image_1 = cv2.resize(image_1, (224, 224)) image_2 = cv2.resize(image_2, (224, 224)) image_1 = np.expand_dims(image_1, axis=0) image_2 = np.expand_dims(image_2, axis=0) # 现在我们已经读取了每个患者的两张图像。 将其传递给 chexnet 模型以提取特征 image_1_out = final_chexnet_model(image_1) image_2_out = final_chexnet_model(image_2) # 纵向连接 image_1_out = np.concatenate((image_1_out, image_2_out), axis=-1) # 将其重塑为 (图像数量, 长度*宽度, 深度) image_feature = tf.reshape(image_1_out, (image_1_out.shape[0], -1, image_1_out.shape[-1])) # image_feature = feature_extraction_model([image_1, image_2]) 返回 image_feature print(image_2_out) KerasTensor(type_spec=TensorSpec(shape=(None, 1024), dtype=tf.float32, name=None), name='Chexnet_model/avg_pool/Mean:0', description="created by layer 'Chexnet_model'") train_features = np.zeros((3056, 98, 1024)) for row in tqdm(range(train.shape[0])): image_1 = train.iloc[row]["image1"] image_2 = train.iloc[row]["image2"] train_features[row] = (image_feature_extraction(image_1, image_2)) 0%| | 0/3056 [00:00<?, ?it/s] --------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-57-f46333b9a61b> in <module> 2 image_1=train.iloc[row]["image1"] 3 image_2=train.iloc[row]["image2"] - > 4 train_features[row] = (image_feature_extraction(image_1,image_2)) ValueError: could not broadcast input array from shape (1,2048) into shape (98,1024)
内容来源: carpedm20/DCGAN-tensorflow