{"id":3019,"date":"2021-05-18T01:38:08","date_gmt":"2021-05-17T16:38:08","guid":{"rendered":"http:\/\/43.203.250.216\/?p=3019"},"modified":"2023-02-15T04:36:24","modified_gmt":"2023-02-14T19:36:24","slug":"openvino-python%ec%9d%84-%ec%9d%b4%ec%9a%a9%ed%95%9c-%ea%b0%84%eb%8b%a8%ed%95%9c-inferencing-%ec%98%88%ec%a0%9c","status":"publish","type":"post","link":"https:\/\/litcoder.com\/?p=3019","title":{"rendered":"OpenVINO python\uc744 \uc774\uc6a9\ud55c inference \uc608\uc81c"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">OpenVINO\ub97c \uc774\uc6a9\ud574\uc11c TensorFlow(Keras)\ub85c training\ud55c \ubaa8\ub378\ub85c \ucd94\ub860(inference)\uc744 \uc218\ud589\ud558\ub294 \uac04\ub2e8\ud55c \uc608\uc81c\ub97c \uc791\uc131\ud574 \ubcf4\uc558\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">TensorFlow model\uc744 freeze\ud558\uae30<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Training\ub41c \ubaa8\ub378\uc744 model optimizer\uc5d0 \ub123\uae30 \uc804\uc5d0 freeze\uc2dc\ucf1c\uc57c \ud558\ub294\ub370, output_node_names\ub97c \uc785\ub825\ud558\ub77c\ub294 \uc624\ub958 \uba54\uc138\uc9c0\uac00 \uacc4\uc18d \ub72c\ub2e4\uba74 \uc81c\ub300\ub85c freezing\uc744 \uc218\ud589\ud588\ub294\uc9c0 \ud655\uc778\ud574 \ubcf4\ub294\uac8c \uc88b\ub2e4. \uc54c\uc544\ubcf4\uae30 \uc27d\uac8c \ud558\uae30 \uc704\ud574 \uc785\ucd9c\ub825 layer\uc5d0 &#8216;name=&#8217; parameter\ub85c \ub2e4\uc74c\uacfc \uac19\uc774 \uc774\ub984\uc744 \uc9c0\uc815\ud574 \uc8fc\uc5c8\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"eclipse\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">model = tf.keras.models.Sequential([\n    tf.keras.layers.Flatten(input_shape=(28, 28), name='input'),\n    tf.keras.layers.Dense(128, activation='relu'),\n    tf.keras.layers.Dropout(0.2),\n    tf.keras.layers.Dense(10, activation='softmax', name='output')\n])<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uadf8\ub7ec\uba74 layer\uc758 \uc774\ub984\ub4e4\uc744 \ucd9c\ub825\ud560 \ub54c \ub2e4\uc74c\uacfc \uac19\uc774 \ub098\uc628\ub2e4. \uc804\uccb4 MINST model training\uacfc freezing \uacfc\uc815\uc740 \uc774 <a href=\"https:\/\/colab.research.google.com\/drive\/14TNis9JeRRv7lT6en_SS7rlvn-PxdD_G?authuser=1\" data-type=\"URL\">CoLab<\/a>\uc5d0 \uc801\uc5b4 \ub450\uc5c8\uc73c\ub2c8 \ucc38\uc870.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">------------------------------------------------------------\nFrozen model layers:\nx\nsequential\/input\/Const\nsequential\/input\/Reshape\nsequential\/dense\/MatMul\/ReadVariableOp\/resource\nsequential\/dense\/MatMul\/ReadVariableOp\nsequential\/dense\/MatMul\nsequential\/dense\/BiasAdd\/ReadVariableOp\/resource\nsequential\/dense\/BiasAdd\/ReadVariableOp\nsequential\/dense\/BiasAdd\nsequential\/dense\/Relu\nsequential\/dropout\/Identity\nsequential\/output\/MatMul\/ReadVariableOp\/resource\nsequential\/output\/MatMul\/ReadVariableOp\nsequential\/output\/MatMul\nsequential\/output\/BiasAdd\/ReadVariableOp\/resource\nsequential\/output\/BiasAdd\/ReadVariableOp\nsequential\/output\/BiasAdd\nsequential\/output\/Softmax\nIdentity\n------------------------------------------------------------<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\ubaa8\ub378 \uc635\ud2f0\ub9c8\uc774\uc800(mo-tf.py)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Freeze\ub41c \ubaa8\ub378\uc744 \ub2e4\uc6b4\ub85c\ub4dc \ubc1b\uc740 \ud6c4\uc5d0 TensorFlow\uc6a9 model optimizer\uc778 mo-tf.py\ub97c \uc2e4\ud589 \uc2dc\ud0a4\uba74 model\uc744 \ub098\ud0c0\ub0b4\ub294 xml file\uacfc weight\uac12\uc744 \uc800\uc7a5\ud558\ub294 bin file\uc774 \uc0dd\uc131\ub41c\ub2e4. \uc774 \ub54c training\ub41c \ubaa8\ub378\uc740 \uc785\ub825 shape\uc744 [-1, 28, 28]\ub85c \uc54c\uace0 \uc788\uae30 \ub54c\ubb38\uc5d0 \uc74c\uc218\uac00 \uc544\ub2cc \uac12\uc744 \ub123\uc5b4 \ub2ec\ub77c\ub294 \uc5d0\ub7ec\uac00 \uc0dd\uae34\ub2e4. &#8211;input_shape parameter\ub97c \ub2e4\uc74c\uacfc \uac19\uc774 \uc801\uc5b4\uc900\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/opt\/intel\/openvino_2021\/deployment_tools\/model_optimizer\/mo_tf.py --input_model .\/model\/mnist_model\/frozen_graph.pb  --input_shape [28,28]<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">OpenVINO\ub97c \uc774\uc6a9\ud55c inference<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Model optimizer\uac00 \uc218\ud589\ub418\uc5c8\ub2e4\uba74 \uc774\uc81c xml file\uc744 \uc774\uc6a9\ud574 model\uc744 load\ud558\uace0 inference\ub97c \uc218\ud589\ud558\uba74 \ub41c\ub2e4. \ub2e4\uc74c\uc740 Training \ud6c4 freezing\uacfc model optimization\uc774 \uc218\ud589\ub41c XML file\uc744 \uc774\uc6a9\ud574\uc11c inference\ub97c \uc218\ud589\ud558\ub294 \uac04\ub2e8\ud55c \ucf54\ub4dc\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><script src=\"https:\/\/gist.github.com\/0d9dd08a84e665644ef18e1bd2009abd.js\"><\/script><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"> \ucd9c\ub825\uacb0\uacfc<\/h2>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"dracula\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$ python3 .\/infer_mnist.py .\/model\/mnist_model\/frozen\/frozen_graph.xml\n\n        Model path= .\/model\/mnist_model\/frozen\/frozen_graph.xml \n        Device= CPU\nAccuracy: 0.9789 (hit: 9789\/ miss: 211)<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>OpenVINO\ub97c \uc774\uc6a9\ud574\uc11c TensorFlow(Keras)\ub85c training\ud55c \ubaa8\ub378\ub85c \ucd94\ub860(inference)\uc744 \uc218\ud589\ud558\ub294 \uac04\ub2e8\ud55c \uc608\uc81c\ub97c \uc791\uc131\ud574 \ubcf4\uc558\ub2e4. TensorFlow model\uc744 freeze\ud558\uae30 Training\ub41c \ubaa8\ub378\uc744 model optimizer\uc5d0 \ub123\uae30 \uc804\uc5d0 freeze\uc2dc\ucf1c\uc57c \ud558\ub294\ub370, output_node_names\ub97c \uc785\ub825\ud558\ub77c\ub294 \uc624\ub958 \uba54\uc138\uc9c0\uac00 \uacc4\uc18d \ub72c\ub2e4\uba74 \uc81c\ub300\ub85c freezing\uc744 \uc218\ud589\ud588\ub294\uc9c0 \ud655\uc778\ud574 \ubcf4\ub294\uac8c \uc88b\ub2e4. \uc54c\uc544\ubcf4\uae30 \uc27d\uac8c \ud558\uae30 \uc704\ud574 \uc785\ucd9c\ub825 layer\uc5d0 &#8216;name=&#8217; parameter\ub85c \ub2e4\uc74c\uacfc \uac19\uc774 \uc774\ub984\uc744 \uc9c0\uc815\ud574 \uc8fc\uc5c8\ub2e4. \uadf8\ub7ec\uba74 layer\uc758 \uc774\ub984\ub4e4\uc744 \ucd9c\ub825\ud560 \ub54c \ub2e4\uc74c\uacfc \uac19\uc774 \ub098\uc628\ub2e4. [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[5],"tags":[277,278,276,275,105,228],"class_list":["post-3019","post","type-post","status-publish","format-standard","hentry","category-programming","tag-colab","tag-model-freezing","tag-model-optimizer","tag-openvino","tag-python","tag-tensorflow"],"jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":4025,"url":"https:\/\/litcoder.com\/?p=4025","url_meta":{"origin":3019,"position":0},"title":"OpenVINO Object Detection Model\uc758 \uc804\ucc98\ub9ac\uc640 \ud6c4\ucc98\ub9ac\ub97c \uac04\ub2e8\ud558\uac8c","author":"litcoder","date":"2026\ub144 1\uc6d4 28\uc77c","format":false,"excerpt":"AI model\ub4e4\uc740 \uc785\ucd9c\ub825 layer\uc758 \uad6c\uc870\uac00 \ub2e4\ub974\ubbc0\ub85c \uc11c\ub85c \ub2e4\ub978 pre\/post processing\uc744 \ud544\uc694\ub85c \ud55c\ub2e4. Vision model\uc744 \uc608\ub85c \ub4e4\uba74 \uc5b4\ub5a4 \ubaa8\ub378\uc740 \uc785\ub825\uc744 416x416\uc73c\ub85c \ubc1b\uac8c \ub418\uc5b4 \uc788\uc5b4\uc11c \uc785\ub825 \uc804\uc5d0 \uc6d0\ubcf8 \ud06c\uae30\ub85c \ubd80\ud130 resizing\uc744 \ud574\uc8fc\uc5b4\uc57c \ud558\uace0, \uc5b4\ub5a4 \ubaa8\ub378\uc740 resizing layer\uc744 \ud3ec\ud568\ud558\uace0 \uc788\uc5b4\uc11c \uadf8\ub0e5 \uc785\ub825\ud574\ub3c4 \uc798 \ub3d9\uc791\ud558\uae30\ub3c4 \ud55c\ub2e4. \ub610\ud55c \uc5b4\ub5a4 \ubaa8\ub378\uc740 \uc785\ub825\uac12\uc744 \uc815\uaddc\ud654 \ud574\uc11c \uc785\ub825\ud574 \uc8fc\uc5b4\uc57c\u2026","rel":"","context":"&quot;Programming&quot;\uc5d0\uc11c","block_context":{"text":"Programming","link":"https:\/\/litcoder.com\/?cat=5"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4642,"url":"https:\/\/litcoder.com\/?p=4642","url_meta":{"origin":3019,"position":1},"title":"Datumaro\ub97c \uc774\uc6a9\ud55c dataset format \ud655\uc778","author":"litcoder","date":"2026\ub144 8\uc6d4 12\uc77c","format":false,"excerpt":"Datumaro\ub294 Intel\uc5d0\uc11c Opensource\ub85c \ubc30\ud3ec\ud558\ub294 Dataset \uad00\ub9ac\ub97c \uc704\ud55c \ud504\ub808\uc784 \uc6cc\ud06c\uc774\ub2e4. Dataset \uac04\uc758 \ubcc0\ud658 \ub4f1\uc758 \ub2e4\uc591\ud55c \uae30\ub2a5\uc744 \uc81c\uacf5\ud558\ub294\ub370, \uc774\ub97c \uc774\uc6a9\ud558\uba74 \uc8fc\uc5b4\uc9c4 dataset\uc774 \uc5b4\ub5a4 \ud3ec\ub9f7\uc778\uc9c0\ub3c4 \uc27d\uac8c \uc54c \uc218 \uc788\uae30\uc5d0 \uc720\uc6a9\ud558\ub2e4. \uc774 \ud3ec\uc2a4\ud305\uc5d0\uc11c\ub294 Datumaro\ub97c \uc124\uc815\ud558\uace0 dataset\uc758 \ud3ec\ub9f7\uc744 \ud655\uc778\ud558\ub294 \ubc29\ubc95\uc744 \uc54c\uc544\ubcf8\ub2e4. Dependencies \uc774 \ud3ec\uc2a4\ud305\uc5d0\uc11c\ub294 datumaro\uc5d0 \ud3ec\ud568\ub41c datum\uc758 dataset download \uae30\ub2a5\uc744 \uc774\uc6a9\ud574\uc11c \ub2e4\uc591\ud55c \ud615\uc2dd\uc758 dataset\uc744 download\u2026","rel":"","context":"&quot;Programming&quot;\uc5d0\uc11c","block_context":{"text":"Programming","link":"https:\/\/litcoder.com\/?cat=5"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/litcoder.com\/wp-content\/uploads\/2026\/07\/detect_ds_result.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":2509,"url":"https:\/\/litcoder.com\/?p=2509","url_meta":{"origin":3019,"position":2},"title":"TensorFlow\uc5d0\uc11c CUBLAS_STATUS_NOT_INITIALIZED \uc624\ub958 \ubb38\uc81c","author":"litcoder","date":"2020\ub144 8\uc6d4 3\uc77c","format":false,"excerpt":"failed to create cublas handle: CUBLAS_STATUS_NOT_INITIALIZED \uc774 \ubb38\uc81c\ub294 TensorFlow\uc758 GPU memory growth \uc124\uc815\uacfc \uad00\ub828\uc774 \uc788\ub2e4. \uc774 \uacbd\uc6b0 GPU\uc758 allow_grouth option\uc744 True\ub85c \uc124\uc815\ud558\uba74 \ubb38\uc81c\ub97c \ud574\uacb0\ud560 \uc218 \uc788\ub294\ub370, Use a GPU \ud398\uc774\uc9c0\uc5d0 \ub530\ub974\uba74 tf.config.experimental.set_memory_growth()\ub97c \ud1b5\ud574 True\ub85c \uc124\uc815\ud558\uac70\ub098 \ud639\uc740 \ud658\uacbd\ubcc0\uc218 TF_FORCE_GPU_ALLOW_GROWTH\ub97c \uc124\uc815\ud574\uc11c \ud574\uacb0 \ud560 \uc218 \uc788\ub2e4. \ucf54\ub4dc\uc5d0 \ub2e4\uc74c\uacfc \uac19\uc774 \ud658\uacbd \ubcc0\uc218\ub97c \uc124\uc815\ud574 \uc904\u2026","rel":"","context":"&quot;Programming&quot;\uc5d0\uc11c","block_context":{"text":"Programming","link":"https:\/\/litcoder.com\/?cat=5"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4654,"url":"https:\/\/litcoder.com\/?p=4654","url_meta":{"origin":3019,"position":3},"title":"PyO3\ub85c Rust code\uc5d0\uc11c Python module \uc0ac\uc6a9\ud558\uae30","author":"litcoder","date":"2026\ub144 8\uc6d4 19\uc77c","format":false,"excerpt":"PyO3\ub97c \uc774\uc6a9\ud558\uba74 Rust\uc5d0\uc11c Python\uc744 \ud638\ucd9c\ud558\uac70\ub098 \ubc18\ub300\ub85c Python\uc5d0\uc11c Rust\ub97c \ud638\ucd9c\ud558\ub294 \ubc14\uc778\ub529\uc744 \uad6c\ud604\ud560 \uc218 \uc788\ub2e4. \uc774 \ud3ec\uc2a4\ud305\uc5d0\uc11c\ub294 \uc608\uc804\uc5d0 \ud574\ubd24\ub358 Datumaro\ub85c \ub370\uc774\ud130\uc14b\uc744 detect\ud558\ub294 Python\ud568\uc218\ub97c Rust\ub85c \ud638\ucd9c\ud558\ub294 \uc608\uc81c\ub97c \uad6c\ud604\ud574 \ubcf8\ub2e4. Python \uc758\uc874\uc124 \uc124\uce58 Python \uad00\ub828\ud55c \uc758\uc874\uc131\uc740 \uc608\uc804\uacfc \uac19\uc774 Datumaro\ub97c \uc0ac\uc6a9\ud558\ub294\ub370 \ud544\uc694\ud55c \uac83\ub4e4\uc744 \uc124\uce58\ud574 \uc900\ub2e4. pip install 'datumaro[tf,tfds]' \\ tensorboardX \\ tensorflow-dataset \\ importlib_resources \\\u2026","rel":"","context":"&quot;Programming&quot;\uc5d0\uc11c","block_context":{"text":"Programming","link":"https:\/\/litcoder.com\/?cat=5"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/litcoder.com\/wp-content\/uploads\/2026\/07\/sc_dsdetect_rust.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/litcoder.com\/wp-content\/uploads\/2026\/07\/sc_dsdetect_rust.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/litcoder.com\/wp-content\/uploads\/2026\/07\/sc_dsdetect_rust.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/litcoder.com\/wp-content\/uploads\/2026\/07\/sc_dsdetect_rust.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":3716,"url":"https:\/\/litcoder.com\/?p=3716","url_meta":{"origin":3019,"position":4},"title":"OpenVINO\ub85c Intel NPU\uc5d0\uc11c \ucd94\ub860 \uc2e4\ud589\ud558\uae30","author":"litcoder","date":"2025\ub144 11\uc6d4 12\uc77c","format":false,"excerpt":"Intel 14\uc138\ub300 Meteor Lake \ubd80\ud130 NPU\uac00 \ud568\uaed8 embedding\ub418\uc5b4 \uc81c\uacf5\ub41c\ub2e4. Linux system\uc5d0\uc11c \uc0ac\uc6a9\ud558\ub824\uba74 kernel version 6.2\uc774\uc0c1\uc774 \uc124\uce58\ub418\uc5b4 \uc788\uc5b4\uc57c \ud55c\ub2e4. NPU \ub514\ubc14\uc774\uc2a4 \ud655\uc778 CPU: Intel(R) Core(TM) Ultra 5 OS: Ubuntu 24.04 Linux kernel: 6.14.0-33-generic lspci \uba85\ub839\uc5b4\ub85c NPU \ub514\ubc14\uc774\uc2a4\uac00 \uc778\uc2dd\ub418\uc5b4 \uc788\ub294\uc9c0\ub97c \ud655\uc778\ud560 \uc218 \uc788\ub2e4. $ lspci -v|grep -A 9 NPU 00:0b.0 Processing accelerators:\u2026","rel":"","context":"&quot;Linux&quot;\uc5d0\uc11c","block_context":{"text":"Linux","link":"https:\/\/litcoder.com\/?cat=4"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":3229,"url":"https:\/\/litcoder.com\/?p=3229","url_meta":{"origin":3019,"position":5},"title":"Multi-container app\uc758 Bad Gateway(502) \ubb38\uc81c \ub514\ubc84\uae45","author":"litcoder","date":"2023\ub144 6\uc6d4 4\uc77c","format":false,"excerpt":"Intel Training and Learning Suite(TLS)\ub294 \ucc98\uc74c\uc73c\ub85c \uacbd\ud5d8\ud574\ubcf4\ub294 multi-container application\uc774\ub2e4. \uc911\uac04\uc5d0 native\uac1c\ubc1c\uc744 \uc704\ud55c \ud658\uacbd \uc124\uc815\uc744 \ub07c\uc6cc \ub123\uc5b4 \ubcf4\ub824\uace0 \uc774\uac83 \uc800\uac83 \uc2dc\ub3c4\ud558\ub294 \uc911\uc5d0 web interface\ub97c \ub2f4\ub2f9\ud558\ub294 tls_proxy\ub77c\ub294 docker\uac00 Bad Gateway\ub97c \ub744\uc6b0\uba74\uc11c \ubb38\uc81c\uac00 \uc0dd\uacbc\ub2e4. \ub514\ubc84\uae45 \ud558\ub294 \uacfc\uc815\uc5d0\uc11c \uc0ac\uc6a9\ud574 \ubcf8 docker-compose\uba85\ub839\uc5b4 \ub4e4\uc758 \uc4f0\uc784\uc0c8\uac00 \uc720\uc6a9\ud560 \uac83 \uac19\uc544\uc11c \uae30\ub85d\uc73c\ub85c \ub0a8\uaca8 \ub454\ub2e4. Port number\uc640 docker\ucc3e\uae30: docker-compose ps\u2026","rel":"","context":"&quot;Linux&quot;\uc5d0\uc11c","block_context":{"text":"Linux","link":"https:\/\/litcoder.com\/?cat=4"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/posts\/3019","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/litcoder.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3019"}],"version-history":[{"count":9,"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/posts\/3019\/revisions"}],"predecessor-version":[{"id":3206,"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/posts\/3019\/revisions\/3206"}],"wp:attachment":[{"href":"https:\/\/litcoder.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3019"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/litcoder.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3019"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/litcoder.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3019"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}