我正在使用 TensorFlow 2.0.0 并尝试使用 tf.data.Dataset.from_generator() 创建我自己的数据集
这是我的代码:
def trainDatagen():
for npy in train_list:
x = tf.convert_to_tensor(np.load(npy), dtype=tf.float32)
if npy in gbmlist:
y = to_categorical(0, num_classes=2)
else:
y = to_categorical(1, num_classes=2)
yield x, y
def tfDatasetGen(datagen, output_types, is_training, batch_size):
dataset = tf.data.Dataset.from_generator(generator=datagen, output_types=output_types)
if is_training:
dataset.shuffle(buffer_size=100)
dataset.repeat()
dataset.batch(batch_size=batch_size)
dataset.prefetch(buffer_size=tf.data.experimental.AUTOTUNE)
return dataset
train_set = tfDatasetGen(
datagen = trainDatagen,
output_types = (tf.float32, tf.float32),
is_training = True,
batch_size = 16)
Run Code Online (Sandbox Code Playgroud)
所有这些 npy 文件都是形状为 [4000,2048] 的 np.array 从具有 4000 个切片的大型病理切片中获得。每个瓦片的特征由 ResNet50 计算。
这是我的模型:
def top_k(inputs, …Run Code Online (Sandbox Code Playgroud)