卷积神经网络标签

时间:2019-05-13 13:53:34

标签: label conv-neural-network

我是深度学习的新手,有一个项目。我想创建一个简单的CNN,用于(皮肤癌的)恶性和良性肿瘤的二分类。我每个班有两个文件夹。 在机器学习分类中,一个经典问题是具有特征的X_table和带有标签的Y数组。在我的CNN项目中,我没有每个图像的特征和标签,而我只有两个文件夹,它们具有单独的类。 那么我该如何提供我的数据进行训练,显示标签呢? 我用Keras编写代码,仅需要这部分的代码。 这是尝试:

# Part 1 - Building the CNN

# Importing the Keras libraries and packages
from keras.models import Sequential
from keras.layers import Convolution2D
from keras.layers import MaxPooling2D
from keras.layers import Flatten
from keras.layers import Dense
from sklearn.model_selection import train_test_split

# Initialising the CNN
classifier = Sequential()

# Step 1 - Convolution
classifier.add(Convolution2D(32, 3, 3, input_shape = (224, 224, 3), activation = 'relu'))

# Step 2 - Pooling
classifier.add(MaxPooling2D(pool_size = (2, 2)))

# Adding a second convolutional layer
classifier.add(Convolution2D(32, 3, 3, activation = 'relu'))
classifier.add(MaxPooling2D(pool_size = (2, 2)))

# Step 3 - Flattening
classifier.add(Flatten())

# Step 4 - Full connection
classifier.add(Dense(output_dim = 128, activation = 'relu'))
classifier.add(Dense(output_dim = 1, activation = 'sigmoid'))

# Compiling the CNN
classifier.compile(optimizer = 'adam', loss = 'binary_crossentropy', metrics = ['accuracy'])

# Part 2 - Fitting the CNN to the images
Χ=('C:\Users\User\Desktop\MEDICAL IMAGING\skin-cancer-malignant-vs-benign')
X_train, X_test, = train_test_split(Χ, test_size=0.2)

classifier.fit_generator(training_set,
                         samples_per_epoch = 8000,
                         nb_epoch = 25,
                         validation_data = test_set,
                         nb_val_samples = 2000)

1 个答案:

答案 0 :(得分:0)

基本上,您可以将每个像素视为每个图像的特征。因此,您获得了224、224、3输入,这意味着图像为224 * 224,深度为R,G,B颜色。由于您的输出为二进制,因此输出为1或0。Google只是其中一个很好的示例,其中一个google IO主题演讲(https://youtu.be/VwVg9jCtqaU?list=PLOU2XLYxmsILVTiOlMJdo7RQS55jYhsMi)。卷积层正在生成一些更高级别的特征。但是,如果您具有一些好的特征生成功能,则可以对图像进行一些预处理。