Skip to content

Instantly share code, notes, and snippets.

@Prashant528
Last active December 21, 2019 16:06
Show Gist options
  • Save Prashant528/14d20c8c1dd11c0cb34af8dc35337db4 to your computer and use it in GitHub Desktop.
Save Prashant528/14d20c8c1dd11c0cb34af8dc35337db4 to your computer and use it in GitHub Desktop.
latest(128|81)model.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "latest(128|81)model.ipynb",
"version": "0.3.2",
"provenance": [],
"collapsed_sections": [],
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"accelerator": "GPU"
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/Prashant528/14d20c8c1dd11c0cb34af8dc35337db4/withbrightness.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "code",
"metadata": {
"id": "61VBzroXlG0I",
"colab_type": "code",
"outputId": "21f698e0-5c1c-4638-b859-2de03455069f",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 129
}
},
"source": [
"from google.colab import drive\n",
"drive.mount('/content/drive')"
],
"execution_count": 1,
"outputs": [
{
"output_type": "stream",
"text": [
"Go to this URL in a browser: https://accounts.google.com/o/oauth2/auth?client_id=947318989803-6bn6qk8qdgf4n4g3pfee6491hc0brc4i.apps.googleusercontent.com&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&scope=email%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdocs.test%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive.photos.readonly%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fpeopleapi.readonly&response_type=code\n",
"\n",
"Enter your authorization code:\n",
"··········\n",
"Mounted at /content/drive\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "4DjwDV7UlC6R",
"colab_type": "code",
"outputId": "65937978-5376-428e-813d-109e39e410a8",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 35
}
},
"source": [
"import tensorflow as tf\n",
"import tensorflow.keras\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"from tensorflow.keras.models import Sequential\n",
"from tensorflow.keras.layers import Convolution2D\n",
"from tensorflow.keras.layers import MaxPooling2D\n",
"from tensorflow.keras.layers import Flatten\n",
"from tensorflow.keras.layers import Dense\n",
"from tensorflow.keras.preprocessing import image\n",
"from tensorflow.keras.preprocessing.image import load_img, ImageDataGenerator\n",
"from tensorflow.keras.utils import plot_model\n",
"from sklearn.metrics import confusion_matrix, classification_report\n",
"import itertools\n",
"device_name = tf.test.gpu_device_name()\n",
"if device_name != '/device:GPU:0':\n",
" raise SystemError('GPU device not found')\n",
"print('Found GPU at: {}'.format(device_name))"
],
"execution_count": 2,
"outputs": [
{
"output_type": "stream",
"text": [
"Found GPU at: /device:GPU:0\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "CVQm2FQMmG7T",
"colab_type": "code",
"colab": {}
},
"source": [
"img_size = 600,450\n",
"train_batch_size = 5\n",
"test_batch_size = 5\n",
"train_step = 228\n",
"test_step = 76"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "IasbuIsKmQgt",
"colab_type": "code",
"colab": {}
},
"source": [
"train_datagen = ImageDataGenerator(\n",
" zoom_range=[0.75, 1.25],\n",
" brightness_range=[0.5, 1.5])\n",
"test_datagen = ImageDataGenerator()\n",
"validation_datagen = ImageDataGenerator()"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "Uut0HujVmQ1M",
"colab_type": "code",
"colab": {}
},
"source": [
"print('--------------LOADING TRAINING SET----------------')\n",
"training_set = train_datagen.flow_from_directory('/content/drive/My Drive/rgb_data/new_train',\n",
" target_size = (img_size),\n",
" batch_size = train_batch_size,\n",
" color_mode='rgb',\n",
" shuffle = True,\n",
" class_mode = 'binary')\n",
"print('------------LOADING TEST SET---------------------')\n",
"test_set = test_datagen.flow_from_directory('/content/drive/My Drive/rgb_data/new_test',\n",
" target_size = (img_size),\n",
" batch_size = test_batch_size,\n",
" color_mode = 'rgb',\n",
" shuffle = True,\n",
" class_mode = 'binary')\n",
"print('------------LOADING CROSS-VALIDATION SET---------------------')\n",
"valid_set = validation_datagen.flow_from_directory('/content/drive/My Drive/rgb_data/new_valid',\n",
" target_size = (img_size),\n",
" batch_size = 1,\n",
" color_mode = 'rgb',\n",
" shuffle = False,\n",
" class_mode = 'binary')\n",
"\n",
"# confirm the iterator works\n",
"batchX, batchy = test_set.next()\n"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "r1viqUxZmZSG",
"colab_type": "code",
"outputId": "3b7ef92d-8534-4a41-c6eb-de92a416e88f",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 900
}
},
"source": [
"model = Sequential()\n",
"model.add(Convolution2D(filters =32,\n",
" kernel_size =(3,3),\n",
" input_shape =(600,450,3),\n",
" activation='relu'))\n",
"model.add(MaxPooling2D(pool_size = (4,4)))\n",
"\n",
"model.add(Convolution2D(32,(3,3),activation='sigmoid'))\n",
"model.add(MaxPooling2D(pool_size = (2,2)))\n",
"\n",
"model.add(Convolution2D(16,(3,3),activation='sigmoid'))\n",
"model.add(MaxPooling2D(pool_size = (2,2)))\n",
"\n",
"model.add(Convolution2D(16,(3,3),activation='sigmoid'))\n",
"model.add(MaxPooling2D(pool_size = (2,2)))\n",
"\n",
"model.add(Convolution2D(16,(3,3),activation='sigmoid'))\n",
"model.add(MaxPooling2D(pool_size = (2,2)))\n",
"\n",
"model.add(Flatten())\n",
"model.add(Dense(units=256, activation = 'sigmoid'))\n",
"model.add(Dense(units=256, activation = 'sigmoid'))\n",
"model.add(Dense(units=256, activation = 'sigmoid'))\n",
"model.add(Dense(units=128, activation = 'sigmoid'))\n",
"\n",
"model.add(Dense(units=1, activation = 'sigmoid'))\n",
"\n",
"\n",
"# sgd = tensorflow.keras.optimizers.SGD(lr=0.000001, decay=1e-6, momentum=0.9, nesterov=True)\n",
"adam = tensorflow.keras.optimizers.Adam(lr=0.0001)\n",
"model.compile(loss = 'binary_crossentropy',\n",
" optimizer = adam,\n",
" metrics =['accuracy'])\n",
"model.summary()\n",
"plot_model(model, to_file='/content/drive/My Drive/ham_data/outfiles/last(128).png', show_shapes=True)\n",
"callbacks = [\n",
" # Interrupt training if `val_loss` stops improving for over 2 epochs\n",
" tensorflow.keras.callbacks.EarlyStopping(patience=5, monitor='loss')]"
],
"execution_count": 6,
"outputs": [
{
"output_type": "stream",
"text": [
"WARNING: Logging before flag parsing goes to stderr.\n",
"W0817 09:06:33.950600 139992922462080 deprecation.py:506] From /usr/local/lib/python3.6/dist-packages/tensorflow/python/ops/init_ops.py:1251: calling VarianceScaling.__init__ (from tensorflow.python.ops.init_ops) with dtype is deprecated and will be removed in a future version.\n",
"Instructions for updating:\n",
"Call initializer instance with the dtype argument instead of passing it to the constructor\n",
"W0817 09:06:34.213067 139992922462080 deprecation.py:323] From /usr/local/lib/python3.6/dist-packages/tensorflow/python/ops/nn_impl.py:180: add_dispatch_support.<locals>.wrapper (from tensorflow.python.ops.array_ops) is deprecated and will be removed in a future version.\n",
"Instructions for updating:\n",
"Use tf.where in 2.0, which has the same broadcast rule as np.where\n"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"Model: \"sequential\"\n",
"_________________________________________________________________\n",
"Layer (type) Output Shape Param # \n",
"=================================================================\n",
"conv2d (Conv2D) (None, 598, 448, 32) 896 \n",
"_________________________________________________________________\n",
"max_pooling2d (MaxPooling2D) (None, 149, 112, 32) 0 \n",
"_________________________________________________________________\n",
"conv2d_1 (Conv2D) (None, 147, 110, 32) 9248 \n",
"_________________________________________________________________\n",
"max_pooling2d_1 (MaxPooling2 (None, 73, 55, 32) 0 \n",
"_________________________________________________________________\n",
"conv2d_2 (Conv2D) (None, 71, 53, 16) 4624 \n",
"_________________________________________________________________\n",
"max_pooling2d_2 (MaxPooling2 (None, 35, 26, 16) 0 \n",
"_________________________________________________________________\n",
"conv2d_3 (Conv2D) (None, 33, 24, 16) 2320 \n",
"_________________________________________________________________\n",
"max_pooling2d_3 (MaxPooling2 (None, 16, 12, 16) 0 \n",
"_________________________________________________________________\n",
"conv2d_4 (Conv2D) (None, 14, 10, 16) 2320 \n",
"_________________________________________________________________\n",
"max_pooling2d_4 (MaxPooling2 (None, 7, 5, 16) 0 \n",
"_________________________________________________________________\n",
"flatten (Flatten) (None, 560) 0 \n",
"_________________________________________________________________\n",
"dense (Dense) (None, 256) 143616 \n",
"_________________________________________________________________\n",
"dense_1 (Dense) (None, 256) 65792 \n",
"_________________________________________________________________\n",
"dense_2 (Dense) (None, 256) 65792 \n",
"_________________________________________________________________\n",
"dense_3 (Dense) (None, 128) 32896 \n",
"_________________________________________________________________\n",
"dense_4 (Dense) (None, 1) 129 \n",
"=================================================================\n",
"Total params: 327,633\n",
"Trainable params: 327,633\n",
"Non-trainable params: 0\n",
"_________________________________________________________________\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "nh82MUbYmZaV",
"colab_type": "code",
"outputId": "4ea7f691-4858-44e7-b4ff-93806c8ecdbf",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
}
},
"source": [
"history=model.fit_generator(\n",
" training_set,\n",
" steps_per_epoch = train_step,\n",
" epochs = 500,\n",
" callbacks = callbacks,\n",
" validation_data = test_set,\n",
" validation_steps = test_step,\n",
" verbose=1)\n",
"\n",
"model.save('/content/drive/My Drive/ham_data/outfiles/last(128).h5')\n",
"\n",
"# Plot training & validation accuracy values\n",
"plt.plot(history.history['acc'])\n",
"plt.plot(history.history['val_acc'])\n",
"plt.title('Model accuracy')\n",
"plt.ylabel('Accuracy')\n",
"plt.xlabel('Epoch')\n",
"plt.legend(['Train', 'Test'], loc='upper left')\n",
"plt.show()\n",
"\n",
"# Plot training & validation loss values\n",
"plt.plot(history.history['loss'])\n",
"plt.plot(history.history['val_loss'])\n",
"plt.title('Model loss')\n",
"plt.ylabel('Loss')\n",
"plt.xlabel('Epoch')\n",
"plt.legend(['Train', 'Test'], loc='upper left')\n",
"plt.show()\n"
],
"execution_count": 7,
"outputs": [
{
"output_type": "stream",
"text": [
"Epoch 1/500\n",
"228/228 [==============================] - 1011s 4s/step - loss: 0.6967 - acc: 0.5092 - val_loss: 0.6880 - val_acc: 0.5553\n",
"Epoch 2/500\n",
"228/228 [==============================] - 120s 525ms/step - loss: 0.6989 - acc: 0.4899 - val_loss: 0.6980 - val_acc: 0.4447\n",
"Epoch 3/500\n",
"228/228 [==============================] - 81s 356ms/step - loss: 0.6943 - acc: 0.5162 - val_loss: 0.6958 - val_acc: 0.4447\n",
"Epoch 4/500\n",
"228/228 [==============================] - 81s 356ms/step - loss: 0.6938 - acc: 0.5088 - val_loss: 0.7173 - val_acc: 0.4447\n",
"Epoch 5/500\n",
"228/228 [==============================] - 81s 354ms/step - loss: 0.6961 - acc: 0.5202 - val_loss: 0.7004 - val_acc: 0.4447\n",
"Epoch 6/500\n",
"228/228 [==============================] - 80s 352ms/step - loss: 0.6956 - acc: 0.5250 - val_loss: 0.6873 - val_acc: 0.5553\n",
"Epoch 7/500\n",
"228/228 [==============================] - 80s 353ms/step - loss: 0.6974 - acc: 0.4912 - val_loss: 0.6958 - val_acc: 0.4447\n",
"Epoch 8/500\n",
"228/228 [==============================] - 80s 351ms/step - loss: 0.6953 - acc: 0.4846 - val_loss: 0.6919 - val_acc: 0.6368\n",
"Epoch 9/500\n",
"228/228 [==============================] - 80s 351ms/step - loss: 0.6935 - acc: 0.5347 - val_loss: 0.6880 - val_acc: 0.5553\n",
"Epoch 10/500\n",
"228/228 [==============================] - 80s 349ms/step - loss: 0.6954 - acc: 0.5013 - val_loss: 0.6869 - val_acc: 0.5553\n",
"Epoch 11/500\n",
"228/228 [==============================] - 78s 344ms/step - loss: 0.6910 - acc: 0.5320 - val_loss: 0.6788 - val_acc: 0.6711\n",
"Epoch 12/500\n",
"228/228 [==============================] - 82s 360ms/step - loss: 0.6849 - acc: 0.5953 - val_loss: 0.6444 - val_acc: 0.6868\n",
"Epoch 13/500\n",
"228/228 [==============================] - 79s 349ms/step - loss: 0.6434 - acc: 0.6479 - val_loss: 0.6052 - val_acc: 0.6974\n",
"Epoch 14/500\n",
"228/228 [==============================] - 79s 344ms/step - loss: 0.6397 - acc: 0.6242 - val_loss: 0.6034 - val_acc: 0.6789\n",
"Epoch 15/500\n",
"228/228 [==============================] - 79s 345ms/step - loss: 0.6122 - acc: 0.6456 - val_loss: 0.5570 - val_acc: 0.7237\n",
"Epoch 16/500\n",
"228/228 [==============================] - 78s 343ms/step - loss: 0.6154 - acc: 0.6471 - val_loss: 0.6133 - val_acc: 0.6658\n",
"Epoch 17/500\n",
"228/228 [==============================] - 78s 341ms/step - loss: 0.6057 - acc: 0.6670 - val_loss: 0.5323 - val_acc: 0.7763\n",
"Epoch 18/500\n",
"228/228 [==============================] - 78s 341ms/step - loss: 0.5787 - acc: 0.7076 - val_loss: 0.5117 - val_acc: 0.7684\n",
"Epoch 19/500\n",
"228/228 [==============================] - 78s 341ms/step - loss: 0.5553 - acc: 0.7333 - val_loss: 0.6272 - val_acc: 0.6632\n",
"Epoch 20/500\n",
"228/228 [==============================] - 77s 339ms/step - loss: 0.5441 - acc: 0.7313 - val_loss: 0.4899 - val_acc: 0.7789\n",
"Epoch 21/500\n",
"228/228 [==============================] - 78s 341ms/step - loss: 0.5397 - acc: 0.7322 - val_loss: 0.4675 - val_acc: 0.7947\n",
"Epoch 22/500\n",
"228/228 [==============================] - 77s 337ms/step - loss: 0.5224 - acc: 0.7384 - val_loss: 0.4704 - val_acc: 0.7868\n",
"Epoch 23/500\n",
"228/228 [==============================] - 80s 351ms/step - loss: 0.5233 - acc: 0.7410 - val_loss: 0.5120 - val_acc: 0.7553\n",
"Epoch 24/500\n",
"228/228 [==============================] - 77s 338ms/step - loss: 0.5104 - acc: 0.7471 - val_loss: 0.4543 - val_acc: 0.8000\n",
"Epoch 25/500\n",
"228/228 [==============================] - 77s 336ms/step - loss: 0.5063 - acc: 0.7559 - val_loss: 0.4713 - val_acc: 0.8079\n",
"Epoch 26/500\n",
"228/228 [==============================] - 77s 338ms/step - loss: 0.5072 - acc: 0.7675 - val_loss: 0.5939 - val_acc: 0.6816\n",
"Epoch 27/500\n",
"228/228 [==============================] - 77s 339ms/step - loss: 0.5061 - acc: 0.7603 - val_loss: 0.4858 - val_acc: 0.7789\n",
"Epoch 28/500\n",
"228/228 [==============================] - 77s 338ms/step - loss: 0.4991 - acc: 0.7621 - val_loss: 0.4405 - val_acc: 0.8132\n",
"Epoch 29/500\n",
"228/228 [==============================] - 77s 337ms/step - loss: 0.4919 - acc: 0.7750 - val_loss: 0.4399 - val_acc: 0.8079\n",
"Epoch 30/500\n",
"228/228 [==============================] - 77s 336ms/step - loss: 0.4737 - acc: 0.7770 - val_loss: 0.4386 - val_acc: 0.8211\n",
"Epoch 31/500\n",
"228/228 [==============================] - 77s 337ms/step - loss: 0.4686 - acc: 0.7814 - val_loss: 0.4230 - val_acc: 0.8158\n",
"Epoch 32/500\n",
"228/228 [==============================] - 77s 337ms/step - loss: 0.5074 - acc: 0.7596 - val_loss: 0.4690 - val_acc: 0.7789\n",
"Epoch 33/500\n",
"228/228 [==============================] - 76s 332ms/step - loss: 0.4710 - acc: 0.7805 - val_loss: 0.4286 - val_acc: 0.8184\n",
"Epoch 34/500\n",
"228/228 [==============================] - 78s 341ms/step - loss: 0.4813 - acc: 0.7761 - val_loss: 0.4235 - val_acc: 0.8184\n",
"Epoch 35/500\n",
"228/228 [==============================] - 76s 334ms/step - loss: 0.4711 - acc: 0.7867 - val_loss: 0.4713 - val_acc: 0.7763\n",
"Epoch 36/500\n",
"228/228 [==============================] - 78s 344ms/step - loss: 0.4661 - acc: 0.7796 - val_loss: 0.4139 - val_acc: 0.8158\n",
"Epoch 37/500\n",
"228/228 [==============================] - 77s 336ms/step - loss: 0.5016 - acc: 0.7647 - val_loss: 0.4427 - val_acc: 0.8211\n",
"Epoch 38/500\n",
"228/228 [==============================] - 76s 336ms/step - loss: 0.4675 - acc: 0.7796 - val_loss: 0.5464 - val_acc: 0.7342\n",
"Epoch 39/500\n",
"228/228 [==============================] - 77s 336ms/step - loss: 0.4757 - acc: 0.7798 - val_loss: 0.4123 - val_acc: 0.8132\n",
"Epoch 40/500\n",
"228/228 [==============================] - 77s 337ms/step - loss: 0.4745 - acc: 0.7831 - val_loss: 0.4206 - val_acc: 0.7974\n",
"Epoch 41/500\n",
"228/228 [==============================] - 77s 337ms/step - loss: 0.4804 - acc: 0.7867 - val_loss: 0.4139 - val_acc: 0.8158\n"
],
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
},
{
"output_type": "display_data",
"data": {
"image/png": "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\nAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "Sioccl7K0HCC",
"colab_type": "code",
"colab": {}
},
"source": [
"\n",
"predictions = np.round(model.predict_generator(valid_set, steps=431))\n",
"print(predictions)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "rSHf7mLn0RMT",
"colab_type": "code",
"colab": {}
},
"source": [
"print(valid_set.classes)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "v3ynm6Hf0S_W",
"colab_type": "code",
"colab": {}
},
"source": [
"\n",
"pred = []\n",
"for i in range(381):\n",
" pred.append(int(predictions[i,0]))"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "bnjoYw3X0U3p",
"colab_type": "code",
"colab": {}
},
"source": [
"predd = np.array(pred)\n",
"print(predd)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "c34RjIrT0Zy6",
"colab_type": "code",
"colab": {}
},
"source": [
"# Declare a function for plotting the confusion matrix\n",
"def plot_confusion_matrix(cm, classes, normalize=False, title='Confusion matrix', cmap=plt.cm.Blues):\n",
" \"\"\"\n",
" This function prints and plots the confusion matrix.\n",
" Normalization can be applied by setting `normalize=True`.\n",
" \"\"\"\n",
" if normalize:\n",
" cm = cm.astype('float') / cm.sum(axis=1)[:, np.newaxis]\n",
" print(\"Normalized confusion matrix\")\n",
" else:\n",
" print('Confusion matrix, without normalization')\n",
"\n",
" print(cm)\n",
"\n",
" plt.imshow(cm, interpolation='nearest', cmap=cmap)\n",
" plt.title(title)\n",
" plt.colorbar()\n",
" tick_marks = np.arange(len(classes))\n",
" plt.xticks(tick_marks, classes, rotation=45)\n",
" plt.yticks(tick_marks, classes)\n",
"\n",
" fmt = '.2f' if normalize else 'd'\n",
" thresh = cm.max() / 2.\n",
" for i, j in itertools.product(range(cm.shape[0]), range(cm.shape[1])):\n",
" plt.text(j, i, format(cm[i, j], fmt),\n",
" horizontalalignment=\"center\",\n",
" color=\"white\" if cm[i, j] > thresh else \"black\")\n",
"\n",
" plt.ylabel('True label')\n",
" plt.xlabel('Predicted label')\n",
" plt.tight_layout()\n",
"\n",
"cm = confusion_matrix(valid_set.classes, predd)\n",
"\n",
"cm_plot_labels = ['mel', 'non']\n",
"\n",
"plot_confusion_matrix(cm, cm_plot_labels)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "zngsENpA0cIa",
"colab_type": "code",
"colab": {}
},
"source": [
"#Confution Matrix and Classification Report\n",
"print('Confusion Matrix')\n",
"print(confusion_matrix(valid_set.classes, predd))\n",
"print('Classification Report')\n",
"target_names = ['melanoma', 'non-melanoma']\n",
"print(classification_report(valid_set.classes, predd, target_names=target_names))"
],
"execution_count": 0,
"outputs": []
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment