第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

使用 matplotlib 顯示 SVG 圖片(批量)

载入数据迭代器中一批量图片,并以 SVG 格式显示图片:

from pylab import plt, mpl
from IPython import display


class Loader:
    """
    方法
    ========
    L 为该类的实例
    len(L)::返回 batch 的批数
    iter(L)::即为数据迭代器

    Return
    ========
    可迭代对象(numpy 对象)
    """

    def __init__(self, batch_size, X, Y=None, shuffle=True, name=None):
        '''
        X, Y 均为类 numpy, 可以是 HDF5 
        '''
        if name is not None:
            self.name = name
        self.X = X[:]
        if Y is None:
            # print('不存在标签!')
            self.Y = None
        else:
            self.Y = Y[:]
        self.batch_size = batch_size
        self.shuffle = shuffle

    def __iter__(self):
        n = len(self.X)
        idx = np.arange(n)

        if self.shuffle:
            np.random.shuffle(idx)

        for k in range(0, n, self.batch_size):
            K = idx[k:min(k + self.batch_size, n)].tolist()
            if self.Y is None:
                yield np.take(self.X[:], K, 0)
            else:
                yield np.take(self.X[:], K, 0), np.take(self.Y[:], K, 0)

    def __len__(self):
        return round(len(self.X) / self.batch_size)

    def use_svg_display(self):
        # 用矢量图显示。
        display.set_matplotlib_formats('svg')

    def show_imgs(self, label_names, imgs, labels, figsize=(7, 7)):
        '''
        展示 多张图片
        '''
        n = imgs.shape[0]
        h, w = 4, int(n / 4)
        self.use_svg_display()
        _, ax = plt.subplots(h, w, figsize=figsize)  # 设置图的尺寸
        K = np.arange(n).reshape((h, w))
        names = np.asanyarray(
            [label_names[label] for label in labels], dtype='U')
        names = names.reshape((h, w))
        for i in range(h):
            for j in range(w):
                img = imgs[K[i, j]]
                ax[i][j].imshow(img)
                ax[i][j].axes.get_yaxis().set_visible(False)
                ax[i][j].axes.set_xlabel(names[i][j])
                ax[i][j].set_xticks([])
        plt.show()
import tables as tb
h5 = tb.open_file('E:/xdata/X.h5')

data = h5.root.cifar10

batch_size = 32
trainset = Loader(batch_size, data.trainX, data.trainY, shuffle=True, name='train')

for imgs, labels in iter(trainset):
    trainset.show_imgs(data.label_names, imgs, labels)
    break
點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫(xiě)下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消