【发布时间】:2017-12-26 00:50:41
【问题描述】:
我正在尝试使用 Kaggle 肺癌数据集构建肺癌检测系统。主要思想是使用非常深的神经网络,例如使用 Inception 模型。我在考虑使用 Inception 模型,但似乎这不是一件容易的事。
在 ImageNet 上训练的 Inception 和其他网络期望 2D RGB 图像作为输入。
因此我需要相应地调整我的数据。
这是我当前数据的形状
much_data = np.load('../../CT_SCAN_IMAGE_SET/muchdata-50-50-20.npy')
print ('Image 0',much_data[0][0].shape)
print ('Image 1',much_data[1][0].shape)
print ('Image 2',much_data[2][0].shape)
这是输出。
Image 0 (128, 512, 512)
Image 1 (133, 512, 512)
Image 2 (110, 512, 512)
举个例子, 图片 0 (128, 512, 512)
128 是患者的肺切片数,512,512 是每个切片的像素数。所以这是一个 3D 数组。
但我发现了一个代码,它为 MNIST 数据集生成了一个 Inception 模型,它的输入图像形状就像仅用于 60000 个图像的 28*28 像素数据的 (60000, 28, 28)。
谁能建议我如何使用现有数据用于初始模型。 我需要将它们转换为二维数组吗?
或我需要遵循的任何其他方法?
请帮忙
【问题讨论】:
-
您确定使用预训练网络是个好主意吗?在非常不同的图像上进行训练(单独的不同通道听起来很成问题)?
-
嗨,Sasha...我不能从头开始训练 Inception 模型吗?
-
当然可以。但最好有数百万个样本、许多 GPU,如果它是为 RGB 构建的,你还应该修改这个网络,而你的数据不是。
-
我明白……在数据量有限的情况下,这似乎是不可能的。
标签: python tensorflow conv-neural-network