gpt4 book ai didi

python - 属性错误 : 'SequenceGenerator' object has no attribute 'shape' Custom Sequence Generator Keras 2. 2.4

转载 作者:行者123 更新时间:2023-12-03 21:04:14 25 4
gpt4 key购买 nike

我正在尝试使用 fit_generator带自定义 train_sequence_generator和定制 test_sequence_generator我收到以下错误。请告知我应该在哪里更改我的代码。

1. 自定义序列类:

import os
import numpy as np
from keras.utils import Sequence
from batchGenerator import BatchGenerator

from settings import batch_size, train_folder, test_folder


class SequenceGenerator(Sequence):
def __init__(self, batches_folder):
self.batch_generator = BatchGenerator(folder_name=batches_folder)
self.names = [f for f in os.listdir(batches_folder) if f.lower().endswith('.jpg')]

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

def __getitem__(self, idx):
print('Getting a bacth{0}'.format(idx))
[X_batch, Y_batch] = self.batch_generator.load_batch_from_disk(idx)

return X_batch, Y_batch


def train_seq_genenrator():
return SequenceGenerator(train_folder)


def test_seq_generator():
return SequenceGenerator(test_folder)

2. CoLab 中的 Fit_generator
from sequenceGenerator import train_seq_genenrator, test_seq_generator

history = new_model.fit_generator(train_seq_genenrator()
, steps_per_epoch=num_train_samples // batch_size
, validation_data=test_seq_generator()
, validation_steps=num_test_samples // batch_size
, epochs=epochs
, shuffle=False)

3. 错误
-----------------
AttributeError Traceback (most recent call last)
<ipython-input-22-ad1d08859faf> in <module>()
4 , validation_steps=num_test_samples // batch_size
5 , epochs=epochs
----> 6 , shuffle=False)

/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/training.py in fit_generator(self, generator, steps_per_epoch, epochs, verbose, callbacks, validation_data, validation_steps, class_weight, max_queue_size, workers, use_multiprocessing, shuffle, initial_epoch)
1424 use_multiprocessing=use_multiprocessing,
1425 shuffle=shuffle,
-> 1426 initial_epoch=initial_epoch)
1427
1428 def evaluate_generator(self,

/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/training_generator.py in model_iteration(model, data, steps_per_epoch, epochs, verbose, callbacks, validation_data, validation_steps, class_weight, max_queue_size, workers, use_multiprocessing, shuffle, initial_epoch, mode, batch_size, **kwargs)
113 batch_size=batch_size,
114 epochs=epochs - initial_epoch,
--> 115 shuffle=shuffle)
116
117 do_validation = validation_data is not None

/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/training_generator.py in convert_to_generator_like(data, batch_size, steps_per_epoch, epochs, shuffle)
375
376 # Create generator from NumPy or EagerTensor Input.
--> 377 num_samples = int(nest.flatten(data)[0].shape[0])
378 if batch_size is None:
379 raise ValueError('You must specify `batch_size`')

AttributeError: 'SequenceGenerator' object has no attribute 'shape'

最佳答案

在新的 anaconda 环境中安装 Keras 和 TensorFlow,然后开始训练过程为我解决了这个问题。

关于python - 属性错误 : 'SequenceGenerator' object has no attribute 'shape' Custom Sequence Generator Keras 2. 2.4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55558168/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com