├── 1) jupyter_python.ipynb ├── 10) Wrapup.ipynb ├── 2) basic_pandas.ipynb ├── 3) advanced_pandas.ipynb ├── 4) python_modules.ipynb ├── 5) text_analysis.ipynb ├── 6) financial_analysis.ipynb ├── 7) financial_analysis_v2.ipynb ├── 9) vehicle plate detection.ipynb ├── License_character_recognition_weight.h5 ├── MobileNets_character_recognition.json ├── README.md ├── SentiWord_info.json ├── clien_park_aug_5to10.csv ├── clien_park_aug_5to10_with_nouns.csv ├── etfitemdata.csv ├── image_sample.jpg ├── korean_stopwords.txt ├── krxstockdata.csv ├── license_character_classes.npy ├── local_utils.py ├── seoul_air_polution.csv ├── seoul_greenpark.tsv ├── seoul_municipalities_geo.json ├── sqlalchemy_declarative.py ├── wpod-net.h5 ├── wpod-net.json └── wrap_up.ipynb /1) jupyter_python.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | " 1주차 강의 Notebook \n", 8 | "
\n", 9 | " 이번 시간엔는 Anaconda를 설치하고 필요한 모듈들을 업데이트 하는 방법
\n", 10 | " Jupyter lab을 띄우고 실제 사용하는 방법 + Python 언어의 기초를 배웁니다.
\n", 11 | "
\n", 12 | "

sumyeon@gmail.com

\n" 13 | ] 14 | }, 15 | { 16 | "cell_type": "markdown", 17 | "metadata": {}, 18 | "source": [ 19 | "# Anaconda Installation" 20 | ] 21 | }, 22 | { 23 | "cell_type": "markdown", 24 | "metadata": {}, 25 | "source": [ 26 | "인터넷에서 Anaconda 패키지를 찾아 설치\n", 27 | "\n", 28 | "Anaconda Windows x64 + Python 3.x 설치" 29 | ] 30 | }, 31 | { 32 | "cell_type": "markdown", 33 | "metadata": {}, 34 | "source": [ 35 | "
\n", 36 | " Tip: https://docs.anaconda.com/anaconda/install/ 사이트에서 자신에 맞는 환경을 선택하여 가이드 따라 진행
\n", 37 | "
" 38 | ] 39 | }, 40 | { 41 | "cell_type": "markdown", 42 | "metadata": {}, 43 | "source": [ 44 | "
" 45 | ] 46 | }, 47 | { 48 | "cell_type": "markdown", 49 | "metadata": {}, 50 | "source": [ 51 | "# Windows Environment Configuration" 52 | ] 53 | }, 54 | { 55 | "cell_type": "markdown", 56 | "metadata": {}, 57 | "source": [ 58 | "
\n", 59 | "아래 항목은 우리 회사와 같이 기업용 Firewall (ex, Proxy 등) 환경일 경우 꼭 필요한 내용임
\n", 60 | "만약, firewall이나 proxy가 없는 경우라면 무시하시면 됩니다\n", 61 | "
" 62 | ] 63 | }, 64 | { 65 | "cell_type": "markdown", 66 | "metadata": {}, 67 | "source": [ 68 | "아래 두 개의 proxy 설정을 윈도우 환경에 추가

\n", 69 | "HTTP_PROXY = http://USERNAME:PASSWORD@SERVER:PORT
\n", 70 | "HTTPS_PROXY = https://USERNAME:PASSWORD@SERVER:PORT" 71 | ] 72 | }, 73 | { 74 | "cell_type": "markdown", 75 | "metadata": {}, 76 | "source": [ 77 | "
\n", 78 | " Tip: '제어판' -> '시스템' -> '정보' '시스템 정보' -> '고급 시스템 설정'-> '환경변수'에 시스템 변수로 추가
\n", 79 | "
" 80 | ] 81 | }, 82 | { 83 | "cell_type": "markdown", 84 | "metadata": {}, 85 | "source": [ 86 | "
\n", 87 | " Tip: 과거에는 'http://' 또는 'https://' 의 prefix가 없어도 동작했으니 최근 버젼에서는 필수
\n", 88 | "
" 89 | ] 90 | }, 91 | { 92 | "cell_type": "markdown", 93 | "metadata": {}, 94 | "source": [ 95 | "
" 96 | ] 97 | }, 98 | { 99 | "cell_type": "markdown", 100 | "metadata": {}, 101 | "source": [ 102 | "# Conda Environment Configuration" 103 | ] 104 | }, 105 | { 106 | "cell_type": "markdown", 107 | "metadata": {}, 108 | "source": [ 109 | "
\n", 110 | "아래 항목 중 proxy, ssl_verify 부분은 우리 회사와 같이 기업용 Firewall (ex, Proxy 등) 환경일 경우 꼭 필요한 내용임
\n", 111 | "만약, firewall이나 proxy가 없는 경우라면 skip\n", 112 | "
" 113 | ] 114 | }, 115 | { 116 | "cell_type": "markdown", 117 | "metadata": {}, 118 | "source": [ 119 | "conda에서 가장 자주 사용하는 채널 추가, proxy 설정, ssl 설정\n", 120 | "\n", 121 | "
\n",
 122 |     "C:\\> conda config --add channels conda-forge\n",
 123 |     "C:\\> conda config --set proxy_servers.http http://USERNAME:PASSWORD@SERVER:PORT\n",
 124 |     "C:\\> conda config --set proxy_servers.https https://USERNAME:PASSWORD@SERVER:PORT\n",
 125 |     "C:\\> conda config --set ssl_verify false\n",
 126 |     "
