Skip to content

Commit

Permalink
push-all-files
Browse files Browse the repository at this point in the history
  • Loading branch information
kunalpurkayastha committed Mar 19, 2023
0 parents commit 3094c4a
Show file tree
Hide file tree
Showing 2,359 changed files with 340 additions and 0 deletions.
128 changes: 128 additions & 0 deletions Test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
import tkinter as tk
from tkinter import filedialog
from PIL import ImageTk, Image
import os
import cv2
import numpy as np
import matplotlib.pyplot as plt
from skimage import io
from tensorflow.keras.applications.resnet_v2 import preprocess_input
from tensorflow.keras.models import load_model


def load_and_prep_image(filename, img_shape_x=200, img_shape_y=200):
img = cv2.imread(filename)
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
img = cv2.resize(img, (img_shape_x, img_shape_y))
img = preprocess_input(img)
return img


def pred_and_plot(filename, model, class_names, img_shape_x=200, img_shape_y=200):
img = load_and_prep_image(filename, img_shape_x, img_shape_y)
image = io.imread(filename)
gray_image = np.mean(image, axis=2)

fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10, 5))

ax1.imshow(gray_image, cmap='hot')
ax1.set_title('Heat Map')
ax1.set_axis_off()

pred = model.predict(np.expand_dims(img, axis=0))
pred_class = class_names[pred.argmax()]
img = cv2.cvtColor(cv2.imread(filename), cv2.COLOR_BGR2RGB)
ax2.imshow(img)
ax2.set_title(f"Prediction: {pred_class}")
ax2.set_axis_off()

plt.show()



def select_image():
global panel, image_path
image_path = filedialog.askopenfilename()
image = Image.open(image_path)
image = image.resize((300, 300))
image = ImageTk.PhotoImage(image)
if panel is None:
panel = tk.Label(image=image)
panel.image = image
panel.pack(padx=10, pady=10)
else:
panel.configure(image=image)
panel.image = image


def select_class_dir():
class_dir = filedialog.askdirectory()
class_dir_entry.delete(0, tk.END)
class_dir_entry.insert(0, class_dir)


def select_model_file():
model_file = filedialog.askopenfilename()
model_file_entry.delete(0, tk.END)
model_file_entry.insert(0, model_file)


def predict():
global image_path, model, classes, img_shape_x, img_shape_y
if image_path is None:
return
class_dir = class_dir_entry.get()
model_file = model_file_entry.get()
img_shape_x = int(img_shape_x_entry.get())
img_shape_y = int(img_shape_y_entry.get())
classes = []
for file in os.listdir(class_dir):
d = os.path.join(class_dir, file)
if os.path.isdir(d):
classes.append(file)
model = load_model(model_file)
pred_and_plot(image_path, model, classes, img_shape_x, img_shape_y)

root = tk.Tk()
root.title("Image Predictor")
root.resizable(False, False)

panel = None

image_path = None
model = None
classes = []
img_shape_x = 200
img_shape_y = 200

class_dir_label = tk.Label(root, text="Class Directory:")
class_dir_label.grid(row=0, column=0, padx=10, pady=10)
class_dir_entry = tk.Entry(root)
class_dir_entry.grid(row=0, column=1, padx=10, pady=10)
class_dir_button = tk.Button(root, text="Browse", command=select_class_dir)
class_dir_button.grid(row=0, column=2, padx=10, pady=10)

model_file_label = tk.Label(root, text="Model File Path:")
model_file_label.grid(row=1, column=0, padx=10, pady=10)
model_file_entry = tk.Entry(root)
model_file_entry.grid(row=1, column=1, padx=10, pady=10)
model_file_button = tk.Button(root, text="Browse", command=select_model_file)
model_file_button.grid(row=1, column=2, padx=10, pady=10)

