由于 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) 我想在仅 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)
我怎样才能实现这个目标?多谢。