code in python
|
!mkdir -p ~/.kaggle !cp kaggle.json ~/.kaggle/ !kaggle datasets download -d brsdincer/wildfire-detection-image-data import zipfile zip_ref =
zipfile.ZipFile('/content/wildfire-detection-image-data.zip','r') zip_ref.extractall('/content') zip_ref.close() import tensorflow as tf import numpy as np from tensorflow import keras import os import cv2 from tensorflow.keras.preprocessing.image import ImageDataGenerator from tensorflow.keras.preprocessing import image import matplotlib.pyplot as plt train=ImageDataGenerator(rescale=1/255) test=ImageDataGenerator(rescale=1/255) train_dataset=train.flow_from_directory("/content/forest_fire/Training
and Validation",
target_size=(150,150),
batch_size=32, class_mode='binary') test_dataset=train.flow_from_directory("/content/forest_fire/Testing",
target_size=(150,150),
batch_size=32,
class_mode='binary') test_dataset.class_indices from keras.api._v2.keras import activations from tensorflow import keras model= keras.Sequential() model.add(keras.layers.Conv2D(32,(3,3),activation='relu',input_shape=(150,150,3))) model.add(keras.layers.MaxPool2D(2,2)) model.add(keras.layers.Conv2D(64,(3,3),activation='relu')) model.add(keras.layers.MaxPool2D(2,2)) model.add(keras.layers.Conv2D(128,(3,3),activation='relu')) model.add(keras.layers.MaxPool2D(2,2)) model.add(keras.layers.Conv2D(128,(3,3),activation='relu')) model.add(keras.layers.MaxPool2D(2,2)) model.add(keras.layers.Flatten()) model.add(keras.layers.Dense(512,activation='relu')) model.add(keras.layers.Dense(1,activation='sigmoid')) model.summary() model.compile(optimizer='adam',loss='binary_crossentropy',metrics=['accuracy']) r = model.fit(train_dataset,epochs=3,validation_data= test_dataset) predictions = model.predict(test_dataset) predictions = np.round(predictions) plt.plot(r.history['accuracy'], label='accuracy') plt.plot(r.history['val_accuracy'], label='val_accuracy') plt.plot(r.history['loss'], label='loss') plt.plot(r.history['val_loss'], label='Val_loss') plt.title('model accuracy') plt.ylabel('Accuracy') plt.xlabel('Epochs') plt.legend() plt.plot(r.history['val_accuracy'], label='loss') plt.plot(r.history['val_loss'], label='Val_loss') plt.legend() plt.plot(r.history['val_accuracy'], label='val_accuracy') plt.plot(r.history['accuracy'], label='accuracy') plt.legend() def predictImage(filename): img1 =
image.load_img(filename,target_size=(150,150)) plt.imshow(img1) Y =
image.img_to_array(img1) X =
np.expand_dims(Y,axis=0) val=model.predict(X) print(val) if val == 1: plt.xlabel("No
fire",fontsize=30) elif val == 0:
plt.xlabel("fire",fontsize=30) predictImage('/content/smokeee7.png') |


0 Comments