diff --git a/Test Notebook.ipynb b/Test Notebook.ipynb index 9f70607095..5ed2c3300e 100644 --- a/Test Notebook.ipynb +++ b/Test Notebook.ipynb @@ -39,16 +39,18 @@ }, { "cell_type": "code", - "execution_count": 5, - "metadata": {}, + "execution_count": 4, + "metadata": { + "scrolled": false + }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "NOTE: Gradio is in beta stage, please report all bugs to: a12d@stanford.edu\n", - "Model is running locally at: http://localhost:7861/interface.html\n", - "Model available publicly for 8 hours at: http://4d315e61.ngrok.io/interface.html\n" + "Model is running locally at: http://localhost:7862/interface.html\n", + "Model available publicly for 8 hours at: https://d38e1bdf.ngrok.io/interface.html\n" ] }, { @@ -58,14 +60,14 @@ " \n", " " ], "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -75,41 +77,26 @@ "name": "stderr", "output_type": "stream", "text": [ - "127.0.0.1 - - [06/Mar/2019 11:55:01] \"GET /interface.html HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [06/Mar/2019 11:55:01] \"GET /interface.html HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [06/Mar/2019 11:55:01] \"GET /static/css/gradio.css HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [06/Mar/2019 11:55:01] \"GET /static/js/all-io.js HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [06/Mar/2019 11:55:01] \"GET /static/js/image-upload-input.js HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [06/Mar/2019 11:55:01] \"GET /static/js/all-io.js HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [06/Mar/2019 11:55:01] \"GET /static/js/class-output.js HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [06/Mar/2019 11:55:02] code 404, message File not found\n", - "127.0.0.1 - - [06/Mar/2019 11:55:02] \"GET /favicon.ico HTTP/1.1\" 404 -\n", - "127.0.0.1 - - [06/Mar/2019 11:55:08] \"GET /interface.html HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [06/Mar/2019 11:55:09] \"GET /static/css/style.css HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [06/Mar/2019 11:55:09] \"GET /static/css/gradio.css HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [06/Mar/2019 11:55:09] \"GET /static/js/utils.js HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [06/Mar/2019 11:55:09] \"GET /static/js/all-io.js HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [06/Mar/2019 11:55:09] \"GET /static/img/logo_inline.png HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [06/Mar/2019 11:55:09] \"GET /static/js/image-upload-input.js HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [06/Mar/2019 11:55:09] \"GET /static/js/class-output.js HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [06/Mar/2019 11:55:10] code 404, message File not found\n", - "127.0.0.1 - - [06/Mar/2019 11:55:10] \"GET /favicon.ico HTTP/1.1\" 404 -\n", - "127.0.0.1 - - [06/Mar/2019 11:58:07] \"GET /interface.html HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [06/Mar/2019 11:58:07] \"GET /static/css/gradio.css HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [06/Mar/2019 11:58:07] \"GET /static/js/all-io.js HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [06/Mar/2019 11:58:07] \"GET /static/js/image-upload-input.js HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [06/Mar/2019 11:58:07] \"GET /static/js/class-output.js HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [06/Mar/2019 11:58:31] \"GET /interface.html HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [06/Mar/2019 11:58:43] \"GET /interface.html HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [06/Mar/2019 11:58:44] \"GET /static/js/utils.js HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [06/Mar/2019 11:58:44] \"GET /static/css/gradio.css HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [06/Mar/2019 11:58:44] \"GET /static/js/all-io.js HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [06/Mar/2019 11:58:44] \"GET /static/css/style.css HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [06/Mar/2019 11:58:44] \"GET /static/js/image-upload-input.js HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [06/Mar/2019 11:58:44] \"GET /static/js/class-output.js HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [06/Mar/2019 11:58:44] \"GET /static/img/logo_inline.png HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [06/Mar/2019 11:58:45] code 404, message File not found\n", - "127.0.0.1 - - [06/Mar/2019 11:58:45] \"GET /favicon.ico HTTP/1.1\" 404 -\n" + "127.0.0.1 - - [06/Mar/2019 21:54:13] \"GET /interface.html HTTP/1.1\" 200 -\n", + "127.0.0.1 - - [06/Mar/2019 21:54:13] \"GET /interface.html HTTP/1.1\" 200 -\n", + "127.0.0.1 - - [06/Mar/2019 21:54:14] \"GET /static/css/style.css HTTP/1.1\" 200 -\n", + "127.0.0.1 - - [06/Mar/2019 21:54:14] \"GET /static/css/gradio.css HTTP/1.1\" 200 -\n", + "127.0.0.1 - - [06/Mar/2019 21:54:14] \"GET /static/js/all-io.js HTTP/1.1\" 200 -\n", + "127.0.0.1 - - [06/Mar/2019 21:54:14] \"GET /static/js/image-upload-input.js HTTP/1.1\" 200 -\n", + "127.0.0.1 - - [06/Mar/2019 21:54:14] \"GET /static/js/all-io.js HTTP/1.1\" 200 -\n", + "127.0.0.1 - - [06/Mar/2019 21:54:14] \"GET /static/js/class-output.js HTTP/1.1\" 200 -\n", + "127.0.0.1 - - [06/Mar/2019 21:54:14] code 404, message File not found\n", + "127.0.0.1 - - [06/Mar/2019 21:54:14] \"GET /favicon.ico HTTP/1.1\" 404 -\n", + "127.0.0.1 - - [06/Mar/2019 21:55:52] \"GET /interface.html HTTP/1.1\" 200 -\n", + "127.0.0.1 - - [06/Mar/2019 21:55:53] \"GET /static/css/style.css HTTP/1.1\" 200 -\n", + "127.0.0.1 - - [06/Mar/2019 21:55:53] \"GET /static/css/gradio.css HTTP/1.1\" 200 -\n", + "127.0.0.1 - - [06/Mar/2019 21:55:53] \"GET /static/img/logo_inline.png HTTP/1.1\" 200 -\n", + "127.0.0.1 - - [06/Mar/2019 21:55:53] \"GET /static/js/utils.js HTTP/1.1\" 200 -\n", + "127.0.0.1 - - [06/Mar/2019 21:55:53] \"GET /static/js/all-io.js HTTP/1.1\" 200 -\n", + "127.0.0.1 - - [06/Mar/2019 21:55:53] \"GET /static/js/image-upload-input.js HTTP/1.1\" 200 -\n", + "127.0.0.1 - - [06/Mar/2019 21:55:53] \"GET /static/js/class-output.js HTTP/1.1\" 200 -\n", + "127.0.0.1 - - [06/Mar/2019 21:55:54] code 404, message File not found\n", + "127.0.0.1 - - [06/Mar/2019 21:55:54] \"GET /favicon.ico HTTP/1.1\" 404 -\n" ] } ], diff --git a/examples/Emotional Detector (ImageUpload).ipynb b/examples/Emotional Detector (ImageUpload).ipynb index 4d721798a8..702ca9bc9c 100644 --- a/examples/Emotional Detector (ImageUpload).ipynb +++ b/examples/Emotional Detector (ImageUpload).ipynb @@ -52,22 +52,72 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "metadata": {}, "outputs": [ { - "ename": "DistutilsFileError", - "evalue": "cannot copy tree 'C:\\Users\\islam\\Anaconda3\\envs\\tensorflow\\lib\\site-packages\\gradio\\static\\': not a directory", - "output_type": "error", - "traceback": [ - "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[1;31mDistutilsFileError\u001b[0m Traceback (most recent call last)", - "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[0miface\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mgradio\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mInterface\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0minputs\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m'imageupload'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0moutputs\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m'label'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mmodel\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mmodel\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mmodel_type\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m'keras'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[0miface\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlaunch\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mshare\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mFalse\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[1;32m~\\Anaconda3\\envs\\tensorflow\\lib\\site-packages\\gradio\\interface.py\u001b[0m in \u001b[0;36mlaunch\u001b[1;34m(self, inline, browser, share)\u001b[0m\n\u001b[0;32m 136\u001b[0m \u001b[0mserver_port\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mnetworking\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mstart_simple_server\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0moutput_directory\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 137\u001b[0m \u001b[0mpath_to_server\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;34m'http://localhost:{}/'\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mformat\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mserver_port\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 138\u001b[1;33m \u001b[0mnetworking\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mbuild_template\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0moutput_directory\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0minput_interface\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0moutput_interface\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 139\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 140\u001b[0m \u001b[1;31m# Set up a port to serve a websocket that sets up the communication between the front-end and model.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", - "\u001b[1;32m~\\Anaconda3\\envs\\tensorflow\\lib\\site-packages\\gradio\\networking.py\u001b[0m in \u001b[0;36mbuild_template\u001b[1;34m(temp_dir, input_interface, output_interface)\u001b[0m\n\u001b[0;32m 67\u001b[0m \u001b[0mf\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mwrite\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mstr\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mall_io_soup\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[0;32m 68\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 69\u001b[1;33m \u001b[0mcopy_files\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mSTATIC_PATH_LIB\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mos\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpath\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mjoin\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mtemp_dir\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mSTATIC_PATH_TEMP\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 70\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 71\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", - "\u001b[1;32m~\\Anaconda3\\envs\\tensorflow\\lib\\site-packages\\gradio\\networking.py\u001b[0m in \u001b[0;36mcopy_files\u001b[1;34m(src_dir, dest_dir)\u001b[0m\n\u001b[0;32m 76\u001b[0m \u001b[1;33m:\u001b[0m\u001b[0mparam\u001b[0m \u001b[0mdest_dir\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mstring\u001b[0m \u001b[0mpath\u001b[0m \u001b[0mto\u001b[0m \u001b[0mdestination\u001b[0m \u001b[0mdirectory\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 77\u001b[0m \"\"\"\n\u001b[1;32m---> 78\u001b[1;33m \u001b[0mdir_util\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcopy_tree\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msrc_dir\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdest_dir\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 79\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 80\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", - "\u001b[1;32m~\\Anaconda3\\envs\\tensorflow\\lib\\distutils\\dir_util.py\u001b[0m in \u001b[0;36mcopy_tree\u001b[1;34m(src, dst, preserve_mode, preserve_times, preserve_symlinks, update, verbose, dry_run)\u001b[0m\n\u001b[0;32m 122\u001b[0m \u001b[1;32mif\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0mdry_run\u001b[0m \u001b[1;32mand\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0mos\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpath\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0misdir\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msrc\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[0;32m 123\u001b[0m raise DistutilsFileError(\n\u001b[1;32m--> 124\u001b[1;33m \"cannot copy tree '%s': not a directory\" % src)\n\u001b[0m\u001b[0;32m 125\u001b[0m \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 126\u001b[0m \u001b[0mnames\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mos\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlistdir\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msrc\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", - "\u001b[1;31mDistutilsFileError\u001b[0m: cannot copy tree 'C:\\Users\\islam\\Anaconda3\\envs\\tensorflow\\lib\\site-packages\\gradio\\static\\': not a directory" + "name": "stdout", + "output_type": "stream", + "text": [ + "NOTE: Gradio is in beta stage, please report all bugs to: a12d@stanford.edu\n", + "Model is running locally at: http://localhost:7860/interface.html\n", + "To create a public link, set `share=True` in the argument to `launch()`\n" + ] + }, + { + "data": { + "text/html": [ + "\n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "('http://localhost:7860/interface.html', None)" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "127.0.0.1 - - [06/Mar/2019 12:13:52] \"GET /interface.html HTTP/1.1\" 200 -\n", + "127.0.0.1 - - [06/Mar/2019 12:13:52] \"GET /static/css/gradio.css HTTP/1.1\" 200 -\n", + "127.0.0.1 - - [06/Mar/2019 12:13:52] \"GET /static/js/all-io.js HTTP/1.1\" 200 -\n", + "127.0.0.1 - - [06/Mar/2019 12:13:52] \"GET /static/js/image-upload-input.js HTTP/1.1\" 200 -\n", + "127.0.0.1 - - [06/Mar/2019 12:13:52] \"GET /static/js/class-output.js HTTP/1.1\" 200 -\n", + "Error in connection handler\n", + "Traceback (most recent call last):\n", + " File \"C:\\Users\\islam\\Anaconda3\\envs\\tensorflow\\lib\\site-packages\\websockets\\server.py\", line 169, in handler\n", + " yield from self.ws_handler(self, path)\n", + " File \"C:\\Users\\islam\\Anaconda3\\envs\\tensorflow\\lib\\site-packages\\gradio\\interface.py\", line 106, in communicate\n", + " prediction = self.predict(processed_input)\n", + " File \"C:\\Users\\islam\\Anaconda3\\envs\\tensorflow\\lib\\site-packages\\gradio\\interface.py\", line 122, in predict\n", + " return self.model_obj.predict(preprocessed_input)\n", + " File \"C:\\Users\\islam\\Anaconda3\\envs\\tensorflow\\lib\\site-packages\\keras\\engine\\training.py\", line 1149, in predict\n", + " x, _, _ = self._standardize_user_data(x)\n", + " File \"C:\\Users\\islam\\Anaconda3\\envs\\tensorflow\\lib\\site-packages\\keras\\engine\\training.py\", line 751, in _standardize_user_data\n", + " exception_prefix='input')\n", + " File \"C:\\Users\\islam\\Anaconda3\\envs\\tensorflow\\lib\\site-packages\\keras\\engine\\training_utils.py\", line 138, in standardize_input_data\n", + " str(data_shape))\n", + "ValueError: Error when checking input: expected conv2d_1_input to have shape (48, 48, 1) but got array with shape (224, 224, 3)\n" ] } ], diff --git a/gradio/templates/base_template.html b/gradio/templates/base_template.html index a8e29e925f..c8356c336a 100644 --- a/gradio/templates/base_template.html +++ b/gradio/templates/base_template.html @@ -22,7 +22,9 @@
+
+ diff --git a/gradio/templates/label_output.html b/gradio/templates/label_output.html index e25c5a1216..f9303439eb 100644 --- a/gradio/templates/label_output.html +++ b/gradio/templates/label_output.html @@ -4,7 +4,4 @@
- - -