同步操作将从 编程语言算法集/Python 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
"""Convolutional Neural NetworkObjective : To train a CNN model detect if TB is present in Lung X-ray or not.Resources CNN Theory :https://en.wikipedia.org/wiki/Convolutional_neural_networkResources Tensorflow : https://www.tensorflow.org/tutorials/images/cnnDownload dataset from :https://lhncbc.nlm.nih.gov/LHC-publications/pubs/TuberculosisChestXrayImageDataSets.html1. Download the dataset folder and create two folder training set and test setin the parent dataste folder2. Move 30-40 image from both TB positive and TB Negative folderin the test set folder3. The labels of the iamges will be extracted from the folder namethe image is present in."""# Part 1 - Building the CNNimport numpy as np# Importing the Keras libraries and packagesimport tensorflow as tffrom tensorflow.keras import layers, modelsif __name__ == "__main__":# Initialising the CNNclassifier = models.Sequential()# Step 1 - Convolutionclassifier.add(layers.Conv2D(32, (3, 3), input_shape=(64, 64, 3), activation="relu"))# Step 2 - Poolingclassifier.add(layers.MaxPooling2D(pool_size=(2, 2)))# Adding a second convolutional layerclassifier.add(layers.Conv2D(32, (3, 3), activation="relu"))classifier.add(layers.MaxPooling2D(pool_size=(2, 2)))# Step 3 - Flatteningclassifier.add(layers.Flatten())# Step 4 - Full connectionclassifier.add(layers.Dense(units=128, activation="relu"))classifier.add(layers.Dense(units=1, activation="sigmoid"))# Compiling the CNNclassifier.compile(optimizer="adam", loss="binary_crossentropy", metrics=["accuracy"])# Part 2 - Fitting the CNN to the images# Load Trained model weights# from keras.models import load_model# regressor=load_model('cnn.h5')train_datagen = tf.keras.preprocessing.image.ImageDataGenerator(rescale=1.0 / 255, shear_range=0.2, zoom_range=0.2, horizontal_flip=True)test_datagen = tf.keras.preprocessing.image.ImageDataGenerator(rescale=1.0 / 255)training_set = train_datagen.flow_from_directory("dataset/training_set", target_size=(64, 64), batch_size=32, class_mode="binary")test_set = test_datagen.flow_from_directory("dataset/test_set", target_size=(64, 64), batch_size=32, class_mode="binary")classifier.fit_generator(training_set, steps_per_epoch=5, epochs=30, validation_data=test_set)classifier.save("cnn.h5")# Part 3 - Making new predictionstest_image = tf.keras.preprocessing.image.load_img("dataset/single_prediction/image.png", target_size=(64, 64))test_image = tf.keras.preprocessing.image.img_to_array(test_image)test_image = np.expand_dims(test_image, axis=0)result = classifier.predict(test_image)training_set.class_indicesif result[0][0] == 0:prediction = "Normal"if result[0][0] == 1:prediction = "Abnormality detected"
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。