{ "cells": [ { "cell_type": "code", "execution_count": 29, "id": "58b61d4d", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1/1 [==============================] - 0s 153ms/step\n", "1/1 [==============================] - 0s 156ms/step\n", "1/1 [==============================] - 0s 224ms/step\n", "1/1 [==============================] - 0s 157ms/step\n", "1/1 [==============================] - 0s 191ms/step\n", "1/1 [==============================] - 0s 201ms/step\n", "1/1 [==============================] - 0s 187ms/step\n", "1/1 [==============================] - 0s 212ms/step\n", "1/1 [==============================] - 0s 168ms/step\n", "1/1 [==============================] - 0s 183ms/step\n", "1/1 [==============================] - 0s 185ms/step\n", "1/1 [==============================] - 0s 164ms/step\n", "1/1 [==============================] - 0s 149ms/step\n", "1/1 [==============================] - 0s 216ms/step\n", "1/1 [==============================] - 0s 181ms/step\n", "1/1 [==============================] - 0s 185ms/step\n", "1/1 [==============================] - 0s 190ms/step\n", "1/1 [==============================] - 0s 186ms/step\n", "1/1 [==============================] - 0s 189ms/step\n", "1/1 [==============================] - 0s 169ms/step\n", "1/1 [==============================] - 0s 153ms/step\n", "1/1 [==============================] - 0s 189ms/step\n", "1/1 [==============================] - 0s 192ms/step\n", "1/1 [==============================] - 0s 151ms/step\n", "1/1 [==============================] - 0s 169ms/step\n", "1/1 [==============================] - 0s 170ms/step\n", "1/1 [==============================] - 0s 171ms/step\n", "1/1 [==============================] - 0s 158ms/step\n", "1/1 [==============================] - 0s 191ms/step\n", "1/1 [==============================] - 0s 156ms/step\n", "1/1 [==============================] - 0s 330ms/step\n", "1/1 [==============================] - 0s 176ms/step\n", "1/1 [==============================] - 0s 157ms/step\n", "1/1 [==============================] - 0s 154ms/step\n", "1/1 [==============================] - 0s 151ms/step\n", "1/1 [==============================] - 0s 154ms/step\n", "1/1 [==============================] - 0s 150ms/step\n", "1/1 [==============================] - 0s 199ms/step\n", "1/1 [==============================] - 0s 199ms/step\n", "1/1 [==============================] - 0s 171ms/step\n", "1/1 [==============================] - 0s 206ms/step\n", "1/1 [==============================] - 0s 154ms/step\n", "1/1 [==============================] - 0s 184ms/step\n", "1/1 [==============================] - 0s 225ms/step\n", "1/1 [==============================] - 0s 174ms/step\n", "1/1 [==============================] - 0s 161ms/step\n", "1/1 [==============================] - 0s 166ms/step\n", "1/1 [==============================] - 0s 174ms/step\n", "1/1 [==============================] - 0s 187ms/step\n", "1/1 [==============================] - 0s 202ms/step\n", "1/1 [==============================] - 0s 195ms/step\n", "1/1 [==============================] - 0s 229ms/step\n", "1/1 [==============================] - 0s 155ms/step\n", "1/1 [==============================] - 0s 155ms/step\n", "1/1 [==============================] - 0s 179ms/step\n", "1/1 [==============================] - 0s 171ms/step\n", "1/1 [==============================] - 0s 135ms/step\n", "1/1 [==============================] - 0s 165ms/step\n", "1/1 [==============================] - 0s 190ms/step\n", "1/1 [==============================] - 0s 222ms/step\n", "1/1 [==============================] - 0s 182ms/step\n", "1/1 [==============================] - 0s 177ms/step\n", "1/1 [==============================] - 0s 162ms/step\n", "1/1 [==============================] - 0s 225ms/step\n", "1/1 [==============================] - 0s 183ms/step\n", "1/1 [==============================] - 0s 172ms/step\n", "1/1 [==============================] - 0s 182ms/step\n", "1/1 [==============================] - 0s 193ms/step\n", "1/1 [==============================] - 0s 169ms/step\n", "1/1 [==============================] - 0s 186ms/step\n", "1/1 [==============================] - 0s 150ms/step\n", "1/1 [==============================] - 0s 183ms/step\n", "1/1 [==============================] - 0s 150ms/step\n", "1/1 [==============================] - 0s 152ms/step\n", "1/1 [==============================] - 0s 185ms/step\n", "1/1 [==============================] - 0s 251ms/step\n", "1/1 [==============================] - 0s 169ms/step\n", "1/1 [==============================] - 0s 196ms/step\n", "1/1 [==============================] - 0s 226ms/step\n", "1/1 [==============================] - 0s 193ms/step\n", "1/1 [==============================] - 0s 293ms/step\n", "1/1 [==============================] - 0s 348ms/step\n", "1/1 [==============================] - 0s 247ms/step\n", "1/1 [==============================] - 0s 322ms/step\n", "1/1 [==============================] - 0s 327ms/step\n", "1/1 [==============================] - 0s 226ms/step\n", "1/1 [==============================] - 0s 294ms/step\n", "1/1 [==============================] - 0s 208ms/step\n", "1/1 [==============================] - 0s 236ms/step\n", "1/1 [==============================] - 0s 222ms/step\n", "1/1 [==============================] - 0s 255ms/step\n", "1/1 [==============================] - 0s 200ms/step\n", "1/1 [==============================] - 0s 220ms/step\n", "1/1 [==============================] - 0s 270ms/step\n", "1/1 [==============================] - 0s 236ms/step\n", "1/1 [==============================] - 0s 211ms/step\n", "1/1 [==============================] - 0s 233ms/step\n", "1/1 [==============================] - 0s 209ms/step\n", "1/1 [==============================] - 0s 140ms/step\n", "1/1 [==============================] - 0s 145ms/step\n", "1/1 [==============================] - 0s 163ms/step\n", "1/1 [==============================] - 0s 171ms/step\n", "1/1 [==============================] - 0s 151ms/step\n", "1/1 [==============================] - 0s 199ms/step\n", "1/1 [==============================] - 0s 143ms/step\n", "1/1 [==============================] - 0s 155ms/step\n", "1/1 [==============================] - 0s 147ms/step\n", "1/1 [==============================] - 0s 146ms/step\n", "1/1 [==============================] - 0s 166ms/step\n", "1/1 [==============================] - 0s 213ms/step\n", "1/1 [==============================] - 0s 172ms/step\n", "1/1 [==============================] - 0s 172ms/step\n", "1/1 [==============================] - 0s 189ms/step\n", "1/1 [==============================] - 0s 311ms/step\n", "1/1 [==============================] - 0s 282ms/step\n", "1/1 [==============================] - 0s 168ms/step\n", "1/1 [==============================] - 0s 166ms/step\n", "1/1 [==============================] - 0s 159ms/step\n", "1/1 [==============================] - 0s 167ms/step\n", "1/1 [==============================] - 0s 163ms/step\n", "1/1 [==============================] - 0s 160ms/step\n", "1/1 [==============================] - 0s 232ms/step\n", "1/1 [==============================] - 0s 148ms/step\n", "1/1 [==============================] - 0s 155ms/step\n", "1/1 [==============================] - 0s 210ms/step\n", "1/1 [==============================] - 0s 204ms/step\n", "1/1 [==============================] - 0s 256ms/step\n", "1/1 [==============================] - 0s 193ms/step\n", "1/1 [==============================] - 0s 189ms/step\n", "1/1 [==============================] - 0s 172ms/step\n", "1/1 [==============================] - 0s 159ms/step\n", "1/1 [==============================] - 0s 156ms/step\n", "1/1 [==============================] - 0s 187ms/step\n", "1/1 [==============================] - 0s 168ms/step\n", "1/1 [==============================] - 0s 178ms/step\n", "1/1 [==============================] - 0s 149ms/step\n", "1/1 [==============================] - 0s 150ms/step\n", "1/1 [==============================] - 0s 212ms/step\n", "1/1 [==============================] - 0s 276ms/step\n", "1/1 [==============================] - 0s 334ms/step\n", "1/1 [==============================] - 0s 147ms/step\n", "1/1 [==============================] - 0s 123ms/step\n", "1/1 [==============================] - 0s 171ms/step\n", "1/1 [==============================] - 0s 146ms/step\n", "1/1 [==============================] - 0s 283ms/step\n", "1/1 [==============================] - 0s 172ms/step\n", "1/1 [==============================] - 0s 166ms/step\n", "1/1 [==============================] - 0s 138ms/step\n", "1/1 [==============================] - 0s 142ms/step\n", "1/1 [==============================] - 0s 181ms/step\n", "1/1 [==============================] - 0s 256ms/step\n", "1/1 [==============================] - 0s 244ms/step\n", "1/1 [==============================] - 0s 181ms/step\n", "1/1 [==============================] - 0s 144ms/step\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "1/1 [==============================] - 0s 180ms/step\n", "1/1 [==============================] - 0s 143ms/step\n", "1/1 [==============================] - 0s 183ms/step\n", "1/1 [==============================] - 0s 177ms/step\n", "1/1 [==============================] - 0s 178ms/step\n", "1/1 [==============================] - 0s 168ms/step\n", "1/1 [==============================] - 0s 146ms/step\n", "1/1 [==============================] - 0s 160ms/step\n", "1/1 [==============================] - 0s 170ms/step\n", "1/1 [==============================] - 0s 166ms/step\n", "1/1 [==============================] - 0s 182ms/step\n", "1/1 [==============================] - 0s 145ms/step\n", "1/1 [==============================] - 0s 143ms/step\n", "1/1 [==============================] - 0s 142ms/step\n", "1/1 [==============================] - 0s 153ms/step\n", "1/1 [==============================] - 0s 155ms/step\n", "1/1 [==============================] - 0s 147ms/step\n", "1/1 [==============================] - 0s 181ms/step\n", "1/1 [==============================] - 0s 158ms/step\n", "1/1 [==============================] - 0s 170ms/step\n", "1/1 [==============================] - 0s 157ms/step\n", "1/1 [==============================] - 0s 151ms/step\n", "1/1 [==============================] - 0s 173ms/step\n", "1/1 [==============================] - 0s 150ms/step\n", "1/1 [==============================] - 0s 192ms/step\n", "1/1 [==============================] - 0s 191ms/step\n", "1/1 [==============================] - 0s 148ms/step\n", "1/1 [==============================] - 0s 150ms/step\n", "1/1 [==============================] - 0s 168ms/step\n", "1/1 [==============================] - 0s 142ms/step\n", "1/1 [==============================] - 0s 149ms/step\n", "1/1 [==============================] - 0s 193ms/step\n", "1/1 [==============================] - 0s 153ms/step\n", "1/1 [==============================] - 0s 163ms/step\n", "1/1 [==============================] - 0s 140ms/step\n", "1/1 [==============================] - 0s 147ms/step\n", "1/1 [==============================] - 0s 145ms/step\n", "1/1 [==============================] - 0s 148ms/step\n", "1/1 [==============================] - 0s 166ms/step\n", "1/1 [==============================] - 0s 142ms/step\n", "1/1 [==============================] - 0s 148ms/step\n", "1/1 [==============================] - 0s 150ms/step\n", "1/1 [==============================] - 0s 199ms/step\n", "1/1 [==============================] - 0s 162ms/step\n", "1/1 [==============================] - 0s 153ms/step\n", "1/1 [==============================] - 0s 156ms/step\n", "1/1 [==============================] - 0s 144ms/step\n", "1/1 [==============================] - 0s 159ms/step\n", "1/1 [==============================] - 0s 175ms/step\n", "1/1 [==============================] - 0s 171ms/step\n", "1/1 [==============================] - 0s 184ms/step\n", "1/1 [==============================] - 0s 139ms/step\n", "1/1 [==============================] - 0s 186ms/step\n", "1/1 [==============================] - 0s 195ms/step\n", "1/1 [==============================] - 0s 182ms/step\n", "1/1 [==============================] - 0s 143ms/step\n", "1/1 [==============================] - 0s 155ms/step\n", "1/1 [==============================] - 0s 148ms/step\n", "1/1 [==============================] - 0s 140ms/step\n", "1/1 [==============================] - 0s 170ms/step\n", "1/1 [==============================] - 0s 144ms/step\n", "1/1 [==============================] - 0s 203ms/step\n", "1/1 [==============================] - 0s 151ms/step\n", "1/1 [==============================] - 0s 150ms/step\n", "1/1 [==============================] - 0s 157ms/step\n", "1/1 [==============================] - 0s 176ms/step\n", "1/1 [==============================] - 0s 172ms/step\n", "1/1 [==============================] - 0s 172ms/step\n", "1/1 [==============================] - 0s 139ms/step\n", "1/1 [==============================] - 0s 146ms/step\n", "1/1 [==============================] - 0s 186ms/step\n", "1/1 [==============================] - 0s 148ms/step\n", "1/1 [==============================] - 0s 181ms/step\n", "1/1 [==============================] - 0s 144ms/step\n", "1/1 [==============================] - 0s 167ms/step\n", "1/1 [==============================] - 0s 145ms/step\n", "1/1 [==============================] - 0s 161ms/step\n", "1/1 [==============================] - 0s 144ms/step\n", "1/1 [==============================] - 0s 146ms/step\n", "1/1 [==============================] - 0s 152ms/step\n", "1/1 [==============================] - 0s 169ms/step\n", "1/1 [==============================] - 0s 149ms/step\n", "1/1 [==============================] - 0s 145ms/step\n", "1/1 [==============================] - 0s 146ms/step\n", "1/1 [==============================] - 0s 170ms/step\n", "1/1 [==============================] - 0s 154ms/step\n", "1/1 [==============================] - 0s 184ms/step\n", "1/1 [==============================] - 0s 172ms/step\n", "1/1 [==============================] - 0s 198ms/step\n", "1/1 [==============================] - 0s 156ms/step\n", "1/1 [==============================] - 0s 148ms/step\n", "1/1 [==============================] - 0s 141ms/step\n", "1/1 [==============================] - 0s 178ms/step\n", "1/1 [==============================] - 0s 184ms/step\n", "1/1 [==============================] - 0s 144ms/step\n", "1/1 [==============================] - 0s 207ms/step\n", "1/1 [==============================] - 0s 153ms/step\n", "1/1 [==============================] - 0s 144ms/step\n", "1/1 [==============================] - 0s 140ms/step\n", "1/1 [==============================] - 0s 158ms/step\n", "1/1 [==============================] - 0s 150ms/step\n", "1/1 [==============================] - 0s 170ms/step\n", "1/1 [==============================] - 0s 141ms/step\n", "1/1 [==============================] - 0s 179ms/step\n", "1/1 [==============================] - 0s 161ms/step\n", "1/1 [==============================] - 0s 168ms/step\n", "1/1 [==============================] - 0s 163ms/step\n", "1/1 [==============================] - 0s 150ms/step\n", "1/1 [==============================] - 0s 141ms/step\n", "1/1 [==============================] - 0s 146ms/step\n", "1/1 [==============================] - 0s 161ms/step\n", "1/1 [==============================] - 0s 146ms/step\n", "1/1 [==============================] - 0s 158ms/step\n", "1/1 [==============================] - 0s 197ms/step\n", "1/1 [==============================] - 0s 145ms/step\n", "1/1 [==============================] - 0s 180ms/step\n", "1/1 [==============================] - 0s 140ms/step\n", "1/1 [==============================] - 0s 181ms/step\n", "1/1 [==============================] - 0s 147ms/step\n", "Running on local URL: http://127.0.0.1:7867\n", "\n", "To create a public link, set `share=True` in `launch()`.\n" ] }, { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "(, 'http://127.0.0.1:7867/', None)" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import requests\n", "from PIL import Image\n", "from io import BytesIO\n", "from numpy import asarray\n", "import numpy\n", "\n", "r =requests.get('https://api.nasa.gov/planetary/apod?api_key=0eyGPKWmJmE5Z0Ijx25oG56ydbTKWE2H75xuEefx')\n", "result = r.json()\n", "receive = requests.get(result['url'])\n", "img = Image.open(BytesIO(receive.content)).convert('RGB')\n", "\n", "with gr.Blocks() as demo:\n", " with gr.Row():\n", " with gr.Column():\n", " gr.Label(\"Original image\")\n", " input_img = gr.Image(img)\n", " with gr.Column():\n", " gr.Label(\"Image with resolution doubled\")\n", " numpydata = asarray(img)\n", " output = double_res(numpydata)#numpy.ndarray\n", " input_img = gr.Image(output)\n", "demo.launch()" ] }, { "cell_type": "code", "execution_count": 10, "id": "8d410d74", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "2022-12-24 12:18:34.670116: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX2 FMA\n", "To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.\n", "config.json not found in /Users/fabio/Downloads/Project/GIanlucaRub/autoencoder_model_d_0\n", "2022-12-24 12:18:40.167772: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX2 FMA\n", "To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "WARNING:tensorflow:No training configuration found in save file, so the model was *not* compiled. Compile it manually.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/Users/fabio/opt/anaconda3/lib/python3.9/site-packages/gradio/inputs.py:256: UserWarning: Usage of gradio.inputs is deprecated, and will not be supported in the future, please import your component from gradio.components\n", " warnings.warn(\n", "/Users/fabio/opt/anaconda3/lib/python3.9/site-packages/gradio/deprecation.py:40: UserWarning: `optional` parameter is deprecated, and it has no effect\n", " warnings.warn(value)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "IMPORTANT: You are using gradio version 3.9.1, however version 3.14.0 is available, please upgrade.\n", "--------\n", "Running on local URL: http://127.0.0.1:7861\n", "\n", "To create a public link, set `share=True` in `launch()`.\n" ] }, { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "(, 'http://127.0.0.1:7861/', None)" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import gradio as gr\n", "import numpy as np\n", "from math import ceil\n", "from huggingface_hub import from_pretrained_keras\n", "\n", "model = from_pretrained_keras(\"GIanlucaRub/autoencoder_model_d_0\")\n", "def double_res(input_image):\n", " input_height = input_image.shape[0] \n", " input_width = input_image.shape[1] \n", " height = ceil(input_height/128)\n", " width = ceil(input_width/128)\n", " expanded_input_image = np.zeros((128*height, 128*width,3), dtype=np.uint8)\n", " np.copyto(expanded_input_image[0:input_height, 0:input_width], input_image)\n", " \n", " output_image = np.zeros((128*height*2, 128*width*2,3), dtype=np.float32)\n", "\n", " for i in range(height):\n", " for j in range(width):\n", " temp_slice = expanded_input_image[i*128:(i+1)*128, j*128:(j+1)*128]/255\n", " upsampled_slice = model.predict(temp_slice[np.newaxis, ...]) \n", " np.copyto(output_image[i*256:(i+1)*256, j*256:(j+1)*256], upsampled_slice[0])\n", " if i!= 0 and j!= 0 and i != height-1 and j!=width-1:\n", "# removing inner borders\n", " right_slice = expanded_input_image[i*128:(i+1)*128, (j+1)*128-64:(j+1)*128+64]/255\n", " right_upsampled_slice = model.predict(right_slice[np.newaxis, ...]) \n", " resized_right_slice = right_upsampled_slice[0][64:192,64:192]\n", " np.copyto(output_image[i*256+64:(i+1)*256-64, (j+1)*256-64:(j+1)*256+64], resized_right_slice)\n", " \n", " left_slice = expanded_input_image[i*128:(i+1)*128, j*128-64:(j)*128+64]/255\n", " left_upsampled_slice = model.predict(left_slice[np.newaxis, ...]) \n", " resized_left_slice = left_upsampled_slice[0][64:192,64:192]\n", " np.copyto(output_image[i*256+64:(i+1)*256-64, j*256-64:j*256+64], resized_left_slice)\n", " \n", " upper_slice = expanded_input_image[(i+1)*128-64:(i+1)*128+64, j*128:(j+1)*128]/255\n", " upper_upsampled_slice = model.predict(upper_slice[np.newaxis, ...]) \n", " resized_upper_slice = upper_upsampled_slice[0][64:192,64:192]\n", " np.copyto(output_image[(i+1)*256-64:(i+1)*256+64, j*256+64:(j+1)*256-64], resized_upper_slice)\n", " \n", " lower_slice = expanded_input_image[i*128-64:i*128+64, j*128:(j+1)*128]/255\n", " lower_upsampled_slice = model.predict(lower_slice[np.newaxis, ...]) \n", " resized_lower_slice = lower_upsampled_slice[0][64:192,64:192]\n", " np.copyto(output_image[i*256-64:i*256+64, j*256+64:(j+1)*256-64], resized_lower_slice)\n", "\n", "\n", "# removing angles\n", " lower_right_slice = expanded_input_image[i*128-64:i*128+64, (j+1)*128-64:(j+1)*128+64]/255\n", " lower_right_upsampled_slice = model.predict(lower_right_slice[np.newaxis, ...]) \n", " resized_lower_right_slice = lower_right_upsampled_slice[0][64:192,64:192]\n", " np.copyto(output_image[i*256-64:i*256+64, (j+1)*256-64:(j+1)*256+64], resized_lower_right_slice)\n", " \n", " lower_left_slice = expanded_input_image[i*128-64:i*128+64, j*128-64:j*128+64]/255\n", " lower_left_upsampled_slice = model.predict(lower_left_slice[np.newaxis, ...]) \n", " resized_lower_left_slice = lower_left_upsampled_slice[0][64:192,64:192]\n", " np.copyto(output_image[i*256-64:i*256+64, j*256-64:j*256+64], resized_lower_left_slice)\n", " \n", "\n", " \n", " \n", " resized_output_image = output_image[0:input_height*2,0:input_width*2]\n", " return resized_output_image\n" ] }, { "cell_type": "code", "execution_count": null, "id": "cce833b0", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.13" } }, "nbformat": 4, "nbformat_minor": 5 }