img_shape_x_label = tk.Label(root, text="Image Shape X:")
img_shape_x_label.grid(row=2, column=0, padx=10, pady=10)
img_shape_x_entry = tk.Entry(root)
img_shape_x_entry.grid(row=2, column=1, padx=10, pady=10)

img_shape_y_label = tk.Label(root, text="Image Shape Y:")
img_shape_y_label.grid(row=3, column=0, padx=10, pady=10)
img_shape_y_entry = tk.Entry(root)
img_shape_y_entry.grid(row=3, column=1, padx=10, pady=10)

select_button = tk.Button(root, text="Select Image", command=select_image)
select_button.grid(row=4, column=0, padx=10, pady=10)

predict_button = tk.Button(root, text="Predict", command=predict)
predict_button.grid(row=4, column=1, padx=10, pady=10)

root.mainloop()
212 changes: 212 additions & 0 deletions Train.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,212 @@
import tkinter as tk
from tkinter import filedialog
from tkinter import messagebox
import matplotlib.pyplot as plt
plt.style.use('default')
import os
import tensorflow as tf
from tensorflow.keras.preprocessing.image import ImageDataGenerator
from tensorflow.keras.callbacks import EarlyStopping, ModelCheckpoint
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import *

root = tk.Tk()
root.title("Skin Cancer Classification")
root.resizable(False, False)

train_dir_var = tk.StringVar()
val_dir_var = tk.StringVar()
img_shape_x_var = tk.IntVar()
img_shape_y_var = tk.IntVar()
batch_size_var = tk.IntVar()
save_model_path_var = tk.StringVar()
save_model_name_var = tk.StringVar()
num_epoch_var = tk.IntVar()

def browse_folder(var):
folder_selected = filedialog.askdirectory()
var.set(folder_selected)

train_dir_label = tk.Label(root, text="Training Directory: ")
train_dir_label.grid(row=0, column=0, padx=5, pady=5, sticky="w")

train_dir_entry = tk.Entry(root, textvariable=train_dir_var)
train_dir_entry.grid(row=0, column=1, padx=5, pady=5)

train_dir_button = tk.Button(root, text="Browse", command=lambda: browse_folder(train_dir_var))
train_dir_button.grid(row=0, column=2, padx=5, pady=5)

val_dir_label = tk.Label(root, text="Validation Directory: ")
val_dir_label.grid(row=1, column=0, padx=5, pady=5, sticky="w")

val_dir_entry = tk.Entry(root, textvariable=val_dir_var)
val_dir_entry.grid(row=1, column=1, padx=5, pady=5)

val_dir_button = tk.Button(root, text="Browse", command=lambda: browse_folder(val_dir_var))
val_dir_button.grid(row=1, column=2, padx=5, pady=5)

img_shape_x_label = tk.Label(root, text="Image Shape X: ")
img_shape_x_label.grid(row=2, column=0, padx=5, pady=5, sticky="w")

img_shape_x_entry = tk.Entry(root, textvariable=img_shape_x_var)
img_shape_x_entry.grid(row=2, column=1, padx=5, pady=5)

img_shape_y_label = tk.Label(root, text="Image Shape Y: ")
img_shape_y_label.grid(row=3, column=0, padx=5, pady=5, sticky="w")

img_shape_y_entry = tk.Entry(root, textvariable=img_shape_y_var)
img_shape_y_entry.grid(row=3, column=1, padx=5, pady=5)

batch_size_label = tk.Label(root, text="Batch Size: ")
batch_size_label.grid(row=4, column=0, padx=5, pady=5, sticky="w")

batch_size_entry = tk.Entry(root, textvariable=batch_size_var)
batch_size_entry.grid(row=4, column=1, padx=5, pady=5)

save_model_path_label = tk.Label(root, text="Save Model Path: ")
save_model_path_label.grid(row=5, column=0, padx=5, pady=5, sticky="w")

save_model_path_entry = tk.Entry(root, textvariable=save_model_path_var)
save_model_path_entry.grid(row=5, column=1, padx=5, pady=5)

save_model_path_button = tk.Button(root, text="Browse", command=lambda: browse_folder(save_model_path_var))
save_model_path_button.grid(row=5, column=2, padx=5, pady=5)

save_model_name_label = tk.Label(root, text="Save Model Name: ")
save_model_name_label.grid(row=6, column=0, padx=5, pady=5, sticky="w")

save_model_name_entry = tk.Entry(root, textvariable=save_model_name_var)
save_model_name_entry.grid(row=6, column=1, padx=5, pady=5)

num_epoch_label = tk.Label(root, text="Number of Epochs: ")
num_epoch_label.grid(row=7, column=0, padx=5, pady=5, sticky="w")

num_epoch_entry = tk.Entry(root, textvariable=num_epoch_var)
num_epoch_entry.grid(row=7, column=1, padx=5, pady=5)

def Create_ResNet50V2_Model(num_classes, img_shape_x, img_shape_y):
ResNet50V2 = tf.keras.applications.ResNet50V2(input_shape=(img_shape_x, img_shape_y, 3),
include_top= False,
weights='imagenet'
)
ResNet50V2.trainable = True

for layer in ResNet50V2.layers[:-50]:
layer.trainable = False


model = Sequential([
ResNet50V2,
Dropout(.25),
BatchNormalization(),
Flatten(),
Dense(64, activation='relu'),
BatchNormalization(),
Dropout(.5),
Dense(num_classes,activation='softmax')
])
return model

def train_model():
train_data_path = train_dir_var.get()
val_data_path = val_dir_var.get()
img_shape_x = img_shape_x_var.get()
img_shape_y = img_shape_y_var.get()
batch_size = batch_size_var.get()
save_model_path = save_model_path_var.get()
save_model_name = save_model_name_var.get()
num_epoch = num_epoch_var.get()

train_preprocessor = ImageDataGenerator(
rescale = 1 / 255.,
rotation_range=10,
zoom_range=0.2,
width_shift_range=0.1,
height_shift_range=0.1,
horizontal_flip=True,
fill_mode='nearest',
)

val_preprocessor = ImageDataGenerator(
rescale = 1 / 255.,
)

train_data = train_preprocessor.flow_from_directory(
train_data_path,
class_mode="categorical",
target_size=(img_shape_x,img_shape_y),
color_mode='rgb',
shuffle=True,
batch_size=batch_size,
subset='training',
)

val_data = val_preprocessor.flow_from_directory(
val_data_path,
class_mode="categorical",
target_size=(img_shape_x,img_shape_y),
color_mode="rgb",
shuffle=False,
batch_size=batch_size,
)

num_classes = train_data.num_classes

ResNet50V2_Model = Create_ResNet50V2_Model(num_classes, img_shape_x, img_shape_y)
ResNet50V2_Model.summary()

ResNet50V2_Model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])

checkpoint_path = os.path.join(save_model_path, save_model_name)
ModelCheckpoint(checkpoint_path, monitor="val_accuracy", save_best_only=True)

Early_Stopping = EarlyStopping(monitor = 'val_accuracy', patience = 7, restore_best_weights = True, verbose=1)

Reducing_LR = tf.keras.callbacks.ReduceLROnPlateau(monitor='val_loss',
factor=0.2,
patience=2,
verbose=1)

callbacks = [Early_Stopping, Reducing_LR]

steps_per_epoch = train_data.n // train_data.batch_size
validation_steps = val_data.n // val_data.batch_size

ResNet50V2_history = ResNet50V2_Model.fit(train_data ,validation_data = val_data , epochs=num_epoch, batch_size=batch_size,
callbacks = callbacks, steps_per_epoch=steps_per_epoch, validation_steps=validation_steps)
ResNet50V2_Model.save(os.path.join(save_model_path, save_model_name + '.h5'))
def plot_curves(history):

