小编Zéz*_*lle的帖子

生成器“类型错误:‘生成器’对象不是迭代器”

由于 RAM 内存的限制,我按照这些说明构建了一个生成器,该生成器绘制小批量并将它们传递到 Keras 的 fit_generator 中。但是即使我继承了序列,Keras 也无法使用多处理准备队列。

这是我的多处理生成器。

class My_Generator(Sequence):
    def __init__(self, image_filenames, labels, batch_size):
        self.image_filenames, self.labels = image_filenames, labels
        self.batch_size = batch_size

    def __len__(self):
        return np.ceil(len(self.image_filenames) / float(self.batch_size))

    def __getitem__(self, idx):
        batch_x = self.image_filenames[idx * self.batch_size:(idx + 1) * self.batch_size]
        batch_y = self.labels[idx * self.batch_size:(idx + 1) * self.batch_size]

    return np.array([
        resize(imread(file_name), (200, 200))
           for file_name in batch_x]), np.array(batch_y)
Run Code Online (Sandbox Code Playgroud)

主要功能:

batch_size = 100
num_epochs = 10
train_fnames = []
mask_training = []
val_fnames = [] 
mask_validation …
Run Code Online (Sandbox Code Playgroud)

python multiprocessing neural-network keras

4
推荐指数
1
解决办法
3822
查看次数

如何在 for 循环中使用 matplotlib 处理多个图形

我想在仅 1 个循环中的两个不同图形中绘制不同的内容(我有一个巨大的矩阵,我不想放置 2 个 for 循环),如下所示:

plt.figure(0)
plt.figure(1)
for i in range(10):
   #plot it only on the figure(0)
   plt.plot(np.arange(10), np.power(np.arange(10), i), label = 'square') 
   #plot it only on the figure(1)
   plt.plot(np.arange(10), np.power(np.arange(10), 1/i), label = '1/square') 
   plt.legend() #if it does for both figures seperately
plt.show()
Run Code Online (Sandbox Code Playgroud)

我怎样才能实现这个目标?多谢。

matplotlib python-3.x

0
推荐指数
1
解决办法
726
查看次数