master
/ Untitled1.ipynb

Untitled1.ipynb @4cd1a00

4cd1a00
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "ae919009",
   "metadata": {},
   "source": [
    "# 图片扩展"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bc80be25",
   "metadata": {},
   "source": [
    "## 1. 项目介绍"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9cab8c4b",
   "metadata": {},
   "source": [
    "图片扩展是一项基于计算机视觉的学习任务。  \n",
    "我们只需要上传待扩展的图片,便能快速生成对图像周围像素的预测,将原图像补全,快来试试吧!"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "870209ce",
   "metadata": {},
   "source": [
    "## 2. 项目结构"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "9c9d731a",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "root:[/home/jovyan/work]\n",
      "+--results\n",
      "|      +--README.md\n",
      "|      +--tb_results\n",
      "|      |      +--README.md\n",
      "|      +--city_output.png\n",
      "|      +--test_output.png\n",
      "+--_README.ipynb\n",
      "+--_OVERVIEW.md\n",
      "+--utils\n",
      "|      +--login.sh\n",
      "|      +--sync_models.sh\n",
      "|      +--sync.sh\n",
      "+--lit\n",
      "|      +--iizuka.pdf\n",
      "|      +--liu.pdf\n",
      "+--README.md\n",
      "+--src\n",
      "|      +--util.py\n",
      "|      +--model.py\n",
      "|      +--model_ld.py\n",
      "|      +--run.sh\n",
      "|      +--test.py\n",
      "|      +--train_ld.py\n",
      "|      +--gen.py\n",
      "|      +--run_ld.sh\n",
      "|      +--train.py\n",
      "|      +--figs.py\n",
      "|      +--__pycache__\n",
      "|      |      +--train.cpython-36.pyc\n",
      "|      |      +--test.cpython-36.pyc\n",
      "|      |      +--model.cpython-37.pyc\n",
      "|      |      +--util.cpython-36.pyc\n",
      "|      |      +--util.cpython-37.pyc\n",
      "|      +--output\n",
      "|      |      +--models\n",
      "|      |      |      +--model227000.ckpt.index\n",
      "|      |      |      +--model227000.ckpt.meta\n",
      "|      |      |      +--model227000.ckpt.data-00000-of-00001\n",
      "+--images\n",
      "|      +--city_128.png\n",
      "|      +--test.png\n",
      "+--etc\n",
      "|      +--dev-indices.txt\n",
      "|      +--results.png\n",
      "|      +--cost.xlsx\n",
      "|      +--outpainting.png\n",
      "|      +--recursive.png\n",
      "+--coding_here.ipynb\n",
      "+--job_logs\n",
      "|      +--job-gpu-62b5d2d8c06b81cd38279610.log\n",
      "|      +--job-gpu-62b5d344b5c4eec184cc05b0.log\n",
      "|      +--job-gpu-62b5d39fd4e7f8c811b53eb1.log\n",
      "|      +--job-gpu-62b5d4052a85ae797c345e17.log\n",
      "|      +--job-gpu-62b5d43bc06b81cd38279613.log\n",
      "|      +--job-gpu-62b94f70c584fdf74ee42dd3.log\n",
      "|      +--job-gpu-62b94f9cb17f87f3a6d7445b.log\n",
      "|      +--job-gpu-62b94fd2f752e3e25d1d3e30.log\n",
      "|      +--job-gpu-62b95050f752e3e25d1d3e32.log\n",
      "|      +--job-gpu-62b95091a393bd89f5bbaa0e.log\n",
      "|      +--job-gpu-62b950d6f9c7fbd55d4e9e0f.log\n",
      "|      +--job-gpu-62b96ec3f901e7972521f6bc.log\n",
      "|      +--job-gpu-62b9701b8029151df74612ce.log\n",
      "|      +--job-gpu-62b971036452cd65a61ca625.log\n",
      "|      +--job-gpu-62cae2855cdb670ebbe876b4.log\n",
      "|      +--job-gpu-62cae2b3924968835f19fd7f.log\n",
      "+--poster\n",
      "|      +--msabini-gili__image-outpainting-poster.pdf\n",
      "+--Untitled.ipynb\n",
      "+--app_spec.yml\n",
      "+--handler.py\n",
      "+--project_requirements.txt\n",
      "+--Untitled1.ipynb\n"
     ]
    }
   ],
   "source": [
    "# 显示文件夹树状目录\n",
    "import os\n",
    "import os.path\n",
    " \n",
    "def dfs_showdir(path, depth):\n",
    "    if depth == 0:\n",
    "        print(\"root:[\" + path + \"]\")\n",
    " \n",
    "    for item in os.listdir(path):\n",
    "        if item[0] not in ['.', '__']:\n",
    "            print(\"|      \" * depth + \"+--\" + item)\n",
    "            newitem = path +'/'+ item\n",
    "            if os.path.isdir(newitem):\n",
    "                dfs_showdir(newitem, depth +1)\n",
    " \n",
    " \n",
    "if __name__ == '__main__':\n",
    "    path = os.getcwd()             # 文件夹路径\n",
    "    dfs_showdir(path, 0)  # 显示文件夹的树状结构"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0504789e",
   "metadata": {},
   "source": [
    "## 3. 项目demo"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "6f3428ce",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2022-08-30 14:34:39.102754: W tensorflow/stream_executor/platform/default/dso_loader.cc:59] Could not load dynamic library 'libcudart.so.10.1'; dlerror: libcudart.so.10.1: cannot open shared object file: No such file or directory\n",
      "2022-08-30 14:34:39.102786: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "WARNING:tensorflow:From /usr/local/lib/python3.7/dist-packages/tensorflow/python/compat/v2_compat.py:96: disable_resource_variables (from tensorflow.python.ops.variable_scope) is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "non-resource variables are not supported in the long term\n",
      "Imported model (for Places365, 128x128 images)\n"
     ]
    }
   ],
   "source": [
    "# 导入相关模块\n",
    "from handler import *"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "57913613",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Input img:\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<PIL.Image.Image image mode=RGBA size=128x128 at 0x7F1C4CF7C590>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "print(\"Input img:\")\n",
    "Image.open('/home/jovyan/work/images/test.png').resize((128, 128))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "5c74255e",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Output img:\n",
      "WARNING:tensorflow:From /home/jovyan/work/src/model.py:20: conv2d (from tensorflow.python.keras.legacy_tf_layers.convolutional) is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "Use `tf.keras.layers.Conv2D` instead.\n",
      "WARNING:tensorflow:From /usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/legacy_tf_layers/convolutional.py:424: Layer.apply (from tensorflow.python.keras.engine.base_layer_v1) is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "Please use `layer.__call__` method instead.\n",
      "WARNING:tensorflow:From /home/jovyan/work/src/model.py:79: conv2d_transpose (from tensorflow.python.keras.legacy_tf_layers.convolutional) is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "Use `tf.keras.layers.Conv2DTranspose` instead.\n",
      "INFO:tensorflow:Restoring parameters from ./src/output/models/model227000.ckpt\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2022-08-30 14:35:43.987477: W tensorflow/stream_executor/platform/default/dso_loader.cc:59] Could not load dynamic library 'libcuda.so.1'; dlerror: libcuda.so.1: cannot open shared object file: No such file or directory\n",
      "2022-08-30 14:35:43.987507: W tensorflow/stream_executor/cuda/cuda_driver.cc:312] failed call to cuInit: UNKNOWN ERROR (303)\n",
      "2022-08-30 14:35:43.987527: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:156] kernel driver does not appear to be running on this host (notebook): /proc/driver/nvidia/version does not exist\n",
      "2022-08-30 14:35:43.987796: I tensorflow/core/platform/cpu_feature_guard.cc:142] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN)to use the following CPU instructions in performance-critical operations:  AVX2 AVX512F FMA\n",
      "To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.\n",
      "2022-08-30 14:35:44.009476: I tensorflow/core/platform/profile_utils/cpu_utils.cc:104] CPU Frequency: 2500000000 Hz\n",
      "2022-08-30 14:35:44.023013: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x46192d0 initialized for platform Host (this does not guarantee that XLA will be used). Devices:\n",
      "2022-08-30 14:35:44.023034: I tensorflow/compiler/xla/service/service.cc:176]   StreamExecutor device (0): Host, Default Version\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Runned time: 6.194 s\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "{'Output': './results/test_output.png'}"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "handle({'Photo': '/home/jovyan/work/images/test.png'})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "998492a8",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Output img:\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<PIL.Image.Image image mode=RGB size=128x128 at 0x7F1C4CF51ED0>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "print(\"Output img:\")\n",
    "Image.open('./results/test_output.png').resize((128, 128))"
   ]
  }
 ],
 "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.7.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}