" 127 | ] 128 | }, 129 | { 130 | "cell_type": "markdown", 131 | "metadata": {}, 132 | "source": [ 133 | "
\n", 134 | " Tip: 위와 같은 명령어 실행 하거나, 아래 내용을 text-editor 또는 메모장을 사용해서 .condarc 에 추가
\n", 135 | " Tip: .condarc는 사용자 홈 디렉토리 (위도우의 경우 일반적으로 C:/>사용자\\\"사용자id\"\\)에 주로 위치
\n", 136 | "
" 137 | ] 138 | }, 139 | { 140 | "cell_type": "markdown", 141 | "metadata": {}, 142 | "source": [ 143 | ".condarc 파일에 아래와 같은 항목 추가
\n", 144 | "\n", 145 | "
\n",
 146 |     "channels:\n",
 147 |     "  - conda-forge\n",
 148 |     "  - defaults\n",
 149 |     "proxy_servers:\n",
 150 |     "    http: http://USERNAME:PASSWORD@SERVER:PORT\n",
 151 |     "    https: https://USERNAME:PASSWORD@SERVER:PORT\n",
 152 |     "ssl_verify: False\n",
 153 |     "
" 154 | ] 155 | }, 156 | { 157 | "cell_type": "markdown", 158 | "metadata": {}, 159 | "source": [ 160 | "
\n", 161 | " Tip: conda config에 대한 상세 내용은 conda 설명 웹 사이트(https://docs.conda.io/projects/conda/en/latest/user-guide/configuration/use-condarc.html)를 참조\n", 162 | "
" 163 | ] 164 | }, 165 | { 166 | "cell_type": "markdown", 167 | "metadata": {}, 168 | "source": [ 169 | "
" 170 | ] 171 | }, 172 | { 173 | "cell_type": "markdown", 174 | "metadata": {}, 175 | "source": [ 176 | "# Jupyter Environment (Jupyter Notebook/Lab) 설정" 177 | ] 178 | }, 179 | { 180 | "cell_type": "markdown", 181 | "metadata": {}, 182 | "source": [ 183 | "Windows 환경 설정, Conda (Anaconda) 환경 설정과 별도로, 앞으로 사용할 분석 환경 (jupyter)의 설정을 해야 함
\n", 184 | "설정 파일 (아래 참조)에 다양한 내용이 있으나 가장 기본적인 시작 페이지 - 분석을 위한 홈 페이지 - 설정이 필요
\n", 185 | "아래와 같은 jupyter 명령으로 default config 파일을 생성 후에 직접 해당 파일을 edit하면됨\n", 186 | "\n", 187 | "\n", 188 | "
\n",
 189 |     "C:\\> jupyter notebook --generate-config\n",
 190 |     "\n",
 191 |     "
\n", 192 | "\n", 193 | "위와 같은 명령을 수행하면 홈 디렉토리의 .jupyter\\jupyter_notebook_configy.py 파일이 생섬됨
\n", 194 | "위 python 파일을 열어 c.NotebookApp.notebook_dir = \"내가 원하는 디랙토리\" 로 셋팅" 195 | ] 196 | }, 197 | { 198 | "cell_type": "markdown", 199 | "metadata": {}, 200 | "source": [ 201 | "
\n", 202 | " Tip: jupyter 환경 설정의 상세/고급 내용은 https://jupyter-notebook.readthedocs.io/en/stable/config.html 참조\n", 203 | "
" 204 | ] 205 | }, 206 | { 207 | "cell_type": "markdown", 208 | "metadata": {}, 209 | "source": [ 210 | "
" 211 | ] 212 | }, 213 | { 214 | "cell_type": "markdown", 215 | "metadata": {}, 216 | "source": [ 217 | "# Jupyter Lab 실행" 218 | ] 219 | }, 220 | { 221 | "cell_type": "markdown", 222 | "metadata": {}, 223 | "source": [ 224 | "
\n", 225 | "Python 사용 환경으로는, PyCharm, Spider, Jupyter Notebook, Jupyter Lab, Visual Studio Code 등이 있으며, 각자의 장단점이 있음
\n", 226 | " 데이터 분석을 위한 용도로 사용하기 위해 무료면서도 다양한 기능을 가지는 Jupyter를, 그 중에서도 사용성이 좋은 Lab을 사용키로 함\n", 227 | "
" 228 | ] 229 | }, 230 | { 231 | "cell_type": "markdown", 232 | "metadata": {}, 233 | "source": [ 234 | "윈도위 메뉴의 Anaconda3(64bit) 밑에 있는 'Anaconda Prompt (Anaconda3)'를 선택해서 commnad 창 실행 후,
\n", 235 | "command 창에서 직접 jupyter lab 실행" 236 | ] 237 | }, 238 | { 239 | "cell_type": "markdown", 240 | "metadata": {}, 241 | "source": [ 242 | "
\n",
 243 |     "C:\\> jupyter lab\n",
 244 |     "
" 245 | ] 246 | }, 247 | { 248 | "cell_type": "markdown", 249 | "metadata": {}, 250 | "source": [ 251 | "
\n", 252 | " Tip: 윈도우 메뉴의 Anaconda3(64bit) 밑의 'Jupyter Notebook (Anaconda3)' 메뉴의 속성 부분에서 'jupyter-notebook-script.py'를 'jupyter-lab-script.py'로 변경하면, 윈도 메뉴를 통해 jupyter lab 실행 가능\n", 253 | "
" 254 | ] 255 | }, 256 | { 257 | "cell_type": "markdown", 258 | "metadata": {}, 259 | "source": [ 260 | "
\n", 261 | " NOTE: 위의 'Jupyter Notebook (Anaconda3)' 메뉴를 수정해서 메뉴로 실행하는 하는 경우,
\n", 262 | " notebook 시작 디렉토리는 속성 변경 시에 보이는 '시작 위치' 속성에 설정해야만 됨\n", 263 | "
" 264 | ] 265 | }, 266 | { 267 | "cell_type": "markdown", 268 | "metadata": {}, 269 | "source": [ 270 | "
" 271 | ] 272 | }, 273 | { 274 | "cell_type": "markdown", 275 | "metadata": {}, 276 | "source": [ 277 | "# Jupyter Lab 주요 명령어" 278 | ] 279 | }, 280 | { 281 | "cell_type": "markdown", 282 | "metadata": {}, 283 | "source": [ 284 | "## 필수 명령어 \n", 285 | "\n", 286 | " ESC : Command mode
\n", 287 | " Enter : Cell edit mode
\n", 288 | "Shift+Enter : Execute the selected cell + Move to the next cell
\n", 289 | "Ctrl+Enter : Execute the selected cell
\n", 290 | "B, A : Insert a new empty cell below (B) or above (A) the current cell" 291 | ] 292 | }, 293 | { 294 | "cell_type": "markdown", 295 | "metadata": {}, 296 | "source": [ 297 | "## 자주 사용하는 명령어 (Command mode에서만 사용)\n", 298 | "\n", 299 | " C, X, V : Copy (C), Cut (X), Paste (V) the selected cell
\n", 300 | " Up/Down : Move to the up/down cell
\n", 301 | " H, K : Same as Up,Down
" 302 | ] 303 | }, 304 | { 305 | "cell_type": "markdown", 306 | "metadata": {}, 307 | "source": [ 308 | "## 사용하면 도움되는 명령어 (Edit mode에서만 사용)\n", 309 | "\n", 310 | " R, M, Y : Set the selected cell as 'Raw', 'Markdown', 'Code' type
\n", 311 | " Tab : code completion hint
\n", 312 | " Shift+Tab : show detailed description on the current func/class/etc.
\n", 313 | " Ctrl+[,] : Indent, Unindent selected block
" 314 | ] 315 | }, 316 | { 317 | "cell_type": "markdown", 318 | "metadata": {}, 319 | "source": [ 320 | "
" 321 | ] 322 | }, 323 | { 324 | "cell_type": "markdown", 325 | "metadata": {}, 326 | "source": [ 327 | "\n", 328 | "\n", 329 | "# Python Introduction" 330 | ] 331 | }, 332 | { 333 | "cell_type": "markdown", 334 | "metadata": {}, 335 | "source": [ 336 | "
\n", 337 | " NOTE: Python 언어의 기본적인 부분을 아주 짧게 알아본다.
Python 언어 관련 궁금한 내용은 파이썬 코딩 도장(https://dojang.io/course/view.php?id=7) 참조 \n", 338 | "
" 339 | ] 340 | }, 341 | { 342 | "cell_type": "code", 343 | "execution_count": null, 344 | "metadata": {}, 345 | "outputs": [], 346 | "source": [ 347 | "https://dojang.io/course/view.php?id=7" 348 | ] 349 | }, 350 | { 351 | "cell_type": "markdown", 352 | "metadata": {}, 353 | "source": [ 354 | "## Variable" 355 | ] 356 | }, 357 | { 358 | "cell_type": "raw", 359 | "metadata": {}, 360 | "source": [ 361 | "a = 1 # integer\n", 362 | "b= 1.1 # float\n", 363 | "c = a + b" 364 | ] 365 | }, 366 | { 367 | "cell_type": "code", 368 | "execution_count": 23, 369 | "metadata": {}, 370 | "outputs": [ 371 | { 372 | "name": "stdout", 373 | "output_type": "stream", 374 | "text": [ 375 | "2.1\n" 376 | ] 377 | } 378 | ], 379 | "source": [ 380 | "print(c)" 381 | ] 382 | }, 383 | { 384 | "cell_type": "code", 385 | "execution_count": 24, 386 | "metadata": {}, 387 | "outputs": [], 388 | "source": [ 389 | "d = \"hello world\" # string" 390 | ] 391 | }, 392 | { 393 | "cell_type": "code", 394 | "execution_count": 25, 395 | "metadata": {}, 396 | "outputs": [ 397 | { 398 | "name": "stdout", 399 | "output_type": "stream", 400 | "text": [ 401 | "hello world\n" 402 | ] 403 | } 404 | ], 405 | "source": [ 406 | "print(d)" 407 | ] 408 | }, 409 | { 410 | "cell_type": "markdown", 411 | "metadata": {}, 412 | "source": [ 413 | "## List" 414 | ] 415 | }, 416 | { 417 | "cell_type": "code", 418 | "execution_count": 20, 419 | "metadata": {}, 420 | "outputs": [], 421 | "source": [ 422 | "l = [ 1,2,3, \"hello world\", 'world again']" 423 | ] 424 | }, 425 | { 426 | "cell_type": "code", 427 | "execution_count": 21, 428 | "metadata": {}, 429 | "outputs": [ 430 | { 431 | "name": "stdout", 432 | "output_type": "stream", 433 | "text": [ 434 | "[1, 2, 3, 'hello world', 'world again']\n" 435 | ] 436 | } 437 | ], 438 | "source": [ 439 | "print(l)" 440 | ] 441 | }, 442 | { 443 | "cell_type": "code", 444 | "execution_count": 22, 445 | "metadata": {}, 446 | "outputs": [ 447 | { 448 | "data": { 449 | "text/plain": [ 450 | "(1, 3, 'world again', [1, 2])" 451 | ] 452 | }, 453 | "execution_count": 22, 454 | "metadata": {}, 455 | "output_type": "execute_result" 456 | } 457 | ], 458 | "source": [ 459 | "l[0], l[2], l[-1], l[0:2]" 460 | ] 461 | }, 462 | { 463 | "cell_type": "markdown", 464 | "metadata": {}, 465 | "source": [ 466 | "## Dictionary" 467 | ] 468 | }, 469 | { 470 | "cell_type": "code", 471 | "execution_count": 27, 472 | "metadata": {}, 473 | "outputs": [], 474 | "source": [ 475 | "d = {'name' : 'john doe', 'phone':'011-xxxx-xxxx', 'address':'NA'}" 476 | ] 477 | }, 478 | { 479 | "cell_type": "code", 480 | "execution_count": 29, 481 | "metadata": {}, 482 | "outputs": [ 483 | { 484 | "name": "stdout", 485 | "output_type": "stream", 486 | "text": [ 487 | "john doe\n" 488 | ] 489 | } 490 | ], 491 | "source": [ 492 | "print(d['name'])" 493 | ] 494 | }, 495 | { 496 | "cell_type": "code", 497 | "execution_count": 30, 498 | "metadata": {}, 499 | "outputs": [ 500 | { 501 | "name": "stdout", 502 | "output_type": "stream", 503 | "text": [ 504 | "011-xxxx-xxxx\n" 505 | ] 506 | } 507 | ], 508 | "source": [ 509 | "print(d['phone'])" 510 | ] 511 | }, 512 | { 513 | "cell_type": "markdown", 514 | "metadata": {}, 515 | "source": [ 516 | "## Controls" 517 | ] 518 | }, 519 | { 520 | "cell_type": "markdown", 521 | "metadata": {}, 522 | "source": [ 523 | "코드 블럭은 특별한 기호 ( 예, { } )를 사용하지 않고 indentation (예, space or Tab)으로 구분\n", 524 | "\n", 525 | "
\n",
 526 |     "if 1 == 1:\n",
 527 |     "□□□□continue\n",
 528 |     "else:\n",
 529 |     "□□□□print(\"never reached...\")\n",
 530 |     "
" 531 | ] 532 | }, 533 | { 534 | "cell_type": "code", 535 | "execution_count": 1, 536 | "metadata": {}, 537 | "outputs": [ 538 | { 539 | "ename": "NameError", 540 | "evalue": "name 'f' is not defined", 541 | "output_type": "error", 542 | "traceback": [ 543 | "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", 544 | "\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)", 545 | "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[1;32mfor\u001b[0m \u001b[0mitem\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mf\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 2\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mitem\u001b[0m \u001b[1;33m==\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 3\u001b[0m \u001b[1;32mcontinue\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 546 | "\u001b[1;31mNameError\u001b[0m: name 'f' is not defined" 547 | ] 548 | } 549 | ], 550 | "source": [ 551 | "for item in f:\n", 552 | " if item == 1:\n", 553 | " continue\n", 554 | " else:\n", 555 | " print(item)" 556 | ] 557 | }, 558 | { 559 | "cell_type": "code", 560 | "execution_count": 3, 561 | "metadata": {}, 562 | "outputs": [ 563 | { 564 | "name": "stdout", 565 | "output_type": "stream", 566 | "text": [ 567 | "Hello! Su Myeon\n" 568 | ] 569 | } 570 | ], 571 | "source": [ 572 | "name = \"Su Myeon\"\n", 573 | "print('Hello! ' + name)" 574 | ] 575 | }, 576 | { 577 | "cell_type": "markdown", 578 | "metadata": {}, 579 | "source": [ 580 | "## Import Module" 581 | ] 582 | }, 583 | { 584 | "cell_type": "code", 585 | "execution_count": null, 586 | "metadata": {}, 587 | "outputs": [], 588 | "source": [ 589 | "os.chdir(\"c:/temp\")" 590 | ] 591 | }, 592 | { 593 | "cell_type": "code", 594 | "execution_count": 20, 595 | "metadata": {}, 596 | "outputs": [], 597 | "source": [ 598 | "import os\n", 599 | "os.chdir(\"c:/temp\")" 600 | ] 601 | }, 602 | { 603 | "cell_type": "code", 604 | "execution_count": 13, 605 | "metadata": {}, 606 | "outputs": [ 607 | { 608 | "name": "stdout", 609 | "output_type": "stream", 610 | "text": [ 611 | "Active code page: 65001\n", 612 | " Volume in drive D is D30G\n", 613 | " Volume Serial Number is 701B-706E\n", 614 | "\n", 615 | " Directory of D:\\jupyternotebook\\python_anal_atoz\n", 616 | "\n", 617 | "2020-07-19 �삤�쟾 01:23 .\n", 618 | "2020-07-19 �삤�쟾 01:23 ..\n", 619 | "2020-07-18 �삤�썑 03:47 .ipynb_checkpoints\n", 620 | "2020-07-19 �삤�쟾 01:23 35,423 jupyter_python.ipynb\n", 621 | " 1 File(s) 35,423 bytes\n", 622 | " 3 Dir(s) 6,958,944,256 bytes free\n" 623 | ] 624 | } 625 | ], 626 | "source": [ 627 | "!dir" 628 | ] 629 | }, 630 | { 631 | "cell_type": "markdown", 632 | "metadata": {}, 633 | "source": [ 634 | "## Functions" 635 | ] 636 | }, 637 | { 638 | "cell_type": "markdown", 639 | "metadata": {}, 640 | "source": [ 641 | "### def 명령어를 사용해 원하는 함수를 선언. 괄호 안에는 전달해줄 argument를 리스트" 642 | ] 643 | }, 644 | { 645 | "cell_type": "code", 646 | "execution_count": 23, 647 | "metadata": {}, 648 | "outputs": [], 649 | "source": [ 650 | "def add(arg1, arg2):\n", 651 | " return arg1+arg2" 652 | ] 653 | }, 654 | { 655 | "cell_type": "code", 656 | "execution_count": 24, 657 | "metadata": {}, 658 | "outputs": [ 659 | { 660 | "data": { 661 | "text/plain": [ 662 | "2" 663 | ] 664 | }, 665 | "execution_count": 24, 666 | "metadata": {}, 667 | "output_type": "execute_result" 668 | } 669 | ], 670 | "source": [ 671 | "add(1, 1)" 672 | ] 673 | }, 674 | { 675 | "cell_type": "markdown", 676 | "metadata": {}, 677 | "source": [ 678 | "### argument에 기본값을 설정해 두면, 해당 argument를 보내지 않는 경우 설정해둔 기본값이 사용됨" 679 | ] 680 | }, 681 | { 682 | "cell_type": "code", 683 | "execution_count": 4, 684 | "metadata": {}, 685 | "outputs": [], 686 | "source": [ 687 | "def add_n(arg1, arg2_with_default_value=10):\n", 688 | " return arg1+arg2_with_default_value" 689 | ] 690 | }, 691 | { 692 | "cell_type": "code", 693 | "execution_count": 5, 694 | "metadata": {}, 695 | "outputs": [ 696 | { 697 | "data": { 698 | "text/plain": [ 699 | "2" 700 | ] 701 | }, 702 | "execution_count": 5, 703 | "metadata": {}, 704 | "output_type": "execute_result" 705 | } 706 | ], 707 | "source": [ 708 | "add_n(1, 1)" 709 | ] 710 | }, 711 | { 712 | "cell_type": "code", 713 | "execution_count": 35, 714 | "metadata": {}, 715 | "outputs": [ 716 | { 717 | "data": { 718 | "text/plain": [ 719 | "11" 720 | ] 721 | }, 722 | "execution_count": 35, 723 | "metadata": {}, 724 | "output_type": "execute_result" 725 | } 726 | ], 727 | "source": [ 728 | "add_n(1)" 729 | ] 730 | }, 731 | { 732 | "cell_type": "markdown", 733 | "metadata": {}, 734 | "source": [ 735 | "
\n", 736 | " Tip: 중요한 함수를 만들 때, argument 기본값 설정을 활용한다면, 아주 필요한 argument만 받을 수도 있고
\n", 737 | " 고급 사용자들은 argument를 추가로 설정해서 각자 원하는 형태로 함수를 사용할 수 있음. (예, pandas의 많은 함수들)\n", 738 | "
" 739 | ] 740 | }, 741 | { 742 | "cell_type": "markdown", 743 | "metadata": {}, 744 | "source": [ 745 | "### Lambda 함수는, 별도의 함수 이름이 없는 한줄로 표현하는 아주 간단한 함수 표현 방법" 746 | ] 747 | }, 748 | { 749 | "cell_type": "code", 750 | "execution_count": 6, 751 | "metadata": {}, 752 | "outputs": [ 753 | { 754 | "data": { 755 | "text/plain": [ 756 | "2" 757 | ] 758 | }, 759 | "execution_count": 6, 760 | "metadata": {}, 761 | "output_type": "execute_result" 762 | } 763 | ], 764 | "source": [ 765 | "add2 = (lambda a, b: a+b)\n", 766 | "add2(1, 1)" 767 | ] 768 | }, 769 | { 770 | "cell_type": "code", 771 | "execution_count": 7, 772 | "metadata": {}, 773 | "outputs": [ 774 | { 775 | "data": { 776 | "text/plain": [ 777 | "2" 778 | ] 779 | }, 780 | "execution_count": 7, 781 | "metadata": {}, 782 | "output_type": "execute_result" 783 | } 784 | ], 785 | "source": [ 786 | "(lambda a, b: a+b)(1,1)" 787 | ] 788 | }, 789 | { 790 | "cell_type": "markdown", 791 | "metadata": {}, 792 | "source": [ 793 | "
\n", 794 | " Tip: Lambda 함수는 그 간편함으로 가끔씩 사용하면 코딩 분량을 많이 줄일 수 있음.
\n", 795 | " 필수 이해 항목은 아니지만 중/고급 사용자가 되기 위해서 또는 남의 코드를 읽기 위해서는 꼭 알고 있어야 함.! \n", 796 | "
" 797 | ] 798 | }, 799 | { 800 | "cell_type": "markdown", 801 | "metadata": {}, 802 | "source": [ 803 | "## ETC" 804 | ] 805 | }, 806 | { 807 | "cell_type": "markdown", 808 | "metadata": {}, 809 | "source": [ 810 | " Python 2.x vs. 3.x : Python 2.x의 공식적인 지원은 최근 종료되었으나 필드의 많은 주요 코드들은 2.x로 구현되어 있음.
\n", 811 | "
\n",
 812 |     " NOTE)  Python 2.x vs. 3.x : 가장 큰 차이점은 print!  \"print a\" vs. \"print(a)\" \n",
 813 |     "
" 814 | ] 815 | }, 816 | { 817 | "cell_type": "markdown", 818 | "metadata": {}, 819 | "source": [ 820 | " Python 이름의 유래 : 고대 신화의 파르나소스 산 동굴에 살던 뱀? 비단뱀? Monty Python's Flying Circus! " 821 | ] 822 | }, 823 | { 824 | "cell_type": "markdown", 825 | "metadata": {}, 826 | "source": [ 827 | " Variable scope : Local-Enclosure-Global-Builtin (LEGB) rule에 따름" 828 | ] 829 | }, 830 | { 831 | "cell_type": "markdown", 832 | "metadata": {}, 833 | "source": [ 834 | " 그 외 궁금할 많한 주요 키워드들 : Guido Van Rosum, REPL (Read-Evaluate-Print-Loop), PEP (Python Enhancement Proposal)" 835 | ] 836 | }, 837 | { 838 | "cell_type": "markdown", 839 | "metadata": {}, 840 | "source": [ 841 | "
" 842 | ] 843 | }, 844 | { 845 | "cell_type": "markdown", 846 | "metadata": {}, 847 | "source": [ 848 | "# 분석을 위한 주요 모듈" 849 | ] 850 | }, 851 | { 852 | "cell_type": "markdown", 853 | "metadata": {}, 854 | "source": [ 855 | "아래 내용은 노트북 맨 처음 Cell에서 무조건 입력 후 수행" 856 | ] 857 | }, 858 | { 859 | "cell_type": "markdown", 860 | "metadata": {}, 861 | "source": [ 862 | "
\n",
 863 |     "import pandas as pd                 # pandas import\n",
 864 |     "import numpy as np                  # numpy import\n",
 865 |     "import matplotlib.pyplot as plt     # pyplot import\n",
 866 |     "\n",
 867 |     "%matplotlib inline                  # jupyter cell magic for routing graphical output to embedded\n",
 868 |     "
" 869 | ] 870 | }, 871 | { 872 | "cell_type": "markdown", 873 | "metadata": {}, 874 | "source": [ 875 | "
\n", 876 | " Tip: scipy, scikit-learn, os, datetime, time, pathlib 등 다른 주요 모듈들은 필요한 상황에 하나씩 배워 나가자!\n", 877 | "
" 878 | ] 879 | }, 880 | { 881 | "cell_type": "markdown", 882 | "metadata": {}, 883 | "source": [ 884 | "
" 885 | ] 886 | }, 887 | { 888 | "cell_type": "markdown", 889 | "metadata": {}, 890 | "source": [ 891 | "# Python Module/Package Update/Install 방법" 892 | ] 893 | }, 894 | { 895 | "cell_type": "markdown", 896 | "metadata": {}, 897 | "source": [ 898 | " anaconda에 포함된 패키지들 (이미 설치되어 있음)을 최신 버젼으로 업데이트 (선택 사항) \n", 899 | "\n", 900 | "
\n",
 901 |     "C:\\> conda update --all\n",
 902 |     "
" 903 | ] 904 | }, 905 | { 906 | "cell_type": "markdown", 907 | "metadata": {}, 908 | "source": [ 909 | " 분석 도중에 새롭게 필요한 모듈/패키지가 생기는 경우, Conda를 이용해서 설치 \n", 910 | "\n", 911 | "
\n",
 912 |     "C:\\> conda install -c conda-forge  \"package name\"\n",
 913 |     "
" 914 | ] 915 | }, 916 | { 917 | "cell_type": "markdown", 918 | "metadata": {}, 919 | "source": [ 920 | " 새로운 모듈/패키지를 PIP를 이용해서도 설치 가능 (개인 추천: Conda를 이용해서 설치가 안되는 경우만 사용 바람) \n", 921 | "\n", 922 | "
\n",
 923 |     "C:\\> pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org \"package name\"\n",
 924 |     "
" 925 | ] 926 | }, 927 | { 928 | "cell_type": "markdown", 929 | "metadata": {}, 930 | "source": [ 931 | "
\n", 932 | " Tip: 새로운 패키지를 설치해야 할 경우, Conda를 이용해서 설치가 안되는 경우에 pip을 사용하기를 추천
\n", 933 | " Tip: Windows 환경에서 pip으로도 인스톨이 어려운 경우, pipwin 사용 (pipwin은 pip으로 인스톨 - https://github.com/lepisma/pipwin 참조)\n", 934 | "
" 935 | ] 936 | }, 937 | { 938 | "cell_type": "markdown", 939 | "metadata": {}, 940 | "source": [ 941 | "
" 942 | ] 943 | }, 944 | { 945 | "cell_type": "markdown", 946 | "metadata": {}, 947 | "source": [ 948 | "# Jupyter Magic" 949 | ] 950 | }, 951 | { 952 | "cell_type": "markdown", 953 | "metadata": {}, 954 | "source": [ 955 | "Jupyter notebook에서 '마법'처럼 도움되는 기능을 제공하는 특별한 키워드에 대해서 알아본다." 956 | ] 957 | }, 958 | { 959 | "cell_type": "markdown", 960 | "metadata": {}, 961 | "source": [ 962 | "\n", 963 | "" 964 | ] 965 | }, 966 | { 967 | "cell_type": "code", 968 | "execution_count": 10, 969 | "metadata": {}, 970 | "outputs": [ 971 | { 972 | "data": { 973 | "application/json": { 974 | "cell": { 975 | "!": "OSMagics", 976 | "HTML": "Other", 977 | "SVG": "Other", 978 | "bash": "Other", 979 | "capture": "ExecutionMagics", 980 | "cmd": "Other", 981 | "debug": "ExecutionMagics", 982 | "file": "Other", 983 | "html": "DisplayMagics", 984 | "javascript": "DisplayMagics", 985 | "js": "DisplayMagics", 986 | "latex": "DisplayMagics", 987 | "markdown": "DisplayMagics", 988 | "perl": "Other", 989 | "prun": "ExecutionMagics", 990 | "pypy": "Other", 991 | "python": "Other", 992 | "python2": "Other", 993 | "python3": "Other", 994 | "ruby": "Other", 995 | "script": "ScriptMagics", 996 | "sh": "Other", 997 | "svg": "DisplayMagics", 998 | "sx": "OSMagics", 999 | "system": "OSMagics", 1000 | "time": "ExecutionMagics", 1001 | "timeit": "ExecutionMagics", 1002 | "writefile": "OSMagics" 1003 | }, 1004 | "line": { 1005 | "alias": "OSMagics", 1006 | "alias_magic": "BasicMagics", 1007 | "autoawait": "AsyncMagics", 1008 | "autocall": "AutoMagics", 1009 | "automagic": "AutoMagics", 1010 | "autosave": "KernelMagics", 1011 | "bookmark": "OSMagics", 1012 | "cd": "OSMagics", 1013 | "clear": "KernelMagics", 1014 | "cls": "KernelMagics", 1015 | "colors": "BasicMagics", 1016 | "conda": "PackagingMagics", 1017 | "config": "ConfigMagics", 1018 | "connect_info": "KernelMagics", 1019 | "copy": "Other", 1020 | "ddir": "Other", 1021 | "debug": "ExecutionMagics", 1022 | "dhist": "OSMagics", 1023 | "dirs": "OSMagics", 1024 | "doctest_mode": "BasicMagics", 1025 | "echo": "Other", 1026 | "ed": "Other", 1027 | "edit": "KernelMagics", 1028 | "env": "OSMagics", 1029 | "gui": "BasicMagics", 1030 | "hist": "Other", 1031 | "history": "HistoryMagics", 1032 | "killbgscripts": "ScriptMagics", 1033 | "ldir": "Other", 1034 | "less": "KernelMagics", 1035 | "load": "CodeMagics", 1036 | "load_ext": "ExtensionMagics", 1037 | "loadpy": "CodeMagics", 1038 | "logoff": "LoggingMagics", 1039 | "logon": "LoggingMagics", 1040 | "logstart": "LoggingMagics", 1041 | "logstate": "LoggingMagics", 1042 | "logstop": "LoggingMagics", 1043 | "ls": "Other", 1044 | "lsmagic": "BasicMagics", 1045 | "macro": "ExecutionMagics", 1046 | "magic": "BasicMagics", 1047 | "matplotlib": "PylabMagics", 1048 | "mkdir": "Other", 1049 | "more": "KernelMagics", 1050 | "notebook": "BasicMagics", 1051 | "page": "BasicMagics", 1052 | "pastebin": "CodeMagics", 1053 | "pdb": "ExecutionMagics", 1054 | "pdef": "NamespaceMagics", 1055 | "pdoc": "NamespaceMagics", 1056 | "pfile": "NamespaceMagics", 1057 | "pinfo": "NamespaceMagics", 1058 | "pinfo2": "NamespaceMagics", 1059 | "pip": "PackagingMagics", 1060 | "popd": "OSMagics", 1061 | "pprint": "BasicMagics", 1062 | "precision": "BasicMagics", 1063 | "prun": "ExecutionMagics", 1064 | "psearch": "NamespaceMagics", 1065 | "psource": "NamespaceMagics", 1066 | "pushd": "OSMagics", 1067 | "pwd": "OSMagics", 1068 | "pycat": "OSMagics", 1069 | "pylab": "PylabMagics", 1070 | "qtconsole": "KernelMagics", 1071 | "quickref": "BasicMagics", 1072 | "recall": "HistoryMagics", 1073 | "rehashx": "OSMagics", 1074 | "reload_ext": "ExtensionMagics", 1075 | "ren": "Other", 1076 | "rep": "Other", 1077 | "rerun": "HistoryMagics", 1078 | "reset": "NamespaceMagics", 1079 | "reset_selective": "NamespaceMagics", 1080 | "rmdir": "Other", 1081 | "run": "ExecutionMagics", 1082 | "save": "CodeMagics", 1083 | "sc": "OSMagics", 1084 | "set_env": "OSMagics", 1085 | "store": "StoreMagics", 1086 | "sx": "OSMagics", 1087 | "system": "OSMagics", 1088 | "tb": "ExecutionMagics", 1089 | "time": "ExecutionMagics", 1090 | "timeit": "ExecutionMagics", 1091 | "unalias": "OSMagics", 1092 | "unload_ext": "ExtensionMagics", 1093 | "who": "NamespaceMagics", 1094 | "who_ls": "NamespaceMagics", 1095 | "whos": "NamespaceMagics", 1096 | "xdel": "NamespaceMagics", 1097 | "xmode": "BasicMagics" 1098 | } 1099 | }, 1100 | "text/plain": [ 1101 | "Available line magics:\n", 1102 | "%alias %alias_magic %autoawait %autocall %automagic %autosave %bookmark %cd %clear %cls %colors %conda %config %connect_info %copy %ddir %debug %dhist %dirs %doctest_mode %echo %ed %edit %env %gui %hist %history %killbgscripts %ldir %less %load %load_ext %loadpy %logoff %logon %logstart %logstate %logstop %ls %lsmagic %macro %magic %matplotlib %mkdir %more %notebook %page %pastebin %pdb %pdef %pdoc %pfile %pinfo %pinfo2 %pip %popd %pprint %precision %prun %psearch %psource %pushd %pwd %pycat %pylab %qtconsole %quickref %recall %rehashx %reload_ext %ren %rep %rerun %reset %reset_selective %rmdir %run %save %sc %set_env %store %sx %system %tb %time %timeit %unalias %unload_ext %who %who_ls %whos %xdel %xmode\n", 1103 | "\n", 1104 | "Available cell magics:\n", 1105 | "%%! %%HTML %%SVG %%bash %%capture %%cmd %%debug %%file %%html %%javascript %%js %%latex %%markdown %%perl %%prun %%pypy %%python %%python2 %%python3 %%ruby %%script %%sh %%svg %%sx %%system %%time %%timeit %%writefile\n", 1106 | "\n", 1107 | "Automagic is ON, % prefix IS NOT needed for line magics." 1108 | ] 1109 | }, 1110 | "execution_count": 10, 1111 | "metadata": {}, 1112 | "output_type": "execute_result" 1113 | } 1114 | ], 1115 | "source": [ 1116 | "# magic 키워드 리스트\n", 1117 | "%lsmagic" 1118 | ] 1119 | }, 1120 | { 1121 | "cell_type": "code", 1122 | "execution_count": 5, 1123 | "metadata": {}, 1124 | "outputs": [ 1125 | { 1126 | "name": "stdout", 1127 | "output_type": "stream", 1128 | "text": [ 1129 | "NamespaceMagics\t get_ipython\t json\t \n" 1130 | ] 1131 | } 1132 | ], 1133 | "source": [ 1134 | "# 노트북 환경에 있는 variable들 리스트\n", 1135 | "%who " 1136 | ] 1137 | }, 1138 | { 1139 | "cell_type": "code", 1140 | "execution_count": 6, 1141 | "metadata": {}, 1142 | "outputs": [ 1143 | { 1144 | "name": "stdout", 1145 | "output_type": "stream", 1146 | "text": [ 1147 | "Variable Type Data/Info\n", 1148 | "--------------------------------------------\n", 1149 | "NamespaceMagics MetaHasTraits mespace.NamespaceMagics'>\n", 1150 | "get_ipython function \n", 1151 | "json module \\lib\\\\json\\\\__init__.py'>\n" 1152 | ] 1153 | } 1154 | ], 1155 | "source": [ 1156 | "# who보다 조금 더 상세한 내용을 보여주는 whos\n", 1157 | "%whos" 1158 | ] 1159 | }, 1160 | { 1161 | "cell_type": "code", 1162 | "execution_count": 7, 1163 | "metadata": {}, 1164 | "outputs": [ 1165 | { 1166 | "name": "stdout", 1167 | "output_type": "stream", 1168 | "text": [ 1169 | "Wall time: 4 ms\n" 1170 | ] 1171 | } 1172 | ], 1173 | "source": [ 1174 | "%time a = [i for i in range(100000)]" 1175 | ] 1176 | }, 1177 | { 1178 | "cell_type": "code", 1179 | "execution_count": 8, 1180 | "metadata": {}, 1181 | "outputs": [ 1182 | { 1183 | "name": "stdout", 1184 | "output_type": "stream", 1185 | "text": [ 1186 | "3.49 ms ± 69.3 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" 1187 | ] 1188 | } 1189 | ], 1190 | "source": [ 1191 | "%timeit a = [i for i in range(100000)]" 1192 | ] 1193 | }, 1194 | { 1195 | "cell_type": "markdown", 1196 | "metadata": {}, 1197 | "source": [ 1198 | "
" 1199 | ] 1200 | }, 1201 | { 1202 | "cell_type": "markdown", 1203 | "metadata": {}, 1204 | "source": [ 1205 | "# Jupyter 환경에서의 Debugging" 1206 | ] 1207 | }, 1208 | { 1209 | "cell_type": "markdown", 1210 | "metadata": {}, 1211 | "source": [ 1212 | "## %debug magic을 통해 에러 발생한 시점에서의 상태를 확인할 수 있음" 1213 | ] 1214 | }, 1215 | { 1216 | "cell_type": "markdown", 1217 | "metadata": {}, 1218 | "source": [ 1219 | "에러 발생한 script의 직전에 print문을 추가해서 원하는 상태를 확인하는 방법이 가장 전통적이나,
\n", 1220 | "%magic을 통해 간단하게 에러 발생 시점의 변수 상태등을 확인할 수 있음" 1221 | ] 1222 | }, 1223 | { 1224 | "cell_type": "code", 1225 | "execution_count": 37, 1226 | "metadata": {}, 1227 | "outputs": [ 1228 | { 1229 | "ename": "TypeError", 1230 | "evalue": "unsupported operand type(s) for +: 'int' and 'str'", 1231 | "output_type": "error", 1232 | "traceback": [ 1233 | "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", 1234 | "\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)", 1235 | "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[0mb\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;34m\"hello\"\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 3\u001b[0m \u001b[0mc\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0ma\u001b[0m \u001b[1;33m+\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 4\u001b[1;33m \u001b[0md\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0ma\u001b[0m \u001b[1;33m+\u001b[0m \u001b[0mb\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 5\u001b[0m \u001b[0me\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mb\u001b[0m\u001b[1;33m+\u001b[0m\u001b[1;34m\" world\"\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 1236 | "\u001b[1;31mTypeError\u001b[0m: unsupported operand type(s) for +: 'int' and 'str'" 1237 | ] 1238 | } 1239 | ], 1240 | "source": [ 1241 | "a = 1\n", 1242 | "b = \"hello\"\n", 1243 | "c = a + 1\n", 1244 | "d = a + b\n", 1245 | "e = b+\" world\"" 1246 | ] 1247 | }, 1248 | { 1249 | "cell_type": "code", 1250 | "execution_count": 40, 1251 | "metadata": {}, 1252 | "outputs": [ 1253 | { 1254 | "name": "stdout", 1255 | "output_type": "stream", 1256 | "text": [ 1257 | "> \u001b[1;32m\u001b[0m(4)\u001b[0;36m\u001b[1;34m()\u001b[0m\n", 1258 | "\u001b[1;32m 1 \u001b[1;33m\u001b[0ma\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 1259 | "\u001b[0m\u001b[1;32m 2 \u001b[1;33m\u001b[0mb\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;34m\"hello\"\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 1260 | "\u001b[0m\u001b[1;32m 3 \u001b[1;33m\u001b[0mc\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0ma\u001b[0m \u001b[1;33m+\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 1261 | "\u001b[0m\u001b[1;32m----> 4 \u001b[1;33m\u001b[0md\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0ma\u001b[0m \u001b[1;33m+\u001b[0m \u001b[0mb\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 1262 | "\u001b[0m\u001b[1;32m 5 \u001b[1;33m\u001b[0me\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mb\u001b[0m\u001b[1;33m+\u001b[0m\u001b[1;34m\" world\"\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 1263 | "\u001b[0m\n" 1264 | ] 1265 | }, 1266 | { 1267 | "name": "stdin", 1268 | "output_type": "stream", 1269 | "text": [ 1270 | "ipdb> help\n" 1271 | ] 1272 | }, 1273 | { 1274 | "name": "stdout", 1275 | "output_type": "stream", 1276 | "text": [ 1277 | "\n", 1278 | "Documented commands (type help ):\n", 1279 | "========================================\n", 1280 | "EOF cl disable interact next psource rv undisplay\n", 1281 | "a clear display j p q s unt \n", 1282 | "alias commands down jump pdef quit skip_hidden until \n", 1283 | "args condition enable l pdoc r source up \n", 1284 | "b cont exit list pfile restart step w \n", 1285 | "break continue h ll pinfo return tbreak whatis \n", 1286 | "bt d help longlist pinfo2 retval u where \n", 1287 | "c debug ignore n pp run unalias \n", 1288 | "\n", 1289 | "Miscellaneous help topics:\n", 1290 | "==========================\n", 1291 | "exec pdb\n", 1292 | "\n" 1293 | ] 1294 | }, 1295 | { 1296 | "name": "stdin", 1297 | "output_type": "stream", 1298 | "text": [ 1299 | "ipdb> exit\n" 1300 | ] 1301 | } 1302 | ], 1303 | "source": [ 1304 | "%debug" 1305 | ] 1306 | }, 1307 | { 1308 | "cell_type": "markdown", 1309 | "metadata": {}, 1310 | "source": [ 1311 | "## 에러가 발생하기 이전의 특정 시점에서 디버깅 환경으로 진입" 1312 | ] 1313 | }, 1314 | { 1315 | "cell_type": "markdown", 1316 | "metadata": {}, 1317 | "source": [ 1318 | "pdb 모듈의 set_trace() 함수를 call해서 debug 환경으로 진입. (NOTE: ipdb모듈은 pdb 모듈의 조금 업그레이드된 모듈)" 1319 | ] 1320 | }, 1321 | { 1322 | "cell_type": "code", 1323 | "execution_count": 11, 1324 | "metadata": {}, 1325 | "outputs": [], 1326 | "source": [ 1327 | "import pdb " 1328 | ] 1329 | }, 1330 | { 1331 | "cell_type": "code", 1332 | "execution_count": 12, 1333 | "metadata": {}, 1334 | "outputs": [ 1335 | { 1336 | "name": "stdout", 1337 | "output_type": "stream", 1338 | "text": [ 1339 | "--Return--\n", 1340 | "None\n", 1341 | "> \u001b[1;32m\u001b[0m(3)\u001b[0;36m\u001b[1;34m()\u001b[0m\n", 1342 | "\u001b[1;32m 1 \u001b[1;33m\u001b[0ma\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 1343 | "\u001b[0m\u001b[1;32m 2 \u001b[1;33m\u001b[0mb\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;34m\"hello\"\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 1344 | "\u001b[0m\u001b[1;32m----> 3 \u001b[1;33m\u001b[0mpdb\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mset_trace\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 1345 | "\u001b[0m\u001b[1;32m 4 \u001b[1;33m\u001b[0mc\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0ma\u001b[0m \u001b[1;33m+\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 1346 | "\u001b[0m\u001b[1;32m 5 \u001b[1;33m\u001b[0md\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0ma\u001b[0m \u001b[1;33m+\u001b[0m \u001b[0mb\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 1347 | "\u001b[0m\n" 1348 | ] 1349 | }, 1350 | { 1351 | "name": "stdin", 1352 | "output_type": "stream", 1353 | "text": [ 1354 | "ipdb> exit\n" 1355 | ] 1356 | }, 1357 | { 1358 | "ename": "BdbQuit", 1359 | "evalue": "", 1360 | "output_type": "error", 1361 | "traceback": [ 1362 | "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", 1363 | "\u001b[1;31mBdbQuit\u001b[0m Traceback (most recent call last)", 1364 | "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[0ma\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[0mb\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;34m\"hello\"\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 3\u001b[1;33m \u001b[0mpdb\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mset_trace\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 4\u001b[0m \u001b[0mc\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0ma\u001b[0m \u001b[1;33m+\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[0md\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0ma\u001b[0m \u001b[1;33m+\u001b[0m \u001b[0mb\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 1365 | "\u001b[1;32mC:\\ProgramData\\Anaconda3\\lib\\bdb.py\u001b[0m in \u001b[0;36mtrace_dispatch\u001b[1;34m(self, frame, event, arg)\u001b[0m\n\u001b[0;32m 90\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdispatch_call\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mframe\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0marg\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 91\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mevent\u001b[0m \u001b[1;33m==\u001b[0m \u001b[1;34m'return'\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 92\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdispatch_return\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mframe\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0marg\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 93\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mevent\u001b[0m \u001b[1;33m==\u001b[0m \u001b[1;34m'exception'\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 94\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdispatch_exception\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mframe\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0marg\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 1366 | "\u001b[1;32mC:\\ProgramData\\Anaconda3\\lib\\bdb.py\u001b[0m in \u001b[0;36mdispatch_return\u001b[1;34m(self, frame, arg)\u001b[0m\n\u001b[0;32m 152\u001b[0m \u001b[1;32mfinally\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 153\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mframe_returning\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 154\u001b[1;33m \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mquitting\u001b[0m\u001b[1;33m:\u001b[0m \u001b[1;32mraise\u001b[0m \u001b[0mBdbQuit\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 155\u001b[0m \u001b[1;31m# The user issued a 'next' or 'until' command.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 156\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mstopframe\u001b[0m \u001b[1;32mis\u001b[0m \u001b[0mframe\u001b[0m \u001b[1;32mand\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mstoplineno\u001b[0m \u001b[1;33m!=\u001b[0m \u001b[1;33m-\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 1367 | "\u001b[1;31mBdbQuit\u001b[0m: " 1368 | ] 1369 | } 1370 | ], 1371 | "source": [ 1372 | "a = 1\n", 1373 | "b = \"hello\"\n", 1374 | "pdb.set_trace()\n", 1375 | "c = a + 1\n", 1376 | "d = a + b\n", 1377 | "e = b+\" world\"" 1378 | ] 1379 | }, 1380 | { 1381 | "cell_type": "markdown", 1382 | "metadata": {}, 1383 | "source": [ 1384 | "
\n", 1385 | " Tip: jupyter extension인 jupyter lab debugger를 사용하면 좀 더 편리하게 debugging을 할 수 있으나
\n", 1386 | " 원하는 variable들을 inspect하는데 불편함이 있음. 더욱이, cPython kernel이 아닌 전용 kernel이 필요함. \n", 1387 | " \n", 1388 | "
" 1389 | ] 1390 | }, 1391 | { 1392 | "cell_type": "markdown", 1393 | "metadata": {}, 1394 | "source": [ 1395 | "
" 1396 | ] 1397 | }, 1398 | { 1399 | "cell_type": "markdown", 1400 | "metadata": {}, 1401 | "source": [ 1402 | "# 다중 프로젝트를 위한 Python 환경 추가" 1403 | ] 1404 | }, 1405 | { 1406 | "cell_type": "markdown", 1407 | "metadata": {}, 1408 | "source": [ 1409 | "데이터 분석 시에는 주제마다 새로운 module/package를 사용하게 되는데, module/package간의 dependency 문제가 발생 할 수 있음.
\n", 1410 | "중요한 프로젝트의 경우, 프로젝트 수행시에 사용할 환경을 별도로 두어 module/package의 충돌문제를 피할 수 있음" 1411 | ] 1412 | }, 1413 | { 1414 | "cell_type": "markdown", 1415 | "metadata": {}, 1416 | "source": [ 1417 | " 새로운 개발 환경 설정 " 1418 | ] 1419 | }, 1420 | { 1421 | "cell_type": "markdown", 1422 | "metadata": {}, 1423 | "source": [ 1424 | "1. Conda를 사용하는 방법\n", 1425 | "\n", 1426 | "
\n",
1427 |     "C:\\> conda create -n newenv\n",
1428 |     "    \n",
1429 |     "C:\\> activate newenv\n",
1430 |     "    \n",
1431 |     "(newenv) C:> deactivate\n",
1432 |     "    \n",
1433 |     "C:\\>\n",
1434 |     "
" 1435 | ] 1436 | }, 1437 | { 1438 | "cell_type": "markdown", 1439 | "metadata": {}, 1440 | "source": [ 1441 | "2. Virtualenv를 사용하는 방법\n", 1442 | "\n", 1443 | "
\n",
1444 |     "C:\\> conda install -c conda-forge virtualenv\n",
1445 |     "    # 또는 pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org virtualenv\n",
1446 |     "\n",
1447 |     "C:\\> virtualenv  newenv   # 새로운 가상 환경 생성\n",
1448 |     "    \n",
1449 |     "C:\\> .\\newenv\\Scripts\\activate\n",
1450 |     "\n",
1451 |     "(newenv) C:\\> .\\newenv\\Scripts\\deactivate\n",
1452 |     "    \n",
1453 |     "C:\\>\n",
1454 |     "\n",
1455 |     "
" 1456 | ] 1457 | }, 1458 | { 1459 | "cell_type": "markdown", 1460 | "metadata": {}, 1461 | "source": [ 1462 | "
\n", 1463 | "Tip: 두 가지 방식의 장단점은 없음. 다만, anaconda를 기본 환경으로 추천한 바 conda 사용을 개인적으로 추천\n", 1464 | "
" 1465 | ] 1466 | }, 1467 | { 1468 | "cell_type": "markdown", 1469 | "metadata": {}, 1470 | "source": [ 1471 | " 사용한 개발 환경을 저장하고, 다시 동일한 환경을 만드는 방법 " 1472 | ] 1473 | }, 1474 | { 1475 | "cell_type": "markdown", 1476 | "metadata": {}, 1477 | "source": [ 1478 | "1. conda를 사용하는 방법\n", 1479 | "\n", 1480 | "
\n",
1481 |     "conda env export > environment.yml\n",
1482 |     "\n",
1483 |     "conda env create -f environment.yml\n",
1484 |     "\n",
1485 |     "
" 1486 | ] 1487 | }, 1488 | { 1489 | "cell_type": "markdown", 1490 | "metadata": {}, 1491 | "source": [ 1492 | "2. pip를 이용하는 방법\n", 1493 | "\n", 1494 | "
\n",
1495 |     "pip freeze > requirements.txt\n",
1496 |     "\n",
1497 |     "pip install -f requirements.txt\n",
1498 |     "\n",
1499 |     "
" 1500 | ] 1501 | }, 1502 | { 1503 | "cell_type": "markdown", 1504 | "metadata": {}, 1505 | "source": [ 1506 | "# Q&A" 1507 | ] 1508 | }, 1509 | { 1510 | "cell_type": "markdown", 1511 | "metadata": {}, 1512 | "source": [ 1513 | "질문은 언제 어디서든지... 시간과 장소를 가리지 말고 합시다!" 1514 | ] 1515 | } 1516 | ], 1517 | "metadata": { 1518 | "kernelspec": { 1519 | "display_name": "Python 3", 1520 | "language": "python", 1521 | "name": "python3" 1522 | }, 1523 | "language_info": { 1524 | "codemirror_mode": { 1525 | "name": "ipython", 1526 | "version": 3 1527 | }, 1528 | "file_extension": ".py", 1529 | "mimetype": "text/x-python", 1530 | "name": "python", 1531 | "nbconvert_exporter": "python", 1532 | "pygments_lexer": "ipython3", 1533 | "version": "3.7.8" 1534 | }, 1535 | "toc-autonumbering": true 1536 | }, 1537 | "nbformat": 4, 1538 | "nbformat_minor": 4 1539 | } 1540 | -------------------------------------------------------------------------------- /License_character_recognition_weight.h5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sumyeon/python_analytics_atoz/6c5d375f1c32cb3eed48537ee84ffbe473bf75ec/License_character_recognition_weight.h5 -------------------------------------------------------------------------------- /MobileNets_character_recognition.json: -------------------------------------------------------------------------------- 1 | {"class_name": "Model", "config": {"name": "model_3", "layers": [{"name": "input_6", "class_name": "InputLayer", "config": {"batch_input_shape": [null, 80, 80, 3], "dtype": "float32", "sparse": false, "name": "input_6"}, "inbound_nodes": []}, {"name": "Conv1_pad", "class_name": "ZeroPadding2D", "config": {"name": "Conv1_pad", "trainable": true, "dtype": "float32", "padding": [[0, 1], [0, 1]], "data_format": "channels_last"}, "inbound_nodes": [[["input_6", 0, 0, {}]]]}, {"name": "Conv1", "class_name": "Conv2D", "config": {"name": "Conv1", "trainable": true, "dtype": "float32", "filters": 32, "kernel_size": [3, 3], "strides": [2, 2], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["Conv1_pad", 0, 0, {}]]]}, {"name": "bn_Conv1", "class_name": "BatchNormalization", "config": {"name": "bn_Conv1", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["Conv1", 0, 0, {}]]]}, {"name": "Conv1_relu", "class_name": "ReLU", "config": {"name": "Conv1_relu", "trainable": true, "dtype": "float32", "max_value": 6.0, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["bn_Conv1", 0, 0, {}]]]}, {"name": "expanded_conv_depthwise", "class_name": "DepthwiseConv2D", "config": {"name": "expanded_conv_depthwise", "trainable": true, "dtype": "float32", "kernel_size": [3, 3], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "depthwise_regularizer": null, "depthwise_constraint": null}, "inbound_nodes": [[["Conv1_relu", 0, 0, {}]]]}, {"name": "expanded_conv_depthwise_BN", "class_name": "BatchNormalization", "config": {"name": "expanded_conv_depthwise_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["expanded_conv_depthwise", 0, 0, {}]]]}, {"name": "expanded_conv_depthwise_relu", "class_name": "ReLU", "config": {"name": "expanded_conv_depthwise_relu", "trainable": true, "dtype": "float32", "max_value": 6.0, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["expanded_conv_depthwise_BN", 0, 0, {}]]]}, {"name": "expanded_conv_project", "class_name": "Conv2D", "config": {"name": "expanded_conv_project", "trainable": true, "dtype": "float32", "filters": 16, "kernel_size": [1, 1], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["expanded_conv_depthwise_relu", 0, 0, {}]]]}, {"name": "expanded_conv_project_BN", "class_name": "BatchNormalization", "config": {"name": "expanded_conv_project_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["expanded_conv_project", 0, 0, {}]]]}, {"name": "block_1_expand", "class_name": "Conv2D", "config": {"name": "block_1_expand", "trainable": true, "dtype": "float32", "filters": 96, "kernel_size": [1, 1], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["expanded_conv_project_BN", 0, 0, {}]]]}, {"name": "block_1_expand_BN", "class_name": "BatchNormalization", "config": {"name": "block_1_expand_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_1_expand", 0, 0, {}]]]}, {"name": "block_1_expand_relu", "class_name": "ReLU", "config": {"name": "block_1_expand_relu", "trainable": true, "dtype": "float32", "max_value": 6.0, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["block_1_expand_BN", 0, 0, {}]]]}, {"name": "block_1_pad", "class_name": "ZeroPadding2D", "config": {"name": "block_1_pad", "trainable": true, "dtype": "float32", "padding": [[0, 1], [0, 1]], "data_format": "channels_last"}, "inbound_nodes": [[["block_1_expand_relu", 0, 0, {}]]]}, {"name": "block_1_depthwise", "class_name": "DepthwiseConv2D", "config": {"name": "block_1_depthwise", "trainable": true, "dtype": "float32", "kernel_size": [3, 3], "strides": [2, 2], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "depthwise_regularizer": null, "depthwise_constraint": null}, "inbound_nodes": [[["block_1_pad", 0, 0, {}]]]}, {"name": "block_1_depthwise_BN", "class_name": "BatchNormalization", "config": {"name": "block_1_depthwise_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_1_depthwise", 0, 0, {}]]]}, {"name": "block_1_depthwise_relu", "class_name": "ReLU", "config": {"name": "block_1_depthwise_relu", "trainable": true, "dtype": "float32", "max_value": 6.0, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["block_1_depthwise_BN", 0, 0, {}]]]}, {"name": "block_1_project", "class_name": "Conv2D", "config": {"name": "block_1_project", "trainable": true, "dtype": "float32", "filters": 24, "kernel_size": [1, 1], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["block_1_depthwise_relu", 0, 0, {}]]]}, {"name": "block_1_project_BN", "class_name": "BatchNormalization", "config": {"name": "block_1_project_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_1_project", 0, 0, {}]]]}, {"name": "block_2_expand", "class_name": "Conv2D", "config": {"name": "block_2_expand", "trainable": true, "dtype": "float32", "filters": 144, "kernel_size": [1, 1], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["block_1_project_BN", 0, 0, {}]]]}, {"name": "block_2_expand_BN", "class_name": "BatchNormalization", "config": {"name": "block_2_expand_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_2_expand", 0, 0, {}]]]}, {"name": "block_2_expand_relu", "class_name": "ReLU", "config": {"name": "block_2_expand_relu", "trainable": true, "dtype": "float32", "max_value": 6.0, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["block_2_expand_BN", 0, 0, {}]]]}, {"name": "block_2_depthwise", "class_name": "DepthwiseConv2D", "config": {"name": "block_2_depthwise", "trainable": true, "dtype": "float32", "kernel_size": [3, 3], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "depthwise_regularizer": null, "depthwise_constraint": null}, "inbound_nodes": [[["block_2_expand_relu", 0, 0, {}]]]}, {"name": "block_2_depthwise_BN", "class_name": "BatchNormalization", "config": {"name": "block_2_depthwise_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_2_depthwise", 0, 0, {}]]]}, {"name": "block_2_depthwise_relu", "class_name": "ReLU", "config": {"name": "block_2_depthwise_relu", "trainable": true, "dtype": "float32", "max_value": 6.0, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["block_2_depthwise_BN", 0, 0, {}]]]}, {"name": "block_2_project", "class_name": "Conv2D", "config": {"name": "block_2_project", "trainable": true, "dtype": "float32", "filters": 24, "kernel_size": [1, 1], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["block_2_depthwise_relu", 0, 0, {}]]]}, {"name": "block_2_project_BN", "class_name": "BatchNormalization", "config": {"name": "block_2_project_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_2_project", 0, 0, {}]]]}, {"name": "block_2_add", "class_name": "Add", "config": {"name": "block_2_add", "trainable": true, "dtype": "float32"}, "inbound_nodes": [[["block_1_project_BN", 0, 0, {}], ["block_2_project_BN", 0, 0, {}]]]}, {"name": "block_3_expand", "class_name": "Conv2D", "config": {"name": "block_3_expand", "trainable": true, "dtype": "float32", "filters": 144, "kernel_size": [1, 1], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["block_2_add", 0, 0, {}]]]}, {"name": "block_3_expand_BN", "class_name": "BatchNormalization", "config": {"name": "block_3_expand_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_3_expand", 0, 0, {}]]]}, {"name": "block_3_expand_relu", "class_name": "ReLU", "config": {"name": "block_3_expand_relu", "trainable": true, "dtype": "float32", "max_value": 6.0, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["block_3_expand_BN", 0, 0, {}]]]}, {"name": "block_3_pad", "class_name": "ZeroPadding2D", "config": {"name": "block_3_pad", "trainable": true, "dtype": "float32", "padding": [[0, 1], [0, 1]], "data_format": "channels_last"}, "inbound_nodes": [[["block_3_expand_relu", 0, 0, {}]]]}, {"name": "block_3_depthwise", "class_name": "DepthwiseConv2D", "config": {"name": "block_3_depthwise", "trainable": true, "dtype": "float32", "kernel_size": [3, 3], "strides": [2, 2], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "depthwise_regularizer": null, "depthwise_constraint": null}, "inbound_nodes": [[["block_3_pad", 0, 0, {}]]]}, {"name": "block_3_depthwise_BN", "class_name": "BatchNormalization", "config": {"name": "block_3_depthwise_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_3_depthwise", 0, 0, {}]]]}, {"name": "block_3_depthwise_relu", "class_name": "ReLU", "config": {"name": "block_3_depthwise_relu", "trainable": true, "dtype": "float32", "max_value": 6.0, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["block_3_depthwise_BN", 0, 0, {}]]]}, {"name": "block_3_project", "class_name": "Conv2D", "config": {"name": "block_3_project", "trainable": true, "dtype": "float32", "filters": 32, "kernel_size": [1, 1], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["block_3_depthwise_relu", 0, 0, {}]]]}, {"name": "block_3_project_BN", "class_name": "BatchNormalization", "config": {"name": "block_3_project_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_3_project", 0, 0, {}]]]}, {"name": "block_4_expand", "class_name": "Conv2D", "config": {"name": "block_4_expand", "trainable": true, "dtype": "float32", "filters": 192, "kernel_size": [1, 1], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["block_3_project_BN", 0, 0, {}]]]}, {"name": "block_4_expand_BN", "class_name": "BatchNormalization", "config": {"name": "block_4_expand_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_4_expand", 0, 0, {}]]]}, {"name": "block_4_expand_relu", "class_name": "ReLU", "config": {"name": "block_4_expand_relu", "trainable": true, "dtype": "float32", "max_value": 6.0, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["block_4_expand_BN", 0, 0, {}]]]}, {"name": "block_4_depthwise", "class_name": "DepthwiseConv2D", "config": {"name": "block_4_depthwise", "trainable": true, "dtype": "float32", "kernel_size": [3, 3], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "depthwise_regularizer": null, "depthwise_constraint": null}, "inbound_nodes": [[["block_4_expand_relu", 0, 0, {}]]]}, {"name": "block_4_depthwise_BN", "class_name": "BatchNormalization", "config": {"name": "block_4_depthwise_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_4_depthwise", 0, 0, {}]]]}, {"name": "block_4_depthwise_relu", "class_name": "ReLU", "config": {"name": "block_4_depthwise_relu", "trainable": true, "dtype": "float32", "max_value": 6.0, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["block_4_depthwise_BN", 0, 0, {}]]]}, {"name": "block_4_project", "class_name": "Conv2D", "config": {"name": "block_4_project", "trainable": true, "dtype": "float32", "filters": 32, "kernel_size": [1, 1], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["block_4_depthwise_relu", 0, 0, {}]]]}, {"name": "block_4_project_BN", "class_name": "BatchNormalization", "config": {"name": "block_4_project_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_4_project", 0, 0, {}]]]}, {"name": "block_4_add", "class_name": "Add", "config": {"name": "block_4_add", "trainable": true, "dtype": "float32"}, "inbound_nodes": [[["block_3_project_BN", 0, 0, {}], ["block_4_project_BN", 0, 0, {}]]]}, {"name": "block_5_expand", "class_name": "Conv2D", "config": {"name": "block_5_expand", "trainable": true, "dtype": "float32", "filters": 192, "kernel_size": [1, 1], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["block_4_add", 0, 0, {}]]]}, {"name": "block_5_expand_BN", "class_name": "BatchNormalization", "config": {"name": "block_5_expand_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_5_expand", 0, 0, {}]]]}, {"name": "block_5_expand_relu", "class_name": "ReLU", "config": {"name": "block_5_expand_relu", "trainable": true, "dtype": "float32", "max_value": 6.0, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["block_5_expand_BN", 0, 0, {}]]]}, {"name": "block_5_depthwise", "class_name": "DepthwiseConv2D", "config": {"name": "block_5_depthwise", "trainable": true, "dtype": "float32", "kernel_size": [3, 3], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "depthwise_regularizer": null, "depthwise_constraint": null}, "inbound_nodes": [[["block_5_expand_relu", 0, 0, {}]]]}, {"name": "block_5_depthwise_BN", "class_name": "BatchNormalization", "config": {"name": "block_5_depthwise_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_5_depthwise", 0, 0, {}]]]}, {"name": "block_5_depthwise_relu", "class_name": "ReLU", "config": {"name": "block_5_depthwise_relu", "trainable": true, "dtype": "float32", "max_value": 6.0, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["block_5_depthwise_BN", 0, 0, {}]]]}, {"name": "block_5_project", "class_name": "Conv2D", "config": {"name": "block_5_project", "trainable": true, "dtype": "float32", "filters": 32, "kernel_size": [1, 1], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["block_5_depthwise_relu", 0, 0, {}]]]}, {"name": "block_5_project_BN", "class_name": "BatchNormalization", "config": {"name": "block_5_project_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_5_project", 0, 0, {}]]]}, {"name": "block_5_add", "class_name": "Add", "config": {"name": "block_5_add", "trainable": true, "dtype": "float32"}, "inbound_nodes": [[["block_4_add", 0, 0, {}], ["block_5_project_BN", 0, 0, {}]]]}, {"name": "block_6_expand", "class_name": "Conv2D", "config": {"name": "block_6_expand", "trainable": true, "dtype": "float32", "filters": 192, "kernel_size": [1, 1], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["block_5_add", 0, 0, {}]]]}, {"name": "block_6_expand_BN", "class_name": "BatchNormalization", "config": {"name": "block_6_expand_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_6_expand", 0, 0, {}]]]}, {"name": "block_6_expand_relu", "class_name": "ReLU", "config": {"name": "block_6_expand_relu", "trainable": true, "dtype": "float32", "max_value": 6.0, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["block_6_expand_BN", 0, 0, {}]]]}, {"name": "block_6_pad", "class_name": "ZeroPadding2D", "config": {"name": "block_6_pad", "trainable": true, "dtype": "float32", "padding": [[0, 1], [0, 1]], "data_format": "channels_last"}, "inbound_nodes": [[["block_6_expand_relu", 0, 0, {}]]]}, {"name": "block_6_depthwise", "class_name": "DepthwiseConv2D", "config": {"name": "block_6_depthwise", "trainable": true, "dtype": "float32", "kernel_size": [3, 3], "strides": [2, 2], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "depthwise_regularizer": null, "depthwise_constraint": null}, "inbound_nodes": [[["block_6_pad", 0, 0, {}]]]}, {"name": "block_6_depthwise_BN", "class_name": "BatchNormalization", "config": {"name": "block_6_depthwise_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_6_depthwise", 0, 0, {}]]]}, {"name": "block_6_depthwise_relu", "class_name": "ReLU", "config": {"name": "block_6_depthwise_relu", "trainable": true, "dtype": "float32", "max_value": 6.0, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["block_6_depthwise_BN", 0, 0, {}]]]}, {"name": "block_6_project", "class_name": "Conv2D", "config": {"name": "block_6_project", "trainable": true, "dtype": "float32", "filters": 64, "kernel_size": [1, 1], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["block_6_depthwise_relu", 0, 0, {}]]]}, {"name": "block_6_project_BN", "class_name": "BatchNormalization", "config": {"name": "block_6_project_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_6_project", 0, 0, {}]]]}, {"name": "block_7_expand", "class_name": "Conv2D", "config": {"name": "block_7_expand", "trainable": true, "dtype": "float32", "filters": 384, "kernel_size": [1, 1], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["block_6_project_BN", 0, 0, {}]]]}, {"name": "block_7_expand_BN", "class_name": "BatchNormalization", "config": {"name": "block_7_expand_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_7_expand", 0, 0, {}]]]}, {"name": "block_7_expand_relu", "class_name": "ReLU", "config": {"name": "block_7_expand_relu", "trainable": true, "dtype": "float32", "max_value": 6.0, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["block_7_expand_BN", 0, 0, {}]]]}, {"name": "block_7_depthwise", "class_name": "DepthwiseConv2D", "config": {"name": "block_7_depthwise", "trainable": true, "dtype": "float32", "kernel_size": [3, 3], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "depthwise_regularizer": null, "depthwise_constraint": null}, "inbound_nodes": [[["block_7_expand_relu", 0, 0, {}]]]}, {"name": "block_7_depthwise_BN", "class_name": "BatchNormalization", "config": {"name": "block_7_depthwise_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_7_depthwise", 0, 0, {}]]]}, {"name": "block_7_depthwise_relu", "class_name": "ReLU", "config": {"name": "block_7_depthwise_relu", "trainable": true, "dtype": "float32", "max_value": 6.0, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["block_7_depthwise_BN", 0, 0, {}]]]}, {"name": "block_7_project", "class_name": "Conv2D", "config": {"name": "block_7_project", "trainable": true, "dtype": "float32", "filters": 64, "kernel_size": [1, 1], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["block_7_depthwise_relu", 0, 0, {}]]]}, {"name": "block_7_project_BN", "class_name": "BatchNormalization", "config": {"name": "block_7_project_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_7_project", 0, 0, {}]]]}, {"name": "block_7_add", "class_name": "Add", "config": {"name": "block_7_add", "trainable": true, "dtype": "float32"}, "inbound_nodes": [[["block_6_project_BN", 0, 0, {}], ["block_7_project_BN", 0, 0, {}]]]}, {"name": "block_8_expand", "class_name": "Conv2D", "config": {"name": "block_8_expand", "trainable": true, "dtype": "float32", "filters": 384, "kernel_size": [1, 1], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["block_7_add", 0, 0, {}]]]}, {"name": "block_8_expand_BN", "class_name": "BatchNormalization", "config": {"name": "block_8_expand_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_8_expand", 0, 0, {}]]]}, {"name": "block_8_expand_relu", "class_name": "ReLU", "config": {"name": "block_8_expand_relu", "trainable": true, "dtype": "float32", "max_value": 6.0, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["block_8_expand_BN", 0, 0, {}]]]}, {"name": "block_8_depthwise", "class_name": "DepthwiseConv2D", "config": {"name": "block_8_depthwise", "trainable": true, "dtype": "float32", "kernel_size": [3, 3], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "depthwise_regularizer": null, "depthwise_constraint": null}, "inbound_nodes": [[["block_8_expand_relu", 0, 0, {}]]]}, {"name": "block_8_depthwise_BN", "class_name": "BatchNormalization", "config": {"name": "block_8_depthwise_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_8_depthwise", 0, 0, {}]]]}, {"name": "block_8_depthwise_relu", "class_name": "ReLU", "config": {"name": "block_8_depthwise_relu", "trainable": true, "dtype": "float32", "max_value": 6.0, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["block_8_depthwise_BN", 0, 0, {}]]]}, {"name": "block_8_project", "class_name": "Conv2D", "config": {"name": "block_8_project", "trainable": true, "dtype": "float32", "filters": 64, "kernel_size": [1, 1], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["block_8_depthwise_relu", 0, 0, {}]]]}, {"name": "block_8_project_BN", "class_name": "BatchNormalization", "config": {"name": "block_8_project_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_8_project", 0, 0, {}]]]}, {"name": "block_8_add", "class_name": "Add", "config": {"name": "block_8_add", "trainable": true, "dtype": "float32"}, "inbound_nodes": [[["block_7_add", 0, 0, {}], ["block_8_project_BN", 0, 0, {}]]]}, {"name": "block_9_expand", "class_name": "Conv2D", "config": {"name": "block_9_expand", "trainable": true, "dtype": "float32", "filters": 384, "kernel_size": [1, 1], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["block_8_add", 0, 0, {}]]]}, {"name": "block_9_expand_BN", "class_name": "BatchNormalization", "config": {"name": "block_9_expand_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_9_expand", 0, 0, {}]]]}, {"name": "block_9_expand_relu", "class_name": "ReLU", "config": {"name": "block_9_expand_relu", "trainable": true, "dtype": "float32", "max_value": 6.0, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["block_9_expand_BN", 0, 0, {}]]]}, {"name": "block_9_depthwise", "class_name": "DepthwiseConv2D", "config": {"name": "block_9_depthwise", "trainable": true, "dtype": "float32", "kernel_size": [3, 3], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "depthwise_regularizer": null, "depthwise_constraint": null}, "inbound_nodes": [[["block_9_expand_relu", 0, 0, {}]]]}, {"name": "block_9_depthwise_BN", "class_name": "BatchNormalization", "config": {"name": "block_9_depthwise_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_9_depthwise", 0, 0, {}]]]}, {"name": "block_9_depthwise_relu", "class_name": "ReLU", "config": {"name": "block_9_depthwise_relu", "trainable": true, "dtype": "float32", "max_value": 6.0, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["block_9_depthwise_BN", 0, 0, {}]]]}, {"name": "block_9_project", "class_name": "Conv2D", "config": {"name": "block_9_project", "trainable": true, "dtype": "float32", "filters": 64, "kernel_size": [1, 1], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["block_9_depthwise_relu", 0, 0, {}]]]}, {"name": "block_9_project_BN", "class_name": "BatchNormalization", "config": {"name": "block_9_project_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_9_project", 0, 0, {}]]]}, {"name": "block_9_add", "class_name": "Add", "config": {"name": "block_9_add", "trainable": true, "dtype": "float32"}, "inbound_nodes": [[["block_8_add", 0, 0, {}], ["block_9_project_BN", 0, 0, {}]]]}, {"name": "block_10_expand", "class_name": "Conv2D", "config": {"name": "block_10_expand", "trainable": true, "dtype": "float32", "filters": 384, "kernel_size": [1, 1], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["block_9_add", 0, 0, {}]]]}, {"name": "block_10_expand_BN", "class_name": "BatchNormalization", "config": {"name": "block_10_expand_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_10_expand", 0, 0, {}]]]}, {"name": "block_10_expand_relu", "class_name": "ReLU", "config": {"name": "block_10_expand_relu", "trainable": true, "dtype": "float32", "max_value": 6.0, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["block_10_expand_BN", 0, 0, {}]]]}, {"name": "block_10_depthwise", "class_name": "DepthwiseConv2D", "config": {"name": "block_10_depthwise", "trainable": true, "dtype": "float32", "kernel_size": [3, 3], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "depthwise_regularizer": null, "depthwise_constraint": null}, "inbound_nodes": [[["block_10_expand_relu", 0, 0, {}]]]}, {"name": "block_10_depthwise_BN", "class_name": "BatchNormalization", "config": {"name": "block_10_depthwise_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_10_depthwise", 0, 0, {}]]]}, {"name": "block_10_depthwise_relu", "class_name": "ReLU", "config": {"name": "block_10_depthwise_relu", "trainable": true, "dtype": "float32", "max_value": 6.0, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["block_10_depthwise_BN", 0, 0, {}]]]}, {"name": "block_10_project", "class_name": "Conv2D", "config": {"name": "block_10_project", "trainable": true, "dtype": "float32", "filters": 96, "kernel_size": [1, 1], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["block_10_depthwise_relu", 0, 0, {}]]]}, {"name": "block_10_project_BN", "class_name": "BatchNormalization", "config": {"name": "block_10_project_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_10_project", 0, 0, {}]]]}, {"name": "block_11_expand", "class_name": "Conv2D", "config": {"name": "block_11_expand", "trainable": true, "dtype": "float32", "filters": 576, "kernel_size": [1, 1], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["block_10_project_BN", 0, 0, {}]]]}, {"name": "block_11_expand_BN", "class_name": "BatchNormalization", "config": {"name": "block_11_expand_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_11_expand", 0, 0, {}]]]}, {"name": "block_11_expand_relu", "class_name": "ReLU", "config": {"name": "block_11_expand_relu", "trainable": true, "dtype": "float32", "max_value": 6.0, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["block_11_expand_BN", 0, 0, {}]]]}, {"name": "block_11_depthwise", "class_name": "DepthwiseConv2D", "config": {"name": "block_11_depthwise", "trainable": true, "dtype": "float32", "kernel_size": [3, 3], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "depthwise_regularizer": null, "depthwise_constraint": null}, "inbound_nodes": [[["block_11_expand_relu", 0, 0, {}]]]}, {"name": "block_11_depthwise_BN", "class_name": "BatchNormalization", "config": {"name": "block_11_depthwise_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_11_depthwise", 0, 0, {}]]]}, {"name": "block_11_depthwise_relu", "class_name": "ReLU", "config": {"name": "block_11_depthwise_relu", "trainable": true, "dtype": "float32", "max_value": 6.0, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["block_11_depthwise_BN", 0, 0, {}]]]}, {"name": "block_11_project", "class_name": "Conv2D", "config": {"name": "block_11_project", "trainable": true, "dtype": "float32", "filters": 96, "kernel_size": [1, 1], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["block_11_depthwise_relu", 0, 0, {}]]]}, {"name": "block_11_project_BN", "class_name": "BatchNormalization", "config": {"name": "block_11_project_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_11_project", 0, 0, {}]]]}, {"name": "block_11_add", "class_name": "Add", "config": {"name": "block_11_add", "trainable": true, "dtype": "float32"}, "inbound_nodes": [[["block_10_project_BN", 0, 0, {}], ["block_11_project_BN", 0, 0, {}]]]}, {"name": "block_12_expand", "class_name": "Conv2D", "config": {"name": "block_12_expand", "trainable": true, "dtype": "float32", "filters": 576, "kernel_size": [1, 1], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["block_11_add", 0, 0, {}]]]}, {"name": "block_12_expand_BN", "class_name": "BatchNormalization", "config": {"name": "block_12_expand_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_12_expand", 0, 0, {}]]]}, {"name": "block_12_expand_relu", "class_name": "ReLU", "config": {"name": "block_12_expand_relu", "trainable": true, "dtype": "float32", "max_value": 6.0, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["block_12_expand_BN", 0, 0, {}]]]}, {"name": "block_12_depthwise", "class_name": "DepthwiseConv2D", "config": {"name": "block_12_depthwise", "trainable": true, "dtype": "float32", "kernel_size": [3, 3], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "depthwise_regularizer": null, "depthwise_constraint": null}, "inbound_nodes": [[["block_12_expand_relu", 0, 0, {}]]]}, {"name": "block_12_depthwise_BN", "class_name": "BatchNormalization", "config": {"name": "block_12_depthwise_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_12_depthwise", 0, 0, {}]]]}, {"name": "block_12_depthwise_relu", "class_name": "ReLU", "config": {"name": "block_12_depthwise_relu", "trainable": true, "dtype": "float32", "max_value": 6.0, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["block_12_depthwise_BN", 0, 0, {}]]]}, {"name": "block_12_project", "class_name": "Conv2D", "config": {"name": "block_12_project", "trainable": true, "dtype": "float32", "filters": 96, "kernel_size": [1, 1], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["block_12_depthwise_relu", 0, 0, {}]]]}, {"name": "block_12_project_BN", "class_name": "BatchNormalization", "config": {"name": "block_12_project_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_12_project", 0, 0, {}]]]}, {"name": "block_12_add", "class_name": "Add", "config": {"name": "block_12_add", "trainable": true, "dtype": "float32"}, "inbound_nodes": [[["block_11_add", 0, 0, {}], ["block_12_project_BN", 0, 0, {}]]]}, {"name": "block_13_expand", "class_name": "Conv2D", "config": {"name": "block_13_expand", "trainable": true, "dtype": "float32", "filters": 576, "kernel_size": [1, 1], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["block_12_add", 0, 0, {}]]]}, {"name": "block_13_expand_BN", "class_name": "BatchNormalization", "config": {"name": "block_13_expand_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_13_expand", 0, 0, {}]]]}, {"name": "block_13_expand_relu", "class_name": "ReLU", "config": {"name": "block_13_expand_relu", "trainable": true, "dtype": "float32", "max_value": 6.0, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["block_13_expand_BN", 0, 0, {}]]]}, {"name": "block_13_pad", "class_name": "ZeroPadding2D", "config": {"name": "block_13_pad", "trainable": true, "dtype": "float32", "padding": [[1, 1], [1, 1]], "data_format": "channels_last"}, "inbound_nodes": [[["block_13_expand_relu", 0, 0, {}]]]}, {"name": "block_13_depthwise", "class_name": "DepthwiseConv2D", "config": {"name": "block_13_depthwise", "trainable": true, "dtype": "float32", "kernel_size": [3, 3], "strides": [2, 2], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "depthwise_regularizer": null, "depthwise_constraint": null}, "inbound_nodes": [[["block_13_pad", 0, 0, {}]]]}, {"name": "block_13_depthwise_BN", "class_name": "BatchNormalization", "config": {"name": "block_13_depthwise_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_13_depthwise", 0, 0, {}]]]}, {"name": "block_13_depthwise_relu", "class_name": "ReLU", "config": {"name": "block_13_depthwise_relu", "trainable": true, "dtype": "float32", "max_value": 6.0, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["block_13_depthwise_BN", 0, 0, {}]]]}, {"name": "block_13_project", "class_name": "Conv2D", "config": {"name": "block_13_project", "trainable": true, "dtype": "float32", "filters": 160, "kernel_size": [1, 1], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["block_13_depthwise_relu", 0, 0, {}]]]}, {"name": "block_13_project_BN", "class_name": "BatchNormalization", "config": {"name": "block_13_project_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_13_project", 0, 0, {}]]]}, {"name": "block_14_expand", "class_name": "Conv2D", "config": {"name": "block_14_expand", "trainable": true, "dtype": "float32", "filters": 960, "kernel_size": [1, 1], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["block_13_project_BN", 0, 0, {}]]]}, {"name": "block_14_expand_BN", "class_name": "BatchNormalization", "config": {"name": "block_14_expand_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_14_expand", 0, 0, {}]]]}, {"name": "block_14_expand_relu", "class_name": "ReLU", "config": {"name": "block_14_expand_relu", "trainable": true, "dtype": "float32", "max_value": 6.0, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["block_14_expand_BN", 0, 0, {}]]]}, {"name": "block_14_depthwise", "class_name": "DepthwiseConv2D", "config": {"name": "block_14_depthwise", "trainable": true, "dtype": "float32", "kernel_size": [3, 3], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "depthwise_regularizer": null, "depthwise_constraint": null}, "inbound_nodes": [[["block_14_expand_relu", 0, 0, {}]]]}, {"name": "block_14_depthwise_BN", "class_name": "BatchNormalization", "config": {"name": "block_14_depthwise_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_14_depthwise", 0, 0, {}]]]}, {"name": "block_14_depthwise_relu", "class_name": "ReLU", "config": {"name": "block_14_depthwise_relu", "trainable": true, "dtype": "float32", "max_value": 6.0, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["block_14_depthwise_BN", 0, 0, {}]]]}, {"name": "block_14_project", "class_name": "Conv2D", "config": {"name": "block_14_project", "trainable": true, "dtype": "float32", "filters": 160, "kernel_size": [1, 1], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["block_14_depthwise_relu", 0, 0, {}]]]}, {"name": "block_14_project_BN", "class_name": "BatchNormalization", "config": {"name": "block_14_project_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_14_project", 0, 0, {}]]]}, {"name": "block_14_add", "class_name": "Add", "config": {"name": "block_14_add", "trainable": true, "dtype": "float32"}, "inbound_nodes": [[["block_13_project_BN", 0, 0, {}], ["block_14_project_BN", 0, 0, {}]]]}, {"name": "block_15_expand", "class_name": "Conv2D", "config": {"name": "block_15_expand", "trainable": true, "dtype": "float32", "filters": 960, "kernel_size": [1, 1], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["block_14_add", 0, 0, {}]]]}, {"name": "block_15_expand_BN", "class_name": "BatchNormalization", "config": {"name": "block_15_expand_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_15_expand", 0, 0, {}]]]}, {"name": "block_15_expand_relu", "class_name": "ReLU", "config": {"name": "block_15_expand_relu", "trainable": true, "dtype": "float32", "max_value": 6.0, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["block_15_expand_BN", 0, 0, {}]]]}, {"name": "block_15_depthwise", "class_name": "DepthwiseConv2D", "config": {"name": "block_15_depthwise", "trainable": true, "dtype": "float32", "kernel_size": [3, 3], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "depthwise_regularizer": null, "depthwise_constraint": null}, "inbound_nodes": [[["block_15_expand_relu", 0, 0, {}]]]}, {"name": "block_15_depthwise_BN", "class_name": "BatchNormalization", "config": {"name": "block_15_depthwise_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_15_depthwise", 0, 0, {}]]]}, {"name": "block_15_depthwise_relu", "class_name": "ReLU", "config": {"name": "block_15_depthwise_relu", "trainable": true, "dtype": "float32", "max_value": 6.0, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["block_15_depthwise_BN", 0, 0, {}]]]}, {"name": "block_15_project", "class_name": "Conv2D", "config": {"name": "block_15_project", "trainable": true, "dtype": "float32", "filters": 160, "kernel_size": [1, 1], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["block_15_depthwise_relu", 0, 0, {}]]]}, {"name": "block_15_project_BN", "class_name": "BatchNormalization", "config": {"name": "block_15_project_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_15_project", 0, 0, {}]]]}, {"name": "block_15_add", "class_name": "Add", "config": {"name": "block_15_add", "trainable": true, "dtype": "float32"}, "inbound_nodes": [[["block_14_add", 0, 0, {}], ["block_15_project_BN", 0, 0, {}]]]}, {"name": "block_16_expand", "class_name": "Conv2D", "config": {"name": "block_16_expand", "trainable": true, "dtype": "float32", "filters": 960, "kernel_size": [1, 1], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["block_15_add", 0, 0, {}]]]}, {"name": "block_16_expand_BN", "class_name": "BatchNormalization", "config": {"name": "block_16_expand_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_16_expand", 0, 0, {}]]]}, {"name": "block_16_expand_relu", "class_name": "ReLU", "config": {"name": "block_16_expand_relu", "trainable": true, "dtype": "float32", "max_value": 6.0, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["block_16_expand_BN", 0, 0, {}]]]}, {"name": "block_16_depthwise", "class_name": "DepthwiseConv2D", "config": {"name": "block_16_depthwise", "trainable": true, "dtype": "float32", "kernel_size": [3, 3], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "depthwise_regularizer": null, "depthwise_constraint": null}, "inbound_nodes": [[["block_16_expand_relu", 0, 0, {}]]]}, {"name": "block_16_depthwise_BN", "class_name": "BatchNormalization", "config": {"name": "block_16_depthwise_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_16_depthwise", 0, 0, {}]]]}, {"name": "block_16_depthwise_relu", "class_name": "ReLU", "config": {"name": "block_16_depthwise_relu", "trainable": true, "dtype": "float32", "max_value": 6.0, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["block_16_depthwise_BN", 0, 0, {}]]]}, {"name": "block_16_project", "class_name": "Conv2D", "config": {"name": "block_16_project", "trainable": true, "dtype": "float32", "filters": 320, "kernel_size": [1, 1], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["block_16_depthwise_relu", 0, 0, {}]]]}, {"name": "block_16_project_BN", "class_name": "BatchNormalization", "config": {"name": "block_16_project_BN", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["block_16_project", 0, 0, {}]]]}, {"name": "Conv_1", "class_name": "Conv2D", "config": {"name": "Conv_1", "trainable": true, "dtype": "float32", "filters": 1280, "kernel_size": [1, 1], "strides": [1, 1], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["block_16_project_BN", 0, 0, {}]]]}, {"name": "Conv_1_bn", "class_name": "BatchNormalization", "config": {"name": "Conv_1_bn", "trainable": true, "dtype": "float32", "axis": -1, "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["Conv_1", 0, 0, {}]]]}, {"name": "out_relu", "class_name": "ReLU", "config": {"name": "out_relu", "trainable": true, "dtype": "float32", "max_value": 6.0, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["Conv_1_bn", 0, 0, {}]]]}, {"name": "average_pooling2d_6", "class_name": "AveragePooling2D", "config": {"name": "average_pooling2d_6", "trainable": true, "dtype": "float32", "pool_size": [3, 3], "padding": "valid", "strides": [3, 3], "data_format": "channels_last"}, "inbound_nodes": [[["out_relu", 0, 0, {}]]]}, {"name": "flatten", "class_name": "Flatten", "config": {"name": "flatten", "trainable": true, "dtype": "float32", "data_format": "channels_last"}, "inbound_nodes": [[["average_pooling2d_6", 0, 0, {}]]]}, {"name": "dense_5", "class_name": "Dense", "config": {"name": "dense_5", "trainable": true, "dtype": "float32", "units": 128, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["flatten", 0, 0, {}]]]}, {"name": "dropout_3", "class_name": "Dropout", "config": {"name": "dropout_3", "trainable": true, "dtype": "float32", "rate": 0.5, "noise_shape": null, "seed": null}, "inbound_nodes": [[["dense_5", 0, 0, {}]]]}, {"name": "dense_6", "class_name": "Dense", "config": {"name": "dense_6", "trainable": true, "dtype": "float32", "units": 36, "activation": "softmax", "use_bias": true, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["dropout_3", 0, 0, {}]]]}], "input_layers": [["input_6", 0, 0]], "output_layers": [["dense_6", 0, 0]]}, "keras_version": "2.3.1", "backend": "tensorflow"} -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # python_analytics_atoz 2 | 3 | Introductory Notebooks for Data Analytics using Python/Pandas/Other libraries. 4 | There are nine sessions after studying you can understand/use python-based data analytics. 5 | Please note that there are some korean - my mother tongue - descriptions included. 6 | 7 | To open the notebook, you need to setup your own Jupyter environment. 8 | The easiest and suggested way is installing Anacona pacakge. 9 | Please refer the anaconda web page (https://docs.anaconda.com/anaconda/install/) and 10 | install the package and start a jupyter environment - jupyter notebook or jupyter lab. 11 | 12 | After then, you can download (or clone) this Github into your local machine. 13 | If you know how to use Git, then please clone this project to your Jupyter ntoebook directory. 14 | Otherwise, download this project as a zip file, and deflate the file into your Jupyter notebook directory. 15 | (Note that you need to understand the meaning of Jupyter notebook directory.) 16 | 17 | Below are the topics for 10 sessions. 18 | (NOTE that 8th session on which no materias are included here) 19 | 20 | 1. Jupyter basic + Python Basic 21 | 2. Pandas Basic (+ tip: Folium) 22 | 3. Advanced Pandas (+ tip: pandas_profiling) 23 | 4. Python Modules : frequently used modules 24 | 5. Natual Language analysis : POS, Similarity, Sentiment Analysis, Vectorization, Document Clustering 25 | NOTE: The content is mainly for Korean language. 26 | 6. Time-Series analysis (Stock Trend) - Basic 27 | Korea Stock Data Acquisiation, Regression, Stock Trend Prediction 28 | 7. Time-Series analysis (Stock Trend) - Advanced 29 | ARIMA prediction, (Stock) Technical Analysis Library, Linear Regression 30 | 8. ( Machine Learning : no materials here) 31 | 9. Machien Learning Example : Vehicle License Plate Recognition 32 | show an example ML project 33 | 10.Wraup : summary on what we have discussed, and relevant websites for further study 34 | 35 | Any questions or comment, please send it to sumyoen@gmail.com 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /etfitemdata.csv: -------------------------------------------------------------------------------- 1 | 대분류 중분료 업종명 종목명 종목코드 2 | 주식(ETF) 유가 KOSPI KODEX 200 '069500 3 | 주식(ETF) 유가 KOSPI TIGER 200 '102110 4 | 주식(ETF) 유가 KOSPI KODEX 레버리지 '122630 5 | 주식(ETF) 유가 KOSPI KODEX 단기채권 '153130 6 | 주식(ETF) 유가 KOSPI KODEX 삼성그룹 '102780 7 | 주식(ETF) 유가 KOSPI KINDEX200 '105190 8 | 주식(ETF) 유가 KOSPI 파워 K200 '152870 9 | 주식(ETF) 유가 KOSPI KODEX 인버스 '114800 10 | 주식(ETF) 유가 KOSPI TIGER 유동자금 '157450 11 | 주식(ETF) 유가 KOSPI KOSEF 200 '069660 12 | 주식(ETF) 유가 KOSPI ARIRANG 200 '152100 13 | 주식(ETF) 유가 KOSPI KStar 200 '148020 14 | 주식(ETF) 유가 KOSPI KStar 국고채 '114100 15 | 주식(ETF) 유가 KOSPI KOSEF 국고채 '114470 16 | 주식(ETF) 유가 KOSPI ARIRANG 단기유동성 '190160 17 | 주식(ETF) 유가 KOSPI KINDEX 삼성그룹SW '108450 18 | 주식(ETF) 유가 KOSPI 파워 국고채 ETF '176710 19 | 주식(ETF) 유가 KOSPI KOSEF 단기자금 '130730 20 | 주식(ETF) 유가 KOSPI 파워 K100 '140950 21 | 주식(ETF) 유가 KOSPI ARIRANG 바벨 채권 '190150 22 | 주식(ETF) 유가 KOSPI TIGER 반도체 '091230 23 | 주식(ETF) 유가 KOSPI KOSEF 통안채 '122260 24 | 주식(ETF) 유가 KOSPI TIGER 레버리지 '123320 25 | 주식(ETF) 유가 KOSPI KODEX CHINA A50 '169950 26 | 주식(ETF) 유가 KOSPI KStar 단기통안채 '196230 27 | 주식(ETF) 유가 KOSPI TIGER 국채3 '114820 28 | 주식(ETF) 유가 KOSPI KINDEX 중국본토CSI300 '168580 29 | 주식(ETF) 유가 KOSPI TIGER 중국소비테마 '150460 30 | 주식(ETF) 유가 KOSPI TIGER 차이나A300 '192090 31 | 주식(ETF) 유가 KOSPI KINDEX 단기자금 '190620 32 | 주식(ETF) 유가 KOSPI TREX 200 '108590 33 | 주식(ETF) 유가 KOSPI TIGER IT '139260 34 | 주식(ETF) 유가 KOSPI ARIRANG 배당주 '161510 35 | 주식(ETF) 유가 KOSPI TIGER KRX100 '091210 36 | 주식(ETF) 유가 KOSPI KODEX China H '099140 37 | 주식(ETF) 유가 KOSPI KStar 우량회사채 '136340 38 | 주식(ETF) 유가 KOSPI KStar 5대그룹주 '105780 39 | 주식(ETF) 유가 KOSPI KOSEF 10년국고채 '148070 40 | 주식(ETF) 유가 KOSPI KODEX 국고채 '114260 41 | 주식(ETF) 유가 KOSPI TIGER 로우볼 '174350 42 | 주식(ETF) 유가 KOSPI KOSEF 고배당 '104530 43 | 주식(ETF) 유가 KOSPI KODEX 골드선물(H) '132030 44 | 주식(ETF) 유가 KOSPI TIGER 코스닥프리미어 '122390 45 | 주식(ETF) 유가 KOSPI 마이다스 커버드콜 '137930 46 | 주식(ETF) 유가 KOSPI KINDEX 밸류대형 '143460 47 | 주식(ETF) 유가 KOSPI TIGER 삼성그룹 '138520 48 | 주식(ETF) 유가 KOSPI TIGER 베타플러스 '170350 49 | 주식(ETF) 유가 KOSPI iKon 100 '153270 50 | 주식(ETF) 유가 KOSPI TIGER 합성-일본(H) '195920 51 | 주식(ETF) 유가 KOSPI TIGER 합성-유로스탁스50(H) '195930 52 | 주식(ETF) 유가 KOSPI TIGER 합성-단기선진하이일드(H) '182490 53 | 주식(ETF) 유가 KOSPI KODEX 은행 '091170 54 | 주식(ETF) 유가 KOSPI KOSEF KRX100 '100910 55 | 주식(ETF) 유가 KOSPI ARIRANG K100EW '141240 56 | 주식(ETF) 유가 KOSPI TIGER 은행 '091220 57 | 주식(ETF) 유가 KOSPI 마이티 K100 '159800 58 | 주식(ETF) 유가 KOSPI KStar 중국본토 CSI100 '174360 59 | 주식(ETF) 유가 KOSPI 파워고배당저변동성 '192720 60 | 주식(ETF) 유가 KOSPI GIANT 현대차그룹 '107560 61 | 주식(ETF) 유가 KOSPI KODEX 합성-미국바이오 '185680 62 | 주식(ETF) 유가 KOSPI KStar 레버리지 '123760 63 | 주식(ETF) 유가 KOSPI TIGER S&P500선물(H) '143850 64 | 주식(ETF) 유가 KOSPI ARIRANG 합성-신흥국(H) '195980 65 | 주식(ETF) 유가 KOSPI KOSEF 달러선물 '138230 66 | 주식(ETF) 유가 KOSPI TIGER 경기민감 '139290 67 | 주식(ETF) 유가 KOSPI ARIRANG 합성-선진국(H) '195970 68 | 주식(ETF) 유가 KOSPI KINDEX 일본레버리지(H) '196030 69 | 주식(ETF) 유가 KOSPI KStar 일본레버리지(H) '196220 70 | 주식(ETF) 유가 KOSPI KODEX 자동차 '091180 71 | 주식(ETF) 유가 KOSPI KODEX 은선물(H) '144600 72 | 주식(ETF) 유가 KOSPI TIGER 커버드C200 '166400 73 | 주식(ETF) 유가 KOSPI KTOP50 '168300 74 | 주식(ETF) 유가 KOSPI KODEX 에너지화학 '117460 75 | 주식(ETF) 유가 KOSPI ARIRANG 합성-AC 월드(H) '189400 76 | 주식(ETF) 유가 KOSPI KStar 우량업종 '140580 77 | 주식(ETF) 유가 KOSPI TIGER 인버스 '123310 78 | 주식(ETF) 유가 KOSPI KOSEF 블루칩 '104520 79 | 주식(ETF) 유가 KOSPI ARIRANG 주도주 '161500 80 | 주식(ETF) 유가 KOSPI KOSEF 10년국고채 레버리지 '167860 81 | 주식(ETF) 유가 KOSPI KINDEX 레버리지 '152500 82 | 주식(ETF) 유가 KOSPI FIRST 스타우량 '108630 83 | 주식(ETF) 유가 KOSPI ARIRANG KOSPI50 '122090 84 | 주식(ETF) 유가 KOSPI TIGER 경기방어 '139280 85 | 주식(ETF) 유가 KOSPI KINDEX 국고채 '114460 86 | 주식(ETF) 유가 KOSPI KODEX 반도체 '091160 87 | 주식(ETF) 유가 KOSPI TIGER 농산물선물(H) '137610 88 | 주식(ETF) 유가 KOSPI KStar 코스닥엘리트30 '108480 89 | 주식(ETF) 유가 KOSPI KINDEX 코스닥스타 '108440 90 | 주식(ETF) 유가 KOSPI KODEX 조선 '102960 91 | 주식(ETF) 유가 KOSPI KStar 채권혼합 '183700 92 | 주식(ETF) 유가 KOSPI TREX 펀더멘탈 200 '145850 93 | 주식(ETF) 유가 KOSPI KODEX 인버스국채선물10년 '176950 94 | 주식(ETF) 유가 KOSPI TIGER합성-MSCI US리츠(H) '182480 95 | 주식(ETF) 유가 KOSPI TIGER 차이나 '117690 96 | 주식(ETF) 유가 KOSPI KStar 주식혼합 '183710 97 | 주식(ETF) 유가 KOSPI KStar 5대그룹주장기채+ '157650 98 | 주식(ETF) 유가 KOSPI KODEX 합성-미국IT '200020 99 | 주식(ETF) 유가 KOSPI KODEX 합성-MSCI독일 '200050 100 | 주식(ETF) 유가 KOSPI KODEX 건설 '117700 101 | 주식(ETF) 유가 KOSPI KODEX 합성-미국금융 '200040 102 | 주식(ETF) 유가 KOSPI KODEX 합성-미국산업재 '200030 103 | 주식(ETF) 유가 KOSPI TIGER 현대차그룹+ '138540 104 | 주식(ETF) 유가 KOSPI ARIRANG 방어주 '161490 105 | 주식(ETF) 유가 KOSPI ARIRANG 철강금속 '161540 106 | 주식(ETF) 유가 KOSPI ARIRANG KRX100EW '141250 107 | 주식(ETF) 유가 KOSPI KODEX 증권 '102970 108 | 주식(ETF) 유가 KOSPI KINDEX 삼성그룹EW '131890 109 | 주식(ETF) 유가 KOSPI ARIRANG 네오밸류 '129270 110 | 주식(ETF) 유가 KOSPI ARIRANG 조선운송 '161530 111 | 주식(ETF) 유가 KOSPI TIGER 헬스케어 '143860 112 | 주식(ETF) 유가 KOSPI ARIRANG 자동차 '161520 113 | 주식(ETF) 유가 KOSPI TIGER 구리실물 '160580 114 | 주식(ETF) 유가 KOSPI GREAT SRI '120210 115 | 주식(ETF) 유가 KOSPI TIGER 브릭스 '105020 116 | 주식(ETF) 유가 KOSPI TIGER 그린 '137990 117 | 주식(ETF) 유가 KOSPI KODEX 소비재 '136280 118 | 주식(ETF) 유가 KOSPI KODEX MSCI KOREA '156080 119 | 주식(ETF) 유가 KOSPI KODEX 철강 '117680 120 | 주식(ETF) 유가 KOSPI KODEX 주식&골드(H) '166060 121 | 주식(ETF) 유가 KOSPI KOSEF 펀더멘탈대형주 '144670 122 | 주식(ETF) 유가 KOSPI ARIRANG 화학 '161550 123 | 주식(ETF) 유가 KOSPI KStar 수출주 '140570 124 | 주식(ETF) 유가 KOSPI KINDEX 합성-선진국하이일드(H) '181450 125 | 주식(ETF) 유가 KOSPI KODEX 구리선물(H) '138910 126 | 주식(ETF) 유가 KOSPI PIONEER SRI '148040 127 | 주식(ETF) 유가 KOSPI GREAT GREEN '138210 128 | 주식(ETF) 유가 KOSPI KOSEF IT '091200 129 | 주식(ETF) 유가 KOSPI ARIRANG LG그룹& '117740 130 | 주식(ETF) 유가 KOSPI KODEX 10년국채선물 '152380 131 | 주식(ETF) 유가 KOSPI TIGER 원유선물(H) '130680 132 | 주식(ETF) 유가 KOSPI TREX 중소형가치 '097750 133 | 주식(ETF) 유가 KOSPI KODEX 콩선물(H) '138920 134 | 주식(ETF) 유가 KOSPI TIGER 모멘텀 '147970 135 | 주식(ETF) 유가 KOSPI KODEX 보험 '140700 136 | 주식(ETF) 유가 KOSPI KODEX Japan '101280 137 | 주식(ETF) 유가 KOSPI TIGER 생활소비재 '152180 138 | 주식(ETF) 유가 KOSPI KINDEX 합성-미국리츠부동산(H) '181480 139 | 주식(ETF) 유가 KOSPI TIGER 가치주 '097710 140 | 주식(ETF) 유가 KOSPI KOSEF 200 선물 '152280 141 | 주식(ETF) 유가 KOSPI TIGER 금은선물(H) '139320 142 | 주식(ETF) 유가 KOSPI TIGER 미디어통신 '098560 143 | 주식(ETF) 유가 KOSPI TIGER 금융 '139270 144 | 주식(ETF) 유가 KOSPI TIGER 자동차 '157510 145 | 주식(ETF) 유가 KOSPI TIGER LG그룹+ '138530 146 | 주식(ETF) 유가 KOSPI TIGER 화학 '157520 147 | 주식(ETF) 유가 KOSPI KINDEX 인버스 '145670 148 | 주식(ETF) 유가 KOSPI TIGER 라틴 '105010 149 | 주식(ETF) 유가 KOSPI TIGER 증권 '157500 150 | 주식(ETF) 유가 KOSPI KINDEX 성장대형F15 '105270 151 | 주식(ETF) 유가 KOSPI KOSEF 달러인버스선물 '139660 152 | 주식(ETF) 유가 KOSPI TIGER 미드캡 '097720 153 | 주식(ETF) 유가 KOSPI TIGER 에너지화학 '139250 154 | 주식(ETF) 유가 KOSPI TIGER 철강소재 '139240 155 | 주식(ETF) 유가 KOSPI TIGER 소프트웨어 '157490 156 | 주식(ETF) 유가 KOSPI KODEX 운송 '140710 157 | 주식(ETF) 유가 KOSPI TIGER 금속선물(H) '139310 158 | 주식(ETF) 유가 KOSPI TIGER 나스닥100 '133690 159 | 주식(ETF) 유가 KOSPI TIGER 건설기계 '139220 160 | 주식(ETF) 유가 KOSPI TIGER 조선운송 '139230 161 | 주식(ETF) 유가 KOSPI KODEX Brazil '104580 162 | -------------------------------------------------------------------------------- /image_sample.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sumyeon/python_analytics_atoz/6c5d375f1c32cb3eed48537ee84ffbe473bf75ec/image_sample.jpg -------------------------------------------------------------------------------- /korean_stopwords.txt: -------------------------------------------------------------------------------- 1 | 아 2 | 휴 3 | 아이구 4 | 아이쿠 5 | 아이고 6 | 어 7 | 나 8 | 우리 9 | 저희 10 | 따라 11 | 의해 12 | 을 13 | 를 14 | 에 15 | 의 16 | 가 17 | 으로 18 | 로 19 | 에게 20 | 뿐이다 21 | 의거하여 22 | 근거하여 23 | 입각하여 24 | 기준으로 25 | 예하면 26 | 예를 들면 27 | 예를 들자면 28 | 저 29 | 소인 30 | 소생 31 | 저희 32 | 지말고 33 | 하지마 34 | 하지마라 35 | 다른 36 | 물론 37 | 또한 38 | 그리고 39 | 비길수 없다 40 | 해서는 안된다 41 | 뿐만 아니라 42 | 만이 아니다 43 | 만은 아니다 44 | 막론하고 45 | 관계없이 46 | 그치지 않다 47 | 그러나 48 | 그런데 49 | 하지만 50 | 든간에 51 | 논하지 않다 52 | 따지지 않다 53 | 설사 54 | 비록 55 | 더라도 56 | 아니면 57 | 만 못하다 58 | 하는 편이 낫다 59 | 불문하고 60 | 향하여 61 | 향해서 62 | 향하다 63 | 쪽으로 64 | 틈타 65 | 이용하여 66 | 타다 67 | 오르다 68 | 제외하고 69 | 이 외에 70 | 이 밖에 71 | 하여야 72 | 비로소 73 | 한다면 몰라도 74 | 외에도 75 | 이곳 76 | 여기 77 | 부터 78 | 기점으로 79 | 따라서 80 | 할 생각이다 81 | 하려고하다 82 | 이리하여 83 | 그리하여 84 | 그렇게 함으로써 85 | 하지만 86 | 일때 87 | 할때 88 | 앞에서 89 | 중에서 90 | 보는데서 91 | 으로써 92 | 로써 93 | 까지 94 | 해야한다 95 | 일것이다 96 | 반드시 97 | 할줄알다 98 | 할수있다 99 | 할수있어 100 | 임에 틀림없다 101 | 한다면 102 | 등 103 | 등등 104 | 제 105 | 겨우 106 | 단지 107 | 다만 108 | 할뿐 109 | 딩동 110 | 댕그 111 | 대해서 112 | 대하여 113 | 대하면 114 | 훨씬 115 | 얼마나 116 | 얼마만큼 117 | 얼마큼 118 | 남짓 119 | 여 120 | 얼마간 121 | 약간 122 | 다소 123 | 좀 124 | 조금 125 | 다수 126 | 몇 127 | 얼마 128 | 지만 129 | 하물며 130 | 또한 131 | 그러나 132 | 그렇지만 133 | 하지만 134 | 이외에도 135 | 대해 말하자면 136 | 뿐이다 137 | 다음에 138 | 반대로 139 | 반대로 말하자면 140 | 이와 반대로 141 | 바꾸어서 말하면 142 | 바꾸어서 한다면 143 | 만약 144 | 그렇지않으면 145 | 까악 146 | 툭 147 | 딱 148 | 삐걱거리다 149 | 보드득 150 | 비걱거리다 151 | 꽈당 152 | 응당 153 | 해야한다 154 | 에 가서 155 | 각 156 | 각각 157 | 여러분 158 | 각종 159 | 각자 160 | 제각기 161 | 하도록하다 162 | 와 163 | 과 164 | 그러므로 165 | 그래서 166 | 고로 167 | 한 까닭에 168 | 하기 때문에 169 | 거니와 170 | 이지만 171 | 대하여 172 | 관하여 173 | 관한 174 | 과연 175 | 실로 176 | 아니나다를가 177 | 생각한대로 178 | 진짜로 179 | 한적이있다 180 | 하곤하였다 181 | 하 182 | 하하 183 | 허허 184 | 아하 185 | 거바 186 | 와 187 | 오 188 | 왜 189 | 어째서 190 | 무엇때문에 191 | 어찌 192 | 하겠는가 193 | 무슨 194 | 어디 195 | 어느곳 196 | 더군다나 197 | 하물며 198 | 더욱이는 199 | 어느때 200 | 언제 201 | 야 202 | 이봐 203 | 어이 204 | 여보시오 205 | 흐흐 206 | 흥 207 | 휴 208 | 헉헉 209 | 헐떡헐떡 210 | 영차 211 | 여차 212 | 어기여차 213 | 끙끙 214 | 아야 215 | 앗 216 | 아야 217 | 콸콸 218 | 졸졸 219 | 좍좍 220 | 뚝뚝 221 | 주룩주룩 222 | 솨 223 | 우르르 224 | 그래도 225 | 또 226 | 그리고 227 | 바꾸어말하면 228 | 바꾸어말하자면 229 | 혹은 230 | 혹시 231 | 답다 232 | 및 233 | 그에 따르는 234 | 때가 되어 235 | 즉 236 | 지든지 237 | 설령 238 | 가령 239 | 하더라도 240 | 할지라도 241 | 일지라도 242 | 지든지 243 | 몇 244 | 거의 245 | 하마터면 246 | 인젠 247 | 이젠 248 | 된바에야 249 | 된이상 250 | 만큼 어찌됏든 251 | 그위에 252 | 게다가 253 | 점에서 보아 254 | 비추어 보아 255 | 고려하면 256 | 하게될것이다 257 | 일것이다 258 | 비교적 259 | 좀 260 | 보다더 261 | 비하면 262 | 시키다 263 | 하게하다 264 | 할만하다 265 | 의해서 266 | 연이서 267 | 이어서 268 | 잇따라 269 | 뒤따라 270 | 뒤이어 271 | 결국 272 | 의지하여 273 | 기대여 274 | 통하여 275 | 자마자 276 | 더욱더 277 | 불구하고 278 | 얼마든지 279 | 마음대로 280 | 주저하지 않고 281 | 곧 282 | 즉시 283 | 바로 284 | 당장 285 | 하자마자 286 | 밖에 안된다 287 | 하면된다 288 | 그래 289 | 그렇지 290 | 요컨대 291 | 다시 말하자면 292 | 바꿔 말하면 293 | 즉 294 | 구체적으로 295 | 말하자면 296 | 시작하여 297 | 시초에 298 | 이상 299 | 허 300 | 헉 301 | 허걱 302 | 바와같이 303 | 해도좋다 304 | 해도된다 305 | 게다가 306 | 더구나 307 | 하물며 308 | 와르르 309 | 팍 310 | 퍽 311 | 펄렁 312 | 동안 313 | 이래 314 | 하고있었다 315 | 이었다 316 | 에서 317 | 로부터 318 | 까지 319 | 예하면 320 | 했어요 321 | 해요 322 | 함께 323 | 같이 324 | 더불어 325 | 마저 326 | 마저도 327 | 양자 328 | 모두 329 | 습니다 330 | 가까스로 331 | 하려고하다 332 | 즈음하여 333 | 다른 334 | 다른 방면으로 335 | 해봐요 336 | 습니까 337 | 했어요 338 | 말할것도 없고 339 | 무릎쓰고 340 | 개의치않고 341 | 하는것만 못하다 342 | 하는것이 낫다 343 | 매 344 | 매번 345 | 들 346 | 모 347 | 어느것 348 | 어느 349 | 로써 350 | 갖고말하자면 351 | 어디 352 | 어느쪽 353 | 어느것 354 | 어느해 355 | 어느 년도 356 | 라 해도 357 | 언젠가 358 | 어떤것 359 | 어느것 360 | 저기 361 | 저쪽 362 | 저것 363 | 그때 364 | 그럼 365 | 그러면 366 | 요만한걸 367 | 그래 368 | 그때 369 | 저것만큼 370 | 그저 371 | 이르기까지 372 | 할 줄 안다 373 | 할 힘이 있다 374 | 너 375 | 너희 376 | 당신 377 | 어찌 378 | 설마 379 | 차라리 380 | 할지언정 381 | 할지라도 382 | 할망정 383 | 할지언정 384 | 구토하다 385 | 게우다 386 | 토하다 387 | 메쓰겁다 388 | 옆사람 389 | 퉤 390 | 쳇 391 | 의거하여 392 | 근거하여 393 | 의해 394 | 따라 395 | 힘입어 396 | 그 397 | 다음 398 | 버금 399 | 두번째로 400 | 기타 401 | 첫번째로 402 | 나머지는 403 | 그중에서 404 | 견지에서 405 | 형식으로 쓰여 406 | 입장에서 407 | 위해서 408 | 단지 409 | 의해되다 410 | 하도록시키다 411 | 뿐만아니라 412 | 반대로 413 | 전후 414 | 전자 415 | 앞의것 416 | 잠시 417 | 잠깐 418 | 하면서 419 | 그렇지만 420 | 다음에 421 | 그러한즉 422 | 그런즉 423 | 남들 424 | 아무거나 425 | 어찌하든지 426 | 같다 427 | 비슷하다 428 | 예컨대 429 | 이럴정도로 430 | 어떻게 431 | 만약 432 | 만일 433 | 위에서 서술한바와같이 434 | 인 듯하다 435 | 하지 않는다면 436 | 만약에 437 | 무엇 438 | 무슨 439 | 어느 440 | 어떤 441 | 아래윗 442 | 조차 443 | 한데 444 | 그럼에도 불구하고 445 | 여전히 446 | 심지어 447 | 까지도 448 | 조차도 449 | 하지 않도록 450 | 않기 위하여 451 | 때 452 | 시각 453 | 무렵 454 | 시간 455 | 동안 456 | 어때 457 | 어떠한 458 | 하여금 459 | 네 460 | 예 461 | 우선 462 | 누구 463 | 누가 알겠는가 464 | 아무도 465 | 줄은모른다 466 | 줄은 몰랏다 467 | 하는 김에 468 | 겸사겸사 469 | 하는바 470 | 그런 까닭에 471 | 한 이유는 472 | 그러니 473 | 그러니까 474 | 때문에 475 | 그 476 | 너희 477 | 그들 478 | 너희들 479 | 타인 480 | 것 481 | 것들 482 | 너 483 | 위하여 484 | 공동으로 485 | 동시에 486 | 하기 위하여 487 | 어찌하여 488 | 무엇때문에 489 | 붕붕 490 | 윙윙 491 | 나 492 | 우리 493 | 엉엉 494 | 휘익 495 | 윙윙 496 | 오호 497 | 아하 498 | 어쨋든 499 | 만 못하다 -------------------------------------------------------------------------------- /license_character_classes.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sumyeon/python_analytics_atoz/6c5d375f1c32cb3eed48537ee84ffbe473bf75ec/license_character_classes.npy -------------------------------------------------------------------------------- /local_utils.py: -------------------------------------------------------------------------------- 1 | # pylint: disable=invalid-name, redefined-outer-name, missing-docstring, non-parent-init-called, trailing-whitespace, line-too-long 2 | import cv2 3 | import numpy as np 4 | 5 | 6 | class Label: 7 | def __init__(self, cl=-1, tl=np.array([0., 0.]), br=np.array([0., 0.]), prob=None): 8 | self.__tl = tl 9 | self.__br = br 10 | self.__cl = cl 11 | self.__prob = prob 12 | 13 | def __str__(self): 14 | return 'Class: %d, top left(x: %f, y: %f), bottom right(x: %f, y: %f)' % ( 15 | self.__cl, self.__tl[0], self.__tl[1], self.__br[0], self.__br[1]) 16 | 17 | def copy(self): 18 | return Label(self.__cl, self.__tl, self.__br) 19 | 20 | def wh(self): return self.__br - self.__tl 21 | 22 | def cc(self): return self.__tl + self.wh() / 2 23 | 24 | def tl(self): return self.__tl 25 | 26 | def br(self): return self.__br 27 | 28 | def tr(self): return np.array([self.__br[0], self.__tl[1]]) 29 | 30 | def bl(self): return np.array([self.__tl[0], self.__br[1]]) 31 | 32 | def cl(self): return self.__cl 33 | 34 | def area(self): return np.prod(self.wh()) 35 | 36 | def prob(self): return self.__prob 37 | 38 | def set_class(self, cl): 39 | self.__cl = cl 40 | 41 | def set_tl(self, tl): 42 | self.__tl = tl 43 | 44 | def set_br(self, br): 45 | self.__br = br 46 | 47 | def set_wh(self, wh): 48 | cc = self.cc() 49 | self.__tl = cc - .5 * wh 50 | self.__br = cc + .5 * wh 51 | 52 | def set_prob(self, prob): 53 | self.__prob = prob 54 | 55 | class DLabel(Label): 56 | def __init__(self, cl, pts, prob): 57 | self.pts = pts 58 | tl = np.amin(pts, axis=1) 59 | br = np.amax(pts, axis=1) 60 | Label.__init__(self, cl, tl, br, prob) 61 | 62 | def getWH(shape): 63 | return np.array(shape[1::-1]).astype(float) 64 | 65 | def IOU(tl1, br1, tl2, br2): 66 | wh1, wh2 = br1-tl1, br2-tl2 67 | assert((wh1 >= 0).all() and (wh2 >= 0).all()) 68 | 69 | intersection_wh = np.maximum(np.minimum(br1, br2) - np.maximum(tl1, tl2), 0) 70 | intersection_area = np.prod(intersection_wh) 71 | area1, area2 = (np.prod(wh1), np.prod(wh2)) 72 | union_area = area1 + area2 - intersection_area 73 | return intersection_area/union_area 74 | 75 | def IOU_labels(l1, l2): 76 | return IOU(l1.tl(), l1.br(), l2.tl(), l2.br()) 77 | 78 | def nms(Labels, iou_threshold=0.5): 79 | SelectedLabels = [] 80 | Labels.sort(key=lambda l: l.prob(), reverse=True) 81 | 82 | for label in Labels: 83 | non_overlap = True 84 | for sel_label in SelectedLabels: 85 | if IOU_labels(label, sel_label) > iou_threshold: 86 | non_overlap = False 87 | break 88 | 89 | if non_overlap: 90 | SelectedLabels.append(label) 91 | return SelectedLabels 92 | 93 | 94 | 95 | def find_T_matrix(pts, t_pts): 96 | A = np.zeros((8, 9)) 97 | for i in range(0, 4): 98 | xi = pts[:, i] 99 | xil = t_pts[:, i] 100 | xi = xi.T 101 | 102 | A[i*2, 3:6] = -xil[2]*xi 103 | A[i*2, 6:] = xil[1]*xi 104 | A[i*2+1, :3] = xil[2]*xi 105 | A[i*2+1, 6:] = -xil[0]*xi 106 | 107 | [U, S, V] = np.linalg.svd(A) 108 | H = V[-1, :].reshape((3, 3)) 109 | return H 110 | 111 | def getRectPts(tlx, tly, brx, bry): 112 | return np.matrix([[tlx, brx, brx, tlx], [tly, tly, bry, bry], [1, 1, 1, 1]], dtype=float) 113 | 114 | def normal(pts, side, mn, MN): 115 | pts_MN_center_mn = pts * side 116 | pts_MN = pts_MN_center_mn + mn.reshape((2, 1)) 117 | pts_prop = pts_MN / MN.reshape((2, 1)) 118 | return pts_prop 119 | 120 | # Reconstruction function from predict value into plate crpoped from image 121 | def reconstruct(I, Iresized, Yr, lp_threshold): 122 | # 4 max-pooling layers, stride = 2 123 | net_stride = 2**4 124 | side = ((208 + 40)/2)/net_stride 125 | 126 | # one line and two lines license plate size 127 | one_line = (470, 110) 128 | two_lines = (280, 200) 129 | 130 | Probs = Yr[..., 0] 131 | Affines = Yr[..., 2:] 132 | 133 | xx, yy = np.where(Probs > lp_threshold) 134 | # CNN input image size 135 | WH = getWH(Iresized.shape) 136 | # output feature map size 137 | MN = WH/net_stride 138 | 139 | vxx = vyy = 0.5 #alpha 140 | base = lambda vx, vy: np.matrix([[-vx, -vy, 1], [vx, -vy, 1], [vx, vy, 1], [-vx, vy, 1]]).T 141 | labels = [] 142 | labels_frontal = [] 143 | 144 | for i in range(len(xx)): 145 | x, y = xx[i], yy[i] 146 | affine = Affines[x, y] 147 | prob = Probs[x, y] 148 | 149 | mn = np.array([float(y) + 0.5, float(x) + 0.5]) 150 | 151 | # affine transformation matrix 152 | A = np.reshape(affine, (2, 3)) 153 | A[0, 0] = max(A[0, 0], 0) 154 | A[1, 1] = max(A[1, 1], 0) 155 | # identity transformation 156 | B = np.zeros((2, 3)) 157 | B[0, 0] = max(A[0, 0], 0) 158 | B[1, 1] = max(A[1, 1], 0) 159 | 160 | pts = np.array(A*base(vxx, vyy)) 161 | pts_frontal = np.array(B*base(vxx, vyy)) 162 | 163 | pts_prop = normal(pts, side, mn, MN) 164 | frontal = normal(pts_frontal, side, mn, MN) 165 | 166 | labels.append(DLabel(0, pts_prop, prob)) 167 | labels_frontal.append(DLabel(0, frontal, prob)) 168 | 169 | final_labels = nms(labels, 0.1) 170 | final_labels_frontal = nms(labels_frontal, 0.1) 171 | 172 | #print(final_labels_frontal) 173 | assert final_labels_frontal, "No License plate is founded!" 174 | 175 | # LP size and type 176 | out_size, lp_type = (two_lines, 2) if ((final_labels_frontal[0].wh()[0] / final_labels_frontal[0].wh()[1]) < 1.7) else (one_line, 1) 177 | 178 | TLp = [] 179 | Cor = [] 180 | if len(final_labels): 181 | final_labels.sort(key=lambda x: x.prob(), reverse=True) 182 | for _, label in enumerate(final_labels): 183 | t_ptsh = getRectPts(0, 0, out_size[0], out_size[1]) 184 | ptsh = np.concatenate((label.pts * getWH(I.shape).reshape((2, 1)), np.ones((1, 4)))) 185 | H = find_T_matrix(ptsh, t_ptsh) 186 | Ilp = cv2.warpPerspective(I, H, out_size, borderValue=0) 187 | TLp.append(Ilp) 188 | Cor.append(ptsh) 189 | return final_labels, TLp, lp_type, Cor 190 | 191 | def detect_lp(model, I, max_dim, lp_threshold): 192 | 193 | # 이미지 X*Y 중에 작은 쪽 사이즈 194 | min_dim_img = min(I.shape[:2]) 195 | 196 | # 608 기준선과 작은쪽 사이즈와의 비율 197 | factor = float(max_dim) / min_dim_img 198 | 199 | # 작은쪽 (주로 height)이 608이 되도록 w, h 계산 200 | w, h = (np.array(I.shape[1::-1], dtype=float) * factor).astype(int).tolist() 201 | 202 | # height가 608이 되도록 그림 rescale 203 | Iresized = cv2.resize(I, (w, h)) 204 | 205 | # 작업을 위해 copy본 작성 206 | T = Iresized.copy() 207 | 208 | # model 입력에 맞게 reshape 209 | T = T.reshape((1, T.shape[0], T.shape[1], T.shape[2])) 210 | 211 | # model을 통해 번호판 있을 곳을 추정 212 | Yr = model.predict(T) 213 | Yr = np.squeeze(Yr) 214 | 215 | # 추정된 내용을 바탕으로 번호판을 추출 216 | L, TLp, lp_type, Cor = reconstruct(I, Iresized, Yr, lp_threshold) 217 | return L, TLp, lp_type, Cor -------------------------------------------------------------------------------- /seoul_greenpark.tsv: -------------------------------------------------------------------------------- 1 | 구분 행정구역면적(㎡) 합계 공원율(%) 2 | 합계 605,196,566 168,843,299 27.9 3 | 종로구 23,912,883 11,555,792 48.32 4 | 중구 9,960,930 3,131,968 31.44 5 | 용산구 21,866,844 1,795,641 8.21 6 | 성동구 16,860,100 3,102,064 18.4 7 | 광진구 17,063,230 3,363,048 19.71 8 | 동대문구 14,215,197 1,275,850 8.98 9 | 중랑구 18,495,756 5,206,342 28.15 10 | 성북구 24,578,665 8,342,383 33.94 11 | 강북구 23,596,920 14,346,715 60.8 12 | 도봉구 20,667,909 10,075,345 48.75 13 | 노원구 35,437,921 14,337,687 40.46 14 | 은평구 29,704,588 13,997,925 47.12 15 | 서대문구 17,608,732 5,136,075 29.17 16 | 마포구 23,843,621 4,439,901 18.62 17 | 양천구 17,406,820 2,909,845 16.72 18 | 강서구 41,436,730 4,329,258 10.45 19 | 구로구 20,118,709 3,327,670 16.54 20 | 금천구 13,019,304 2,206,213 16.95 21 | 영등포구 24,529,646 3,091,054 12.6 22 | 동작구 16,354,174 4,585,391 28.04 23 | 관악구 29,568,727 10,977,114 37.12 24 | 서초구 46,982,024 16,036,321 34.13 25 | 강남구 39,501,308 6,591,655 16.69 26 | 송파구 33,876,548 4,642,075 13.7 27 | 강동구 24,589,280 3,369,970 13.71 -------------------------------------------------------------------------------- /sqlalchemy_declarative.py: -------------------------------------------------------------------------------- 1 | 2 | import os 3 | import sys 4 | from sqlalchemy import Column, ForeignKey, Integer, String 5 | from sqlalchemy.ext.declarative import declarative_base 6 | from sqlalchemy.orm import relationship 7 | from sqlalchemy import create_engine 8 | 9 | Base = declarative_base() 10 | 11 | class Person(Base): 12 | __tablename__ = 'person' 13 | id = Column(Integer, primary_key=True) 14 | name = Column(String(250), nullable=False) 15 | 16 | class Address(Base): 17 | __tablename__ = 'address' 18 | id = Column(Integer, primary_key=True) 19 | street_name = Column(String(250)) 20 | street_number = Column(String(250)) 21 | post_code = Column(String(250), nullable=False) 22 | person_id = Column(Integer, ForeignKey('person.id')) 23 | person = relationship(Person) 24 | 25 | # Create an engine that stores data in the local directory's 26 | # sqlalchemy_example.db file. 27 | engine = create_engine('sqlite:///sqlalchemy_example.db') 28 | 29 | # Create all tables in the engine. This is equivalent to "Create Table" 30 | # statements in raw SQL. 31 | Base.metadata.create_all(engine) 32 | -------------------------------------------------------------------------------- /wpod-net.h5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sumyeon/python_analytics_atoz/6c5d375f1c32cb3eed48537ee84ffbe473bf75ec/wpod-net.h5 -------------------------------------------------------------------------------- /wpod-net.json: -------------------------------------------------------------------------------- 1 | {"class_name": "Model", "keras_version": "2.2.4", "config": {"layers": [{"class_name": "InputLayer", "config": {"dtype": "float32", "batch_input_shape": [null, null, null, 3], "name": "input", "sparse": false}, "inbound_nodes": [], "name": "input"}, {"class_name": "Conv2D", "config": {"kernel_constraint": null, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"distribution": "uniform", "scale": 1.0, "seed": null, "mode": "fan_avg"}}, "name": "conv2d_1", "bias_regularizer": null, "bias_constraint": null, "activation": "linear", "trainable": true, "data_format": "channels_last", "padding": "same", "strides": [1, 1], "dilation_rate": [1, 1], "kernel_regularizer": null, "filters": 16, "bias_initializer": {"class_name": "Zeros", "config": {}}, "use_bias": true, "activity_regularizer": null, "kernel_size": [3, 3]}, "inbound_nodes": [[["input", 0, 0, {}]]], "name": "conv2d_1"}, {"class_name": "BatchNormalization", "config": {"beta_constraint": null, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "name": "batch_normalization_1", "epsilon": 0.001, "trainable": true, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_initializer": {"class_name": "Zeros", "config": {}}, "scale": true, "axis": -1, "gamma_constraint": null, "gamma_regularizer": null, "beta_regularizer": null, "momentum": 0.99, "center": true}, "inbound_nodes": [[["conv2d_1", 0, 0, {}]]], "name": "batch_normalization_1"}, {"class_name": "Activation", "config": {"activation": "relu", "trainable": true, "name": "activation_1"}, "inbound_nodes": [[["batch_normalization_1", 0, 0, {}]]], "name": "activation_1"}, {"class_name": "Conv2D", "config": {"kernel_constraint": null, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"distribution": "uniform", "scale": 1.0, "seed": null, "mode": "fan_avg"}}, "name": "conv2d_2", "bias_regularizer": null, "bias_constraint": null, "activation": "linear", "trainable": true, "data_format": "channels_last", "padding": "same", "strides": [1, 1], "dilation_rate": [1, 1], "kernel_regularizer": null, "filters": 16, "bias_initializer": {"class_name": "Zeros", "config": {}}, "use_bias": true, "activity_regularizer": null, "kernel_size": [3, 3]}, "inbound_nodes": [[["activation_1", 0, 0, {}]]], "name": "conv2d_2"}, {"class_name": "BatchNormalization", "config": {"beta_constraint": null, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "name": "batch_normalization_2", "epsilon": 0.001, "trainable": true, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_initializer": {"class_name": "Zeros", "config": {}}, "scale": true, "axis": -1, "gamma_constraint": null, "gamma_regularizer": null, "beta_regularizer": null, "momentum": 0.99, "center": true}, "inbound_nodes": [[["conv2d_2", 0, 0, {}]]], "name": "batch_normalization_2"}, {"class_name": "Activation", "config": {"activation": "relu", "trainable": true, "name": "activation_2"}, "inbound_nodes": [[["batch_normalization_2", 0, 0, {}]]], "name": "activation_2"}, {"class_name": "MaxPooling2D", "config": {"name": "max_pooling2d_1", "trainable": true, "data_format": "channels_last", "pool_size": [2, 2], "padding": "valid", "strides": [2, 2]}, "inbound_nodes": [[["activation_2", 0, 0, {}]]], "name": "max_pooling2d_1"}, {"class_name": "Conv2D", "config": {"kernel_constraint": null, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"distribution": "uniform", "scale": 1.0, "seed": null, "mode": "fan_avg"}}, "name": "conv2d_3", "bias_regularizer": null, "bias_constraint": null, "activation": "linear", "trainable": true, "data_format": "channels_last", "padding": "same", "strides": [1, 1], "dilation_rate": [1, 1], "kernel_regularizer": null, "filters": 32, "bias_initializer": {"class_name": "Zeros", "config": {}}, "use_bias": true, "activity_regularizer": null, "kernel_size": [3, 3]}, "inbound_nodes": [[["max_pooling2d_1", 0, 0, {}]]], "name": "conv2d_3"}, {"class_name": "BatchNormalization", "config": {"beta_constraint": null, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "name": "batch_normalization_3", "epsilon": 0.001, "trainable": true, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_initializer": {"class_name": "Zeros", "config": {}}, "scale": true, "axis": -1, "gamma_constraint": null, "gamma_regularizer": null, "beta_regularizer": null, "momentum": 0.99, "center": true}, "inbound_nodes": [[["conv2d_3", 0, 0, {}]]], "name": "batch_normalization_3"}, {"class_name": "Activation", "config": {"activation": "relu", "trainable": true, "name": "activation_3"}, "inbound_nodes": [[["batch_normalization_3", 0, 0, {}]]], "name": "activation_3"}, {"class_name": "Conv2D", "config": {"kernel_constraint": null, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"distribution": "uniform", "scale": 1.0, "seed": null, "mode": "fan_avg"}}, "name": "conv2d_4", "bias_regularizer": null, "bias_constraint": null, "activation": "linear", "trainable": true, "data_format": "channels_last", "padding": "same", "strides": [1, 1], "dilation_rate": [1, 1], "kernel_regularizer": null, "filters": 32, "bias_initializer": {"class_name": "Zeros", "config": {}}, "use_bias": true, "activity_regularizer": null, "kernel_size": [3, 3]}, "inbound_nodes": [[["activation_3", 0, 0, {}]]], "name": "conv2d_4"}, {"class_name": "BatchNormalization", "config": {"beta_constraint": null, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "name": "batch_normalization_4", "epsilon": 0.001, "trainable": true, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_initializer": {"class_name": "Zeros", "config": {}}, "scale": true, "axis": -1, "gamma_constraint": null, "gamma_regularizer": null, "beta_regularizer": null, "momentum": 0.99, "center": true}, "inbound_nodes": [[["conv2d_4", 0, 0, {}]]], "name": "batch_normalization_4"}, {"class_name": "Activation", "config": {"activation": "relu", "trainable": true, "name": "activation_4"}, "inbound_nodes": [[["batch_normalization_4", 0, 0, {}]]], "name": "activation_4"}, {"class_name": "Conv2D", "config": {"kernel_constraint": null, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"distribution": "uniform", "scale": 1.0, "seed": null, "mode": "fan_avg"}}, "name": "conv2d_5", "bias_regularizer": null, "bias_constraint": null, "activation": "linear", "trainable": true, "data_format": "channels_last", "padding": "same", "strides": [1, 1], "dilation_rate": [1, 1], "kernel_regularizer": null, "filters": 32, "bias_initializer": {"class_name": "Zeros", "config": {}}, "use_bias": true, "activity_regularizer": null, "kernel_size": [3, 3]}, "inbound_nodes": [[["activation_4", 0, 0, {}]]], "name": "conv2d_5"}, {"class_name": "BatchNormalization", "config": {"beta_constraint": null, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "name": "batch_normalization_5", "epsilon": 0.001, "trainable": true, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_initializer": {"class_name": "Zeros", "config": {}}, "scale": true, "axis": -1, "gamma_constraint": null, "gamma_regularizer": null, "beta_regularizer": null, "momentum": 0.99, "center": true}, "inbound_nodes": [[["conv2d_5", 0, 0, {}]]], "name": "batch_normalization_5"}, {"class_name": "Add", "config": {"trainable": true, "name": "add_1"}, "inbound_nodes": [[["batch_normalization_5", 0, 0, {}], ["activation_3", 0, 0, {}]]], "name": "add_1"}, {"class_name": "Activation", "config": {"activation": "relu", "trainable": true, "name": "activation_5"}, "inbound_nodes": [[["add_1", 0, 0, {}]]], "name": "activation_5"}, {"class_name": "MaxPooling2D", "config": {"name": "max_pooling2d_2", "trainable": true, "data_format": "channels_last", "pool_size": [2, 2], "padding": "valid", "strides": [2, 2]}, "inbound_nodes": [[["activation_5", 0, 0, {}]]], "name": "max_pooling2d_2"}, {"class_name": "Conv2D", "config": {"kernel_constraint": null, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"distribution": "uniform", "scale": 1.0, "seed": null, "mode": "fan_avg"}}, "name": "conv2d_6", "bias_regularizer": null, "bias_constraint": null, "activation": "linear", "trainable": true, "data_format": "channels_last", "padding": "same", "strides": [1, 1], "dilation_rate": [1, 1], "kernel_regularizer": null, "filters": 64, "bias_initializer": {"class_name": "Zeros", "config": {}}, "use_bias": true, "activity_regularizer": null, "kernel_size": [3, 3]}, "inbound_nodes": [[["max_pooling2d_2", 0, 0, {}]]], "name": "conv2d_6"}, {"class_name": "BatchNormalization", "config": {"beta_constraint": null, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "name": "batch_normalization_6", "epsilon": 0.001, "trainable": true, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_initializer": {"class_name": "Zeros", "config": {}}, "scale": true, "axis": -1, "gamma_constraint": null, "gamma_regularizer": null, "beta_regularizer": null, "momentum": 0.99, "center": true}, "inbound_nodes": [[["conv2d_6", 0, 0, {}]]], "name": "batch_normalization_6"}, {"class_name": "Activation", "config": {"activation": "relu", "trainable": true, "name": "activation_6"}, "inbound_nodes": [[["batch_normalization_6", 0, 0, {}]]], "name": "activation_6"}, {"class_name": "Conv2D", "config": {"kernel_constraint": null, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"distribution": "uniform", "scale": 1.0, "seed": null, "mode": "fan_avg"}}, "name": "conv2d_7", "bias_regularizer": null, "bias_constraint": null, "activation": "linear", "trainable": true, "data_format": "channels_last", "padding": "same", "strides": [1, 1], "dilation_rate": [1, 1], "kernel_regularizer": null, "filters": 64, "bias_initializer": {"class_name": "Zeros", "config": {}}, "use_bias": true, "activity_regularizer": null, "kernel_size": [3, 3]}, "inbound_nodes": [[["activation_6", 0, 0, {}]]], "name": "conv2d_7"}, {"class_name": "BatchNormalization", "config": {"beta_constraint": null, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "name": "batch_normalization_7", "epsilon": 0.001, "trainable": true, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_initializer": {"class_name": "Zeros", "config": {}}, "scale": true, "axis": -1, "gamma_constraint": null, "gamma_regularizer": null, "beta_regularizer": null, "momentum": 0.99, "center": true}, "inbound_nodes": [[["conv2d_7", 0, 0, {}]]], "name": "batch_normalization_7"}, {"class_name": "Activation", "config": {"activation": "relu", "trainable": true, "name": "activation_7"}, "inbound_nodes": [[["batch_normalization_7", 0, 0, {}]]], "name": "activation_7"}, {"class_name": "Conv2D", "config": {"kernel_constraint": null, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"distribution": "uniform", "scale": 1.0, "seed": null, "mode": "fan_avg"}}, "name": "conv2d_8", "bias_regularizer": null, "bias_constraint": null, "activation": "linear", "trainable": true, "data_format": "channels_last", "padding": "same", "strides": [1, 1], "dilation_rate": [1, 1], "kernel_regularizer": null, "filters": 64, "bias_initializer": {"class_name": "Zeros", "config": {}}, "use_bias": true, "activity_regularizer": null, "kernel_size": [3, 3]}, "inbound_nodes": [[["activation_7", 0, 0, {}]]], "name": "conv2d_8"}, {"class_name": "BatchNormalization", "config": {"beta_constraint": null, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "name": "batch_normalization_8", "epsilon": 0.001, "trainable": true, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_initializer": {"class_name": "Zeros", "config": {}}, "scale": true, "axis": -1, "gamma_constraint": null, "gamma_regularizer": null, "beta_regularizer": null, "momentum": 0.99, "center": true}, "inbound_nodes": [[["conv2d_8", 0, 0, {}]]], "name": "batch_normalization_8"}, {"class_name": "Add", "config": {"trainable": true, "name": "add_2"}, "inbound_nodes": [[["batch_normalization_8", 0, 0, {}], ["activation_6", 0, 0, {}]]], "name": "add_2"}, {"class_name": "Activation", "config": {"activation": "relu", "trainable": true, "name": "activation_8"}, "inbound_nodes": [[["add_2", 0, 0, {}]]], "name": "activation_8"}, {"class_name": "Conv2D", "config": {"kernel_constraint": null, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"distribution": "uniform", "scale": 1.0, "seed": null, "mode": "fan_avg"}}, "name": "conv2d_9", "bias_regularizer": null, "bias_constraint": null, "activation": "linear", "trainable": true, "data_format": "channels_last", "padding": "same", "strides": [1, 1], "dilation_rate": [1, 1], "kernel_regularizer": null, "filters": 64, "bias_initializer": {"class_name": "Zeros", "config": {}}, "use_bias": true, "activity_regularizer": null, "kernel_size": [3, 3]}, "inbound_nodes": [[["activation_8", 0, 0, {}]]], "name": "conv2d_9"}, {"class_name": "BatchNormalization", "config": {"beta_constraint": null, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "name": "batch_normalization_9", "epsilon": 0.001, "trainable": true, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_initializer": {"class_name": "Zeros", "config": {}}, "scale": true, "axis": -1, "gamma_constraint": null, "gamma_regularizer": null, "beta_regularizer": null, "momentum": 0.99, "center": true}, "inbound_nodes": [[["conv2d_9", 0, 0, {}]]], "name": "batch_normalization_9"}, {"class_name": "Activation", "config": {"activation": "relu", "trainable": true, "name": "activation_9"}, "inbound_nodes": [[["batch_normalization_9", 0, 0, {}]]], "name": "activation_9"}, {"class_name": "Conv2D", "config": {"kernel_constraint": null, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"distribution": "uniform", "scale": 1.0, "seed": null, "mode": "fan_avg"}}, "name": "conv2d_10", "bias_regularizer": null, "bias_constraint": null, "activation": "linear", "trainable": true, "data_format": "channels_last", "padding": "same", "strides": [1, 1], "dilation_rate": [1, 1], "kernel_regularizer": null, "filters": 64, "bias_initializer": {"class_name": "Zeros", "config": {}}, "use_bias": true, "activity_regularizer": null, "kernel_size": [3, 3]}, "inbound_nodes": [[["activation_9", 0, 0, {}]]], "name": "conv2d_10"}, {"class_name": "BatchNormalization", "config": {"beta_constraint": null, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "name": "batch_normalization_10", "epsilon": 0.001, "trainable": true, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_initializer": {"class_name": "Zeros", "config": {}}, "scale": true, "axis": -1, "gamma_constraint": null, "gamma_regularizer": null, "beta_regularizer": null, "momentum": 0.99, "center": true}, "inbound_nodes": [[["conv2d_10", 0, 0, {}]]], "name": "batch_normalization_10"}, {"class_name": "Add", "config": {"trainable": true, "name": "add_3"}, "inbound_nodes": [[["batch_normalization_10", 0, 0, {}], ["activation_8", 0, 0, {}]]], "name": "add_3"}, {"class_name": "Activation", "config": {"activation": "relu", "trainable": true, "name": "activation_10"}, "inbound_nodes": [[["add_3", 0, 0, {}]]], "name": "activation_10"}, {"class_name": "MaxPooling2D", "config": {"name": "max_pooling2d_3", "trainable": true, "data_format": "channels_last", "pool_size": [2, 2], "padding": "valid", "strides": [2, 2]}, "inbound_nodes": [[["activation_10", 0, 0, {}]]], "name": "max_pooling2d_3"}, {"class_name": "Conv2D", "config": {"kernel_constraint": null, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"distribution": "uniform", "scale": 1.0, "seed": null, "mode": "fan_avg"}}, "name": "conv2d_11", "bias_regularizer": null, "bias_constraint": null, "activation": "linear", "trainable": true, "data_format": "channels_last", "padding": "same", "strides": [1, 1], "dilation_rate": [1, 1], "kernel_regularizer": null, "filters": 64, "bias_initializer": {"class_name": "Zeros", "config": {}}, "use_bias": true, "activity_regularizer": null, "kernel_size": [3, 3]}, "inbound_nodes": [[["max_pooling2d_3", 0, 0, {}]]], "name": "conv2d_11"}, {"class_name": "BatchNormalization", "config": {"beta_constraint": null, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "name": "batch_normalization_11", "epsilon": 0.001, "trainable": true, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_initializer": {"class_name": "Zeros", "config": {}}, "scale": true, "axis": -1, "gamma_constraint": null, "gamma_regularizer": null, "beta_regularizer": null, "momentum": 0.99, "center": true}, "inbound_nodes": [[["conv2d_11", 0, 0, {}]]], "name": "batch_normalization_11"}, {"class_name": "Activation", "config": {"activation": "relu", "trainable": true, "name": "activation_11"}, "inbound_nodes": [[["batch_normalization_11", 0, 0, {}]]], "name": "activation_11"}, {"class_name": "Conv2D", "config": {"kernel_constraint": null, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"distribution": "uniform", "scale": 1.0, "seed": null, "mode": "fan_avg"}}, "name": "conv2d_12", "bias_regularizer": null, "bias_constraint": null, "activation": "linear", "trainable": true, "data_format": "channels_last", "padding": "same", "strides": [1, 1], "dilation_rate": [1, 1], "kernel_regularizer": null, "filters": 64, "bias_initializer": {"class_name": "Zeros", "config": {}}, "use_bias": true, "activity_regularizer": null, "kernel_size": [3, 3]}, "inbound_nodes": [[["activation_11", 0, 0, {}]]], "name": "conv2d_12"}, {"class_name": "BatchNormalization", "config": {"beta_constraint": null, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "name": "batch_normalization_12", "epsilon": 0.001, "trainable": true, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_initializer": {"class_name": "Zeros", "config": {}}, "scale": true, "axis": -1, "gamma_constraint": null, "gamma_regularizer": null, "beta_regularizer": null, "momentum": 0.99, "center": true}, "inbound_nodes": [[["conv2d_12", 0, 0, {}]]], "name": "batch_normalization_12"}, {"class_name": "Activation", "config": {"activation": "relu", "trainable": true, "name": "activation_12"}, "inbound_nodes": [[["batch_normalization_12", 0, 0, {}]]], "name": "activation_12"}, {"class_name": "Conv2D", "config": {"kernel_constraint": null, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"distribution": "uniform", "scale": 1.0, "seed": null, "mode": "fan_avg"}}, "name": "conv2d_13", "bias_regularizer": null, "bias_constraint": null, "activation": "linear", "trainable": true, "data_format": "channels_last", "padding": "same", "strides": [1, 1], "dilation_rate": [1, 1], "kernel_regularizer": null, "filters": 64, "bias_initializer": {"class_name": "Zeros", "config": {}}, "use_bias": true, "activity_regularizer": null, "kernel_size": [3, 3]}, "inbound_nodes": [[["activation_12", 0, 0, {}]]], "name": "conv2d_13"}, {"class_name": "BatchNormalization", "config": {"beta_constraint": null, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "name": "batch_normalization_13", "epsilon": 0.001, "trainable": true, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_initializer": {"class_name": "Zeros", "config": {}}, "scale": true, "axis": -1, "gamma_constraint": null, "gamma_regularizer": null, "beta_regularizer": null, "momentum": 0.99, "center": true}, "inbound_nodes": [[["conv2d_13", 0, 0, {}]]], "name": "batch_normalization_13"}, {"class_name": "Add", "config": {"trainable": true, "name": "add_4"}, "inbound_nodes": [[["batch_normalization_13", 0, 0, {}], ["activation_11", 0, 0, {}]]], "name": "add_4"}, {"class_name": "Activation", "config": {"activation": "relu", "trainable": true, "name": "activation_13"}, "inbound_nodes": [[["add_4", 0, 0, {}]]], "name": "activation_13"}, {"class_name": "Conv2D", "config": {"kernel_constraint": null, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"distribution": "uniform", "scale": 1.0, "seed": null, "mode": "fan_avg"}}, "name": "conv2d_14", "bias_regularizer": null, "bias_constraint": null, "activation": "linear", "trainable": true, "data_format": "channels_last", "padding": "same", "strides": [1, 1], "dilation_rate": [1, 1], "kernel_regularizer": null, "filters": 64, "bias_initializer": {"class_name": "Zeros", "config": {}}, "use_bias": true, "activity_regularizer": null, "kernel_size": [3, 3]}, "inbound_nodes": [[["activation_13", 0, 0, {}]]], "name": "conv2d_14"}, {"class_name": "BatchNormalization", "config": {"beta_constraint": null, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "name": "batch_normalization_14", "epsilon": 0.001, "trainable": true, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_initializer": {"class_name": "Zeros", "config": {}}, "scale": true, "axis": -1, "gamma_constraint": null, "gamma_regularizer": null, "beta_regularizer": null, "momentum": 0.99, "center": true}, "inbound_nodes": [[["conv2d_14", 0, 0, {}]]], "name": "batch_normalization_14"}, {"class_name": "Activation", "config": {"activation": "relu", "trainable": true, "name": "activation_14"}, "inbound_nodes": [[["batch_normalization_14", 0, 0, {}]]], "name": "activation_14"}, {"class_name": "Conv2D", "config": {"kernel_constraint": null, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"distribution": "uniform", "scale": 1.0, "seed": null, "mode": "fan_avg"}}, "name": "conv2d_15", "bias_regularizer": null, "bias_constraint": null, "activation": "linear", "trainable": true, "data_format": "channels_last", "padding": "same", "strides": [1, 1], "dilation_rate": [1, 1], "kernel_regularizer": null, "filters": 64, "bias_initializer": {"class_name": "Zeros", "config": {}}, "use_bias": true, "activity_regularizer": null, "kernel_size": [3, 3]}, "inbound_nodes": [[["activation_14", 0, 0, {}]]], "name": "conv2d_15"}, {"class_name": "BatchNormalization", "config": {"beta_constraint": null, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "name": "batch_normalization_15", "epsilon": 0.001, "trainable": true, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_initializer": {"class_name": "Zeros", "config": {}}, "scale": true, "axis": -1, "gamma_constraint": null, "gamma_regularizer": null, "beta_regularizer": null, "momentum": 0.99, "center": true}, "inbound_nodes": [[["conv2d_15", 0, 0, {}]]], "name": "batch_normalization_15"}, {"class_name": "Add", "config": {"trainable": true, "name": "add_5"}, "inbound_nodes": [[["batch_normalization_15", 0, 0, {}], ["activation_13", 0, 0, {}]]], "name": "add_5"}, {"class_name": "Activation", "config": {"activation": "relu", "trainable": true, "name": "activation_15"}, "inbound_nodes": [[["add_5", 0, 0, {}]]], "name": "activation_15"}, {"class_name": "MaxPooling2D", "config": {"name": "max_pooling2d_4", "trainable": true, "data_format": "channels_last", "pool_size": [2, 2], "padding": "valid", "strides": [2, 2]}, "inbound_nodes": [[["activation_15", 0, 0, {}]]], "name": "max_pooling2d_4"}, {"class_name": "Conv2D", "config": {"kernel_constraint": null, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"distribution": "uniform", "scale": 1.0, "seed": null, "mode": "fan_avg"}}, "name": "conv2d_16", "bias_regularizer": null, "bias_constraint": null, "activation": "linear", "trainable": true, "data_format": "channels_last", "padding": "same", "strides": [1, 1], "dilation_rate": [1, 1], "kernel_regularizer": null, "filters": 128, "bias_initializer": {"class_name": "Zeros", "config": {}}, "use_bias": true, "activity_regularizer": null, "kernel_size": [3, 3]}, "inbound_nodes": [[["max_pooling2d_4", 0, 0, {}]]], "name": "conv2d_16"}, {"class_name": "BatchNormalization", "config": {"beta_constraint": null, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "name": "batch_normalization_16", "epsilon": 0.001, "trainable": true, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_initializer": {"class_name": "Zeros", "config": {}}, "scale": true, "axis": -1, "gamma_constraint": null, "gamma_regularizer": null, "beta_regularizer": null, "momentum": 0.99, "center": true}, "inbound_nodes": [[["conv2d_16", 0, 0, {}]]], "name": "batch_normalization_16"}, {"class_name": "Activation", "config": {"activation": "relu", "trainable": true, "name": "activation_16"}, "inbound_nodes": [[["batch_normalization_16", 0, 0, {}]]], "name": "activation_16"}, {"class_name": "Conv2D", "config": {"kernel_constraint": null, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"distribution": "uniform", "scale": 1.0, "seed": null, "mode": "fan_avg"}}, "name": "conv2d_17", "bias_regularizer": null, "bias_constraint": null, "activation": "linear", "trainable": true, "data_format": "channels_last", "padding": "same", "strides": [1, 1], "dilation_rate": [1, 1], "kernel_regularizer": null, "filters": 128, "bias_initializer": {"class_name": "Zeros", "config": {}}, "use_bias": true, "activity_regularizer": null, "kernel_size": [3, 3]}, "inbound_nodes": [[["activation_16", 0, 0, {}]]], "name": "conv2d_17"}, {"class_name": "BatchNormalization", "config": {"beta_constraint": null, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "name": "batch_normalization_17", "epsilon": 0.001, "trainable": true, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_initializer": {"class_name": "Zeros", "config": {}}, "scale": true, "axis": -1, "gamma_constraint": null, "gamma_regularizer": null, "beta_regularizer": null, "momentum": 0.99, "center": true}, "inbound_nodes": [[["conv2d_17", 0, 0, {}]]], "name": "batch_normalization_17"}, {"class_name": "Activation", "config": {"activation": "relu", "trainable": true, "name": "activation_17"}, "inbound_nodes": [[["batch_normalization_17", 0, 0, {}]]], "name": "activation_17"}, {"class_name": "Conv2D", "config": {"kernel_constraint": null, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"distribution": "uniform", "scale": 1.0, "seed": null, "mode": "fan_avg"}}, "name": "conv2d_18", "bias_regularizer": null, "bias_constraint": null, "activation": "linear", "trainable": true, "data_format": "channels_last", "padding": "same", "strides": [1, 1], "dilation_rate": [1, 1], "kernel_regularizer": null, "filters": 128, "bias_initializer": {"class_name": "Zeros", "config": {}}, "use_bias": true, "activity_regularizer": null, "kernel_size": [3, 3]}, "inbound_nodes": [[["activation_17", 0, 0, {}]]], "name": "conv2d_18"}, {"class_name": "BatchNormalization", "config": {"beta_constraint": null, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "name": "batch_normalization_18", "epsilon": 0.001, "trainable": true, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_initializer": {"class_name": "Zeros", "config": {}}, "scale": true, "axis": -1, "gamma_constraint": null, "gamma_regularizer": null, "beta_regularizer": null, "momentum": 0.99, "center": true}, "inbound_nodes": [[["conv2d_18", 0, 0, {}]]], "name": "batch_normalization_18"}, {"class_name": "Add", "config": {"trainable": true, "name": "add_6"}, "inbound_nodes": [[["batch_normalization_18", 0, 0, {}], ["activation_16", 0, 0, {}]]], "name": "add_6"}, {"class_name": "Activation", "config": {"activation": "relu", "trainable": true, "name": "activation_18"}, "inbound_nodes": [[["add_6", 0, 0, {}]]], "name": "activation_18"}, {"class_name": "Conv2D", "config": {"kernel_constraint": null, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"distribution": "uniform", "scale": 1.0, "seed": null, "mode": "fan_avg"}}, "name": "conv2d_19", "bias_regularizer": null, "bias_constraint": null, "activation": "linear", "trainable": true, "data_format": "channels_last", "padding": "same", "strides": [1, 1], "dilation_rate": [1, 1], "kernel_regularizer": null, "filters": 128, "bias_initializer": {"class_name": "Zeros", "config": {}}, "use_bias": true, "activity_regularizer": null, "kernel_size": [3, 3]}, "inbound_nodes": [[["activation_18", 0, 0, {}]]], "name": "conv2d_19"}, {"class_name": "BatchNormalization", "config": {"beta_constraint": null, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "name": "batch_normalization_19", "epsilon": 0.001, "trainable": true, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_initializer": {"class_name": "Zeros", "config": {}}, "scale": true, "axis": -1, "gamma_constraint": null, "gamma_regularizer": null, "beta_regularizer": null, "momentum": 0.99, "center": true}, "inbound_nodes": [[["conv2d_19", 0, 0, {}]]], "name": "batch_normalization_19"}, {"class_name": "Activation", "config": {"activation": "relu", "trainable": true, "name": "activation_19"}, "inbound_nodes": [[["batch_normalization_19", 0, 0, {}]]], "name": "activation_19"}, {"class_name": "Conv2D", "config": {"kernel_constraint": null, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"distribution": "uniform", "scale": 1.0, "seed": null, "mode": "fan_avg"}}, "name": "conv2d_20", "bias_regularizer": null, "bias_constraint": null, "activation": "linear", "trainable": true, "data_format": "channels_last", "padding": "same", "strides": [1, 1], "dilation_rate": [1, 1], "kernel_regularizer": null, "filters": 128, "bias_initializer": {"class_name": "Zeros", "config": {}}, "use_bias": true, "activity_regularizer": null, "kernel_size": [3, 3]}, "inbound_nodes": [[["activation_19", 0, 0, {}]]], "name": "conv2d_20"}, {"class_name": "BatchNormalization", "config": {"beta_constraint": null, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "name": "batch_normalization_20", "epsilon": 0.001, "trainable": true, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_initializer": {"class_name": "Zeros", "config": {}}, "scale": true, "axis": -1, "gamma_constraint": null, "gamma_regularizer": null, "beta_regularizer": null, "momentum": 0.99, "center": true}, "inbound_nodes": [[["conv2d_20", 0, 0, {}]]], "name": "batch_normalization_20"}, {"class_name": "Add", "config": {"trainable": true, "name": "add_7"}, "inbound_nodes": [[["batch_normalization_20", 0, 0, {}], ["activation_18", 0, 0, {}]]], "name": "add_7"}, {"class_name": "Activation", "config": {"activation": "relu", "trainable": true, "name": "activation_20"}, "inbound_nodes": [[["add_7", 0, 0, {}]]], "name": "activation_20"}, {"class_name": "Conv2D", "config": {"kernel_constraint": null, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"distribution": "uniform", "scale": 1.0, "seed": null, "mode": "fan_avg"}}, "name": "conv2d_21", "bias_regularizer": null, "bias_constraint": null, "activation": "linear", "trainable": true, "data_format": "channels_last", "padding": "same", "strides": [1, 1], "dilation_rate": [1, 1], "kernel_regularizer": null, "filters": 128, "bias_initializer": {"class_name": "Zeros", "config": {}}, "use_bias": true, "activity_regularizer": null, "kernel_size": [3, 3]}, "inbound_nodes": [[["activation_20", 0, 0, {}]]], "name": "conv2d_21"}, {"class_name": "BatchNormalization", "config": {"beta_constraint": null, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "name": "batch_normalization_21", "epsilon": 0.001, "trainable": true, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_initializer": {"class_name": "Zeros", "config": {}}, "scale": true, "axis": -1, "gamma_constraint": null, "gamma_regularizer": null, "beta_regularizer": null, "momentum": 0.99, "center": true}, "inbound_nodes": [[["conv2d_21", 0, 0, {}]]], "name": "batch_normalization_21"}, {"class_name": "Activation", "config": {"activation": "relu", "trainable": true, "name": "activation_21"}, "inbound_nodes": [[["batch_normalization_21", 0, 0, {}]]], "name": "activation_21"}, {"class_name": "Conv2D", "config": {"kernel_constraint": null, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"distribution": "uniform", "scale": 1.0, "seed": null, "mode": "fan_avg"}}, "name": "conv2d_22", "bias_regularizer": null, "bias_constraint": null, "activation": "linear", "trainable": true, "data_format": "channels_last", "padding": "same", "strides": [1, 1], "dilation_rate": [1, 1], "kernel_regularizer": null, "filters": 128, "bias_initializer": {"class_name": "Zeros", "config": {}}, "use_bias": true, "activity_regularizer": null, "kernel_size": [3, 3]}, "inbound_nodes": [[["activation_21", 0, 0, {}]]], "name": "conv2d_22"}, {"class_name": "BatchNormalization", "config": {"beta_constraint": null, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "name": "batch_normalization_22", "epsilon": 0.001, "trainable": true, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_initializer": {"class_name": "Zeros", "config": {}}, "scale": true, "axis": -1, "gamma_constraint": null, "gamma_regularizer": null, "beta_regularizer": null, "momentum": 0.99, "center": true}, "inbound_nodes": [[["conv2d_22", 0, 0, {}]]], "name": "batch_normalization_22"}, {"class_name": "Add", "config": {"trainable": true, "name": "add_8"}, "inbound_nodes": [[["batch_normalization_22", 0, 0, {}], ["activation_20", 0, 0, {}]]], "name": "add_8"}, {"class_name": "Activation", "config": {"activation": "relu", "trainable": true, "name": "activation_22"}, "inbound_nodes": [[["add_8", 0, 0, {}]]], "name": "activation_22"}, {"class_name": "Conv2D", "config": {"kernel_constraint": null, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"distribution": "uniform", "scale": 1.0, "seed": null, "mode": "fan_avg"}}, "name": "conv2d_23", "bias_regularizer": null, "bias_constraint": null, "activation": "linear", "trainable": true, "data_format": "channels_last", "padding": "same", "strides": [1, 1], "dilation_rate": [1, 1], "kernel_regularizer": null, "filters": 128, "bias_initializer": {"class_name": "Zeros", "config": {}}, "use_bias": true, "activity_regularizer": null, "kernel_size": [3, 3]}, "inbound_nodes": [[["activation_22", 0, 0, {}]]], "name": "conv2d_23"}, {"class_name": "BatchNormalization", "config": {"beta_constraint": null, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "name": "batch_normalization_23", "epsilon": 0.001, "trainable": true, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_initializer": {"class_name": "Zeros", "config": {}}, "scale": true, "axis": -1, "gamma_constraint": null, "gamma_regularizer": null, "beta_regularizer": null, "momentum": 0.99, "center": true}, "inbound_nodes": [[["conv2d_23", 0, 0, {}]]], "name": "batch_normalization_23"}, {"class_name": "Activation", "config": {"activation": "relu", "trainable": true, "name": "activation_23"}, "inbound_nodes": [[["batch_normalization_23", 0, 0, {}]]], "name": "activation_23"}, {"class_name": "Conv2D", "config": {"kernel_constraint": null, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"distribution": "uniform", "scale": 1.0, "seed": null, "mode": "fan_avg"}}, "name": "conv2d_24", "bias_regularizer": null, "bias_constraint": null, "activation": "linear", "trainable": true, "data_format": "channels_last", "padding": "same", "strides": [1, 1], "dilation_rate": [1, 1], "kernel_regularizer": null, "filters": 128, "bias_initializer": {"class_name": "Zeros", "config": {}}, "use_bias": true, "activity_regularizer": null, "kernel_size": [3, 3]}, "inbound_nodes": [[["activation_23", 0, 0, {}]]], "name": "conv2d_24"}, {"class_name": "BatchNormalization", "config": {"beta_constraint": null, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "name": "batch_normalization_24", "epsilon": 0.001, "trainable": true, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_initializer": {"class_name": "Zeros", "config": {}}, "scale": true, "axis": -1, "gamma_constraint": null, "gamma_regularizer": null, "beta_regularizer": null, "momentum": 0.99, "center": true}, "inbound_nodes": [[["conv2d_24", 0, 0, {}]]], "name": "batch_normalization_24"}, {"class_name": "Add", "config": {"trainable": true, "name": "add_9"}, "inbound_nodes": [[["batch_normalization_24", 0, 0, {}], ["activation_22", 0, 0, {}]]], "name": "add_9"}, {"class_name": "Activation", "config": {"activation": "relu", "trainable": true, "name": "activation_24"}, "inbound_nodes": [[["add_9", 0, 0, {}]]], "name": "activation_24"}, {"class_name": "Conv2D", "config": {"kernel_constraint": null, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"distribution": "uniform", "scale": 1.0, "seed": null, "mode": "fan_avg"}}, "name": "conv2d_25", "bias_regularizer": null, "bias_constraint": null, "activation": "softmax", "trainable": true, "data_format": "channels_last", "padding": "same", "strides": [1, 1], "dilation_rate": [1, 1], "kernel_regularizer": null, "filters": 2, "bias_initializer": {"class_name": "Zeros", "config": {}}, "use_bias": true, "activity_regularizer": null, "kernel_size": [3, 3]}, "inbound_nodes": [[["activation_24", 0, 0, {}]]], "name": "conv2d_25"}, {"class_name": "Conv2D", "config": {"kernel_constraint": null, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"distribution": "uniform", "scale": 1.0, "seed": null, "mode": "fan_avg"}}, "name": "conv2d_26", "bias_regularizer": null, "bias_constraint": null, "activation": "linear", "trainable": true, "data_format": "channels_last", "padding": "same", "strides": [1, 1], "dilation_rate": [1, 1], "kernel_regularizer": null, "filters": 6, "bias_initializer": {"class_name": "Zeros", "config": {}}, "use_bias": true, "activity_regularizer": null, "kernel_size": [3, 3]}, "inbound_nodes": [[["activation_24", 0, 0, {}]]], "name": "conv2d_26"}, {"class_name": "Concatenate", "config": {"trainable": true, "name": "concatenate_1", "axis": 3}, "inbound_nodes": [[["conv2d_25", 0, 0, {}], ["conv2d_26", 0, 0, {}]]], "name": "concatenate_1"}], "input_layers": [["input", 0, 0]], "output_layers": [["concatenate_1", 0, 0]], "name": "model_1"}, "backend": "tensorflow"} --------------------------------------------------------------------------------