поэтому меня просят реализовать параметр функции разделения: 80% обучение, 10% проверка и 10% тестирование. И я не понимаю, как это сделать здесь. Пожалуйста помоги. Спасибо.
def plot_example(x_raw, y_raw):
fig, axes = plt.subplots(3, 3)
i = 0
for i in range(3):
for j in range(3):
imgplot = axes[i,j].imshow(x_raw[i*3 + j], cmap = 'bone')
axes[i,j].set_title(y_raw[i*3 + j])
axes[i,j].get_yaxis().set_visible(False)
axes[i,j].get_xaxis().set_visible(False)
fig.set_size_inches(18.5, 10.5, forward=True)
## TODO: Implement the split function parameter: 80% train, 10% validation, and 10% test.
(ds_train, ds_val, ds_test), ds_info = tfds.load("colorectal_histology",
split=[],
as_supervised=True, with_info=True)
df = tfds.as_dataframe(ds_train.shuffle(1000).take(1000), ds_info)
plot_example(df['image'], df['label'])
print(ds_info)
Пожалуйста, объясни
tfds.load
имеет аргумент разделения. Вы можете использовать этот аргумент для загрузки набора данных в желаемом формате. Если вы хотите 80% поезд, 10% вал, 10% тест, вы можете просто сделать
tfds.load(
colorectal_histology,
split=["train[20%:]", "train[0%:10%]", "train[10%:20%"],
as_supervised=True,
with_info=True)
Здесь 1-й аргумент в разделении train[10%:]
вернет 90% набора данных в качестве обучающего, train[0%:10%]
вернет 10% набора данных из обучения в качестве проверки, а train[10%:20%] вернет остальные 10% в качестве тестового набора. Хотя вы можете использовать полный тестовый набор, но если вы хотите разделить тренировку на 80,10,10, это то, что вы можете сделать.
Подробнее здесь