为了账号安全,请及时绑定邮箱和手机立即绑定

绘制模型多标签分类的所有预测

绘制模型多标签分类的所有预测

幕布斯6054654 2022-09-27 15:14:22
我想绘制我正在尝试训练的模型的输入和输出:输入数据形状:processed_data.shape(100, 64, 256, 2)它看起来如何:processed_dataarray([[[[ 1.93965047e+04,  8.49532852e-01],         [ 1.93965047e+04,  8.49463479e-01],输出数据形状:output.shape(100, 6)输出基本上是每个标签的概率output = model.predict(processed_data)outputarray([[0.53827614, 0.64929205, 0.48180097, 0.50065327, 0.43016508,        0.50453395]我想以某种方式为处理数据中的每个实例绘制类的预测概率(因为这是多标签分类问题),但我正在努力这样做。那么我该如何绘制处理后的数据,但不确定如何绘制每个输入实例的概率。我希望能够在每个输出上标记所有6个可能的类。我有点迷茫...有什么建议吗?到目前为止,我只绘制输入:形状=输出。for i in range(it):    fig,axs = plt.subplots(5,2,figsize=(10,10))    if isinstance(data,list):         inp = data[i]        outp = output[i]    else:         inp = data        outp = output    for j in range(5):        r = randint(0,shape)        axs[j,0].imshow(inp[r,...,0]);         axs[j,0].title.set_text('Input {}'.format(r))
查看完整描述

1 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

我现在编辑了我的回答,以便更好地理解这个问题。此代码将绘制图像以及输出。


import matplotlib.image as mpimg

import numpy as np

import matplotlib.pyplot as plt


img_paths = ['../python/imgs/Image001.png',

             '../python/imgs/Image002.png',

             '../python/imgs/Image003.png',

             '../python/imgs/Image004.png',

             '../python/imgs/Image005.png']


input  = np.array([mpimg.imread(path) for path in img_paths])

output = np.random.rand(5, 6)


print(input.shape, output.shape)


fig, axs = plt.subplots(2, 5, figsize=(8, 4), sharey = 'row')


for i, sample in enumerate(range(5)):

    o = output[sample]


    axs[0,i].set_title(f'Sample {sample + 1}')

    axs[0,i].imshow(input[i,:])

    axs[0,i].axis('off')


    axs[1,i].bar(range(6), o)

    axs[1,i].set_xticks(range(6))

    axs[1,i].set_xticklabels([f'{i+1}' for i in range(6)])


plt.show()

输出:


(5, 1510, 2560, 4) (5, 6)

//img1.sycdn.imooc.com//6332a2f70001e1cc06520324.jpg

查看完整回答
反对 回复 2022-09-27
  • 1 回答
  • 0 关注
  • 92 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信