loss = history.history["loss"]
val_loss = history.history["val_loss"]

accuracy = history.history["accuracy"]
val_accuracy = history.history["val_accuracy"]

epochs = range(len(history.history["loss"]))

plt.figure(figsize=(15,5))

plt.subplot(1, 2, 1)
plt.plot(epochs, loss, label = "training_loss")
plt.plot(epochs, val_loss, label = "val_loss")
plt.title("Loss")
plt.xlabel("epochs")
plt.legend()

plt.subplot(1, 2, 2)
plt.plot(epochs, accuracy, label = "training_accuracy")
plt.plot(epochs, val_accuracy, label = "val_accuracy")
plt.title("Accuracy")
plt.xlabel("epochs")
plt.legend()

plt.show()

plot_curves(ResNet50V2_history)
messagebox.showinfo(title="Training Completed", message="The model has been trained successfully!")

train_button = tk.Button(root, text="Train", command=train_model)
train_button.grid(row=8, column=1, padx=5, pady=5)

root.mainloop()
Binary file added dataset/Train/actinic keratosis/ISIC_0025780.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dataset/Train/actinic keratosis/ISIC_0025803.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dataset/Train/actinic keratosis/ISIC_0025825.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dataset/Train/actinic keratosis/ISIC_0025953.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dataset/Train/actinic keratosis/ISIC_0025957.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dataset/Train/actinic keratosis/ISIC_0025992.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dataset/Train/actinic keratosis/ISIC_0026040.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dataset/Train/actinic keratosis/ISIC_0026149.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dataset/Train/actinic keratosis/ISIC_0026171.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dataset/Train/actinic keratosis/ISIC_0026194.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dataset/Train/actinic keratosis/ISIC_0026212.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dataset/Train/actinic keratosis/ISIC_0026457.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dataset/Train/actinic keratosis/ISIC_0026468.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dataset/Train/actinic keratosis/ISIC_0026525.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dataset/Train/actinic keratosis/ISIC_0026575.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dataset/Train/actinic keratosis/ISIC_0026625.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dataset/Train/actinic keratosis/ISIC_0026626.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dataset/Train/actinic keratosis/ISIC_0026650.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dataset/Train/actinic keratosis/ISIC_0026709.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dataset/Train/actinic keratosis/ISIC_0026729.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dataset/Train/actinic keratosis/ISIC_0026765.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dataset/Train/actinic keratosis/ISIC_0026848.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dataset/Train/actinic keratosis/ISIC_0026857.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dataset/Train/actinic keratosis/ISIC_0026905.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dataset/Train/actinic keratosis/ISIC_0026984.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dataset/Train/actinic keratosis/ISIC_0027172.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0027254.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0027334.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0027447.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0027452.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0027536.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0027562.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0027580.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0027615.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0027650.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0027668.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0027802.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0027829.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0027884.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0027896.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0027950.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0027958.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0028063.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0028076.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0028190.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0028314.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0028370.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0028393.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0028517.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0028558.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0028820.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0028854.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0028941.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0028990.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0029025.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0029041.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0029133.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0029141.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0029210.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0029309.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0029460.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0029500.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0029659.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0029713.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0029781.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0029827.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0029830.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0029840.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0029900.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0029915.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0029930.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0030036.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0030133.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0030142.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0030143.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0030242.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0030344.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0030408.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0030463.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0030491.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0030586.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0030655.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0030730.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0030825.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0030826.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0030877.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0031040.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0031108.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0031228.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0031292.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0031335.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0031381.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0031430.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0031506.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0031609.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0031823.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0031922.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0031993.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0032135.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0032199.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0032206.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0032404.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0032422.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0032437.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0032854.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0033151.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0033358.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0033413.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0033456.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0033494.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0033705.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0033811.jpg
Binary file added dataset/Train/actinic keratosis/ISIC_0033866.jpg
Loading

0 comments on commit 3094c4a

Please sign in to comment.