UFuncTypeError dtype u32 - PullRequest
       9

UFuncTypeError dtype u32

1 голос
/ 07 января 2020

Модель идентификации клубеньков

Эта модель берет небольшой объем (фрагмент) из сканирования легких (3D-изображение) в качестве входных данных и классифицирует фрагмент на два класса:

Class 0 : Chunk does not contain a nodule
Class 1 : Chunk contains a nodule

У меня было эта ошибка в этой части: UFuncTypeError: ufun c 'add' не содержит al oop с типами соответствия подписи (dtype ('dtype ('

def get_validation_batch (validation_x_ids, validation_y, batch_number)): num_images = len ( validation_x_ids)

    count = 0
    start_index = batch_number * FLAGS.batch_size
    end_index = start_index + FLAGS.batch_size
    end_index = num_images if end_index > num_images else end_index
    real_batch_size = end_index - start_index

    validation_x = np.ndarray([real_batch_size, FLAGS.chunk_size, FLAGS.chunk_size, FLAGS.chunk_size, 1], dtype=np.float32)

    for chunk_id in validation_x_ids[start_index : end_index]:
        chunk = np.load(DATA_PATH + chunk_id + '_X.npy').astype(np.float32, copy=False)
        validation_x[count, :, :, :, :] = img_to_rgb(chunk)
        count = count + 1

    return validation_x, validation_y[start_index : end_index]

1 Ответ

0 голосов
/ 07 января 2020

Ошибка связана с несоответствием типов данных в конкатенации строк в операторе np.load(...), где chund_id - целое число, полученное из np.ndarray(), а '_X.npy' - строка.

Следовательно, замените строка chunk = np.load(DATA_PATH + chunk_id + '_X.npy').astype(np.float32, copy=False) со следующей строкой:

chunk = np.load(DATA_PATH + str(chunk_id) + '_X.npy').astype(np.float32, copy=False)

приведение типа chunk_id с str() перед добавлением с другими строками.

Ссылки:

...