我正在使用 ImageDataGenerator 来增强我的图像。我需要从生成器中获取 y 标签。
示例:我有 10 张训练图像,其中 7 张是标签 0,3 张是标签 1。我想将训练集大小增加到 100。
total_training_images = 100 total_val_images = 50
model.fit_generator(
train_generator,
steps_per_epoch= total_training_images // batch_size,
epochs=epochs,
validation_data=validation_generator,
validation_steps= total_val_images // batch_size)
Run Code Online (Sandbox Code Playgroud)
据我了解,这会在每个 epoch 的 100 个训练图像上训练模型,根据我的数据生成器以某种方式增强每个图像,然后在 50 个图像上进行验证。
如果我这样做train_generator.classes
,我会得到一个输出 [0,0,0,0,0,0,0,1,1,1]。这对应于我的 7 张标签 0 图像和 3 张标签 1 图像。
对于这 100 张新图像,我如何获得 y 标签?这是否意味着当我将其增加到 100 张图像时,我的新train_generator
标签是相同的,但重复了 10 次?基本上是np.append(train_generator.classes)
10次?
我正在关注本教程,如果有帮助的话:https : //blog.keras.io/building-powerful-image-classification-models-using-very-little-data.html
我是R语言的初学者。
我正在尝试学习如何在R中制作神经网络,并使用它们来预测输出。我在网上找到了一个使用波士顿数据集的示例,并对其进行了修改以测试我的代码。它可以工作(我的MSE为250 :(),但我不明白这部分代码。
n <- names(train_)
f <- as.formula(paste("pred_con ~", paste(n[!n %in% "pred_con"], collapse = " + ")))
nn <- neuralnet(f,data=train_,hidden=c(5,3),linear.output=T)
pr.nn <- compute(nn,test_[,1:5])
Run Code Online (Sandbox Code Playgroud)
有人可以解释这是如何工作的吗?谢谢!