diff --git "a/main.ipynb" "b/main.ipynb" --- "a/main.ipynb" +++ "b/main.ipynb" @@ -28,7 +28,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -47,7 +47,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -70,7 +70,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -89,7 +89,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -127,54 +127,54 @@ " \n", " \n", " \n", - " 495\n", - " v_TennisSwing_g10_c06.avi\n", - " TennisSwing\n", + " 302\n", + " v_Punch_g17_c04.avi\n", + " Punch\n", " \n", " \n", - " 160\n", - " v_PlayingCello_g14_c02.avi\n", + " 227\n", + " v_PlayingCello_g24_c04.avi\n", " PlayingCello\n", " \n", " \n", - " 455\n", - " v_ShavingBeard_g22_c06.avi\n", - " ShavingBeard\n", + " 335\n", + " v_Punch_g22_c05.avi\n", + " Punch\n", " \n", " \n", - " 532\n", - " v_TennisSwing_g16_c01.avi\n", - " TennisSwing\n", + " 115\n", + " v_CricketShot_g25_c05.avi\n", + " CricketShot\n", " \n", " \n", - " 332\n", - " v_Punch_g22_c02.avi\n", - " Punch\n", + " 64\n", + " v_CricketShot_g17_c02.avi\n", + " CricketShot\n", " \n", " \n", - " 341\n", - " v_Punch_g23_c04.avi\n", - " Punch\n", + " 74\n", + " v_CricketShot_g19_c01.avi\n", + " CricketShot\n", " \n", " \n", - " 280\n", - " v_Punch_g14_c02.avi\n", - " Punch\n", + " 464\n", + " v_ShavingBeard_g24_c01.avi\n", + " ShavingBeard\n", " \n", " \n", - " 11\n", - " v_CricketShot_g09_c05.avi\n", - " CricketShot\n", + " 565\n", + " v_TennisSwing_g21_c02.avi\n", + " TennisSwing\n", " \n", " \n", - " 486\n", - " v_TennisSwing_g09_c04.avi\n", - " TennisSwing\n", + " 313\n", + " v_Punch_g19_c01.avi\n", + " Punch\n", " \n", " \n", - " 445\n", - " v_ShavingBeard_g21_c03.avi\n", - " ShavingBeard\n", + " 557\n", + " v_TennisSwing_g19_c06.avi\n", + " TennisSwing\n", " \n", " \n", "\n", @@ -182,19 +182,19 @@ ], "text/plain": [ " video_name tag\n", - "495 v_TennisSwing_g10_c06.avi TennisSwing\n", - "160 v_PlayingCello_g14_c02.avi PlayingCello\n", - "455 v_ShavingBeard_g22_c06.avi ShavingBeard\n", - "532 v_TennisSwing_g16_c01.avi TennisSwing\n", - "332 v_Punch_g22_c02.avi Punch\n", - "341 v_Punch_g23_c04.avi Punch\n", - "280 v_Punch_g14_c02.avi Punch\n", - "11 v_CricketShot_g09_c05.avi CricketShot\n", - "486 v_TennisSwing_g09_c04.avi TennisSwing\n", - "445 v_ShavingBeard_g21_c03.avi ShavingBeard" + "302 v_Punch_g17_c04.avi Punch\n", + "227 v_PlayingCello_g24_c04.avi PlayingCello\n", + "335 v_Punch_g22_c05.avi Punch\n", + "115 v_CricketShot_g25_c05.avi CricketShot\n", + "64 v_CricketShot_g17_c02.avi CricketShot\n", + "74 v_CricketShot_g19_c01.avi CricketShot\n", + "464 v_ShavingBeard_g24_c01.avi ShavingBeard\n", + "565 v_TennisSwing_g21_c02.avi TennisSwing\n", + "313 v_Punch_g19_c01.avi Punch\n", + "557 v_TennisSwing_g19_c06.avi TennisSwing" ] }, - "execution_count": 7, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -211,7 +211,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -249,7 +249,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ @@ -274,7 +274,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -294,7 +294,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 8, "metadata": {}, "outputs": [ { @@ -358,7 +358,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -419,7 +419,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -427,55 +427,55 @@ "output_type": "stream", "text": [ "Epoch 1/12\n", - "7/7 [==============================] - 6s 349ms/step - loss: 1.6094 - accuracy: 0.2458 - val_loss: 1.8301 - val_accuracy: 0.0000e+00\n", + "7/7 [==============================] - 6s 300ms/step - loss: 1.3992 - accuracy: 0.4530 - val_loss: 1.4966 - val_accuracy: 0.3128\n", "\n", - "Epoch 00001: val_loss improved from inf to 1.83010, saving model to /home/chainyo/code/video-classification-cnn-rnn\n", + "Epoch 00001: val_loss improved from inf to 1.49663, saving model to /home/chainyo/code/video-classification-cnn-rnn\n", "Epoch 2/12\n", - "7/7 [==============================] - 0s 16ms/step - loss: 1.5141 - accuracy: 0.3108 - val_loss: 1.7990 - val_accuracy: 0.0000e+00\n", + "7/7 [==============================] - 0s 16ms/step - loss: 1.0924 - accuracy: 0.7422 - val_loss: 1.4947 - val_accuracy: 0.3352\n", "\n", - "Epoch 00002: val_loss improved from 1.83010 to 1.79903, saving model to /home/chainyo/code/video-classification-cnn-rnn\n", + "Epoch 00002: val_loss improved from 1.49663 to 1.49470, saving model to /home/chainyo/code/video-classification-cnn-rnn\n", "Epoch 3/12\n", - "7/7 [==============================] - 0s 16ms/step - loss: 1.3297 - accuracy: 0.4964 - val_loss: 1.6561 - val_accuracy: 0.0447\n", + "7/7 [==============================] - 0s 16ms/step - loss: 0.9680 - accuracy: 0.8578 - val_loss: 1.4927 - val_accuracy: 0.3352\n", "\n", - "Epoch 00003: val_loss improved from 1.79903 to 1.65611, saving model to /home/chainyo/code/video-classification-cnn-rnn\n", + "Epoch 00003: val_loss improved from 1.49470 to 1.49274, saving model to /home/chainyo/code/video-classification-cnn-rnn\n", "Epoch 4/12\n", - "7/7 [==============================] - 0s 16ms/step - loss: 1.1856 - accuracy: 0.5904 - val_loss: 1.5015 - val_accuracy: 0.2291\n", + "7/7 [==============================] - 0s 15ms/step - loss: 0.8960 - accuracy: 0.8843 - val_loss: 1.4677 - val_accuracy: 0.3520\n", "\n", - "Epoch 00004: val_loss improved from 1.65611 to 1.50152, saving model to /home/chainyo/code/video-classification-cnn-rnn\n", + "Epoch 00004: val_loss improved from 1.49274 to 1.46771, saving model to /home/chainyo/code/video-classification-cnn-rnn\n", "Epoch 5/12\n", - "7/7 [==============================] - 0s 16ms/step - loss: 1.0936 - accuracy: 0.6867 - val_loss: 1.5995 - val_accuracy: 0.0615\n", + "7/7 [==============================] - 0s 15ms/step - loss: 0.8277 - accuracy: 0.9349 - val_loss: 1.4926 - val_accuracy: 0.3352\n", "\n", - "Epoch 00005: val_loss did not improve from 1.50152\n", + "Epoch 00005: val_loss did not improve from 1.46771\n", "Epoch 6/12\n", - "7/7 [==============================] - 0s 16ms/step - loss: 1.0538 - accuracy: 0.6795 - val_loss: 1.5169 - val_accuracy: 0.2123\n", + "7/7 [==============================] - 0s 15ms/step - loss: 0.7922 - accuracy: 0.9253 - val_loss: 1.4999 - val_accuracy: 0.3352\n", "\n", - "Epoch 00006: val_loss did not improve from 1.50152\n", + "Epoch 00006: val_loss did not improve from 1.46771\n", "Epoch 7/12\n", - "7/7 [==============================] - 0s 16ms/step - loss: 0.9736 - accuracy: 0.7253 - val_loss: 1.5049 - val_accuracy: 0.2346\n", + "7/7 [==============================] - 0s 16ms/step - loss: 0.7265 - accuracy: 0.9205 - val_loss: 1.4578 - val_accuracy: 0.3464\n", "\n", - "Epoch 00007: val_loss did not improve from 1.50152\n", + "Epoch 00007: val_loss improved from 1.46771 to 1.45775, saving model to /home/chainyo/code/video-classification-cnn-rnn\n", "Epoch 8/12\n", - "7/7 [==============================] - 0s 16ms/step - loss: 0.9598 - accuracy: 0.7566 - val_loss: 1.4934 - val_accuracy: 0.2626\n", + "7/7 [==============================] - 0s 17ms/step - loss: 0.7045 - accuracy: 0.9542 - val_loss: 1.4818 - val_accuracy: 0.3464\n", "\n", - "Epoch 00008: val_loss improved from 1.50152 to 1.49344, saving model to /home/chainyo/code/video-classification-cnn-rnn\n", + "Epoch 00008: val_loss did not improve from 1.45775\n", "Epoch 9/12\n", - "7/7 [==============================] - 0s 16ms/step - loss: 0.9171 - accuracy: 0.7807 - val_loss: 1.5091 - val_accuracy: 0.2626\n", + "7/7 [==============================] - 0s 16ms/step - loss: 0.6313 - accuracy: 0.9566 - val_loss: 1.5009 - val_accuracy: 0.3408\n", "\n", - "Epoch 00009: val_loss did not improve from 1.49344\n", + "Epoch 00009: val_loss did not improve from 1.45775\n", "Epoch 10/12\n", - "7/7 [==============================] - 0s 15ms/step - loss: 0.8867 - accuracy: 0.8193 - val_loss: 1.4956 - val_accuracy: 0.3017\n", + "7/7 [==============================] - 0s 15ms/step - loss: 0.5996 - accuracy: 0.9711 - val_loss: 1.5407 - val_accuracy: 0.3464\n", "\n", - "Epoch 00010: val_loss did not improve from 1.49344\n", + "Epoch 00010: val_loss did not improve from 1.45775\n", "Epoch 11/12\n", - "7/7 [==============================] - 0s 17ms/step - loss: 0.8291 - accuracy: 0.8819 - val_loss: 1.4954 - val_accuracy: 0.3017\n", + "7/7 [==============================] - 0s 15ms/step - loss: 0.5448 - accuracy: 0.9614 - val_loss: 1.5320 - val_accuracy: 0.3352\n", "\n", - "Epoch 00011: val_loss did not improve from 1.49344\n", + "Epoch 00011: val_loss did not improve from 1.45775\n", "Epoch 12/12\n", - "7/7 [==============================] - 0s 17ms/step - loss: 0.7979 - accuracy: 0.8530 - val_loss: 1.5198 - val_accuracy: 0.3128\n", + "7/7 [==============================] - 0s 15ms/step - loss: 0.5324 - accuracy: 0.9590 - val_loss: 1.5366 - val_accuracy: 0.3464\n", "\n", - "Epoch 00012: val_loss did not improve from 1.49344\n", - "7/7 [==============================] - 1s 4ms/step - loss: 1.1010 - accuracy: 0.6696\n", - "Test accuracy: 66.96%\n" + "Epoch 00012: val_loss did not improve from 1.45775\n", + "7/7 [==============================] - 1s 4ms/step - loss: 0.9195 - accuracy: 0.7768\n", + "Test accuracy: 77.68%\n" ] } ], @@ -485,31 +485,31 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Test video path: v_Punch_g03_c01.avi\n", - " Punch: 71.19%\n", - " TennisSwing: 17.20%\n", - " PlayingCello: 5.47%\n", - " ShavingBeard: 3.29%\n", - " CricketShot: 2.85%\n" + "Test video path: v_Punch_g03_c02.avi\n", + " Punch: 56.50%\n", + " TennisSwing: 29.97%\n", + " PlayingCello: 6.47%\n", + " ShavingBeard: 3.69%\n", + " CricketShot: 3.38%\n" ] }, { "data": { "text/html": [ - "" + "" ], "text/plain": [ "" ] }, - "execution_count": 34, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } @@ -566,7 +566,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 15, "metadata": {}, "outputs": [ { @@ -574,8 +574,7 @@ "output_type": "stream", "text": [ "/home/chainyo/code/video-classification-cnn-rnn is already a clone of https://huggingface.co/ChainYo/video-classification-cnn-rnn. Make sure you pull the latest changes with `repo.git_pull()`.\n", - "WARNING:huggingface_hub.repository:/home/chainyo/code/video-classification-cnn-rnn is already a clone of https://huggingface.co/ChainYo/video-classification-cnn-rnn. Make sure you pull the latest changes with `repo.git_pull()`.\n", - "WARNING:absl:Found untraced functions such as gru_cell_6_layer_call_and_return_conditional_losses, gru_cell_6_layer_call_fn, gru_cell_7_layer_call_and_return_conditional_losses, gru_cell_7_layer_call_fn, gru_cell_6_layer_call_fn while saving (showing 5 of 10). These functions will not be directly callable after loading.\n" + "WARNING:absl:Found untraced functions such as gru_cell_layer_call_and_return_conditional_losses, gru_cell_layer_call_fn, gru_cell_1_layer_call_and_return_conditional_losses, gru_cell_1_layer_call_fn, gru_cell_layer_call_fn while saving (showing 5 of 10). These functions will not be directly callable after loading.\n" ] }, { @@ -594,47 +593,29 @@ "WARNING:huggingface_hub.repository:Several commits (2) will be pushed upstream.\n", "The progress bars may be unreliable.\n", "WARNING:huggingface_hub.repository:The progress bars may be unreliable.\n", - "Upload file saved_model.pb: 81%|████████ | 4.53M/5.60M [00:01<00:00, 4.71MB/s]remote: -------------------------------------------------------------------------\u001b[31m \n", - "remote: Your push was rejected because it contains binary files. \n", - "remote: Please use https://git-lfs.github.com/ to store binary files. \n", - "remote: See also: https://hf.co/docs/hub/adding-a-model#uploading-your-files\u001b(B\u001b[m \n", - "remote: ------------------------------------------------------------------------- \n", - "remote: Offending files: \n", - "remote: - variables/variables.data-00000-of-00001 (ref: refs/heads/main) \n", - "To https://huggingface.co/ChainYo/video-classification-cnn-rnn\n", - " ! [remote rejected] main -> main (pre-receive hook declined)\n", - "error: failed to push some refs to 'https://huggingface.co/ChainYo/video-classification-cnn-rnn'\n", + "Upload file saved_model.pb: 4%|▍ | 224k/5.60M [00:01<00:28, 196kB/s]\n", + "\u001b[ATo https://huggingface.co/ChainYo/video-classification-cnn-rnn\n", + " e705e01..ed0a550 main -> main\n", + "\n", + "WARNING:huggingface_hub.repository:To https://huggingface.co/ChainYo/video-classification-cnn-rnn\n", + " e705e01..ed0a550 main -> main\n", "\n", - "WARNING:huggingface_hub.repository:remote: -------------------------------------------------------------------------\u001b[31m \n", - "remote: Your push was rejected because it contains binary files. \n", - "remote: Please use https://git-lfs.github.com/ to store binary files. \n", - "remote: See also: https://hf.co/docs/hub/adding-a-model#uploading-your-files\u001b(B\u001b[m \n", - "remote: ------------------------------------------------------------------------- \n", - "remote: Offending files: \n", - "remote: - variables/variables.data-00000-of-00001 (ref: refs/heads/main) \n", - "To https://huggingface.co/ChainYo/video-classification-cnn-rnn\n", - " ! [remote rejected] main -> main (pre-receive hook declined)\n", - "error: failed to push some refs to 'https://huggingface.co/ChainYo/video-classification-cnn-rnn'\n", + "Upload file saved_model.pb: 100%|██████████| 5.60M/5.60M [00:03<00:00, 1.94MB/s]\n", + "Upload file keras_metadata.pb: 100%|██████████| 17.9k/17.9k [00:02 main (pre-receive hook declined)\nerror: failed to push some refs to 'https://huggingface.co/ChainYo/video-classification-cnn-rnn'\n", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mCalledProcessError\u001b[0m Traceback (most recent call last)", - "File \u001b[0;32m~/miniconda3/envs/tf-training/lib/python3.8/site-packages/huggingface_hub/repository.py:1018\u001b[0m, in \u001b[0;36mRepository.git_push\u001b[0;34m(self, upstream, blocking, auto_lfs_prune)\u001b[0m\n\u001b[1;32m 1017\u001b[0m \u001b[39mif\u001b[39;00m return_code:\n\u001b[0;32m-> 1018\u001b[0m \u001b[39mraise\u001b[39;00m subprocess\u001b[39m.\u001b[39mCalledProcessError(\n\u001b[1;32m 1019\u001b[0m return_code, process\u001b[39m.\u001b[39margs, output\u001b[39m=\u001b[39mstdout, stderr\u001b[39m=\u001b[39mstderr\n\u001b[1;32m 1020\u001b[0m )\n\u001b[1;32m 1022\u001b[0m \u001b[39mexcept\u001b[39;00m subprocess\u001b[39m.\u001b[39mCalledProcessError \u001b[39mas\u001b[39;00m exc:\n", - "\u001b[0;31mCalledProcessError\u001b[0m: Command '['git', 'push']' returned non-zero exit status 1.", - "\nDuring handling of the above exception, another exception occurred:\n", - "\u001b[0;31mOSError\u001b[0m Traceback (most recent call last)", - "\u001b[1;32m/home/chainyo/code/video-classification-cnn-rnn/main.ipynb Cell 18'\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 3\u001b[0m local_path \u001b[39m=\u001b[39m Path\u001b[39m.\u001b[39mcwd()\n\u001b[1;32m 4\u001b[0m logdir_path \u001b[39m=\u001b[39m local_path\u001b[39m.\u001b[39mjoinpath(\u001b[39m\"\u001b[39m\u001b[39mlogs\u001b[39m\u001b[39m\"\u001b[39m)\n\u001b[0;32m----> 6\u001b[0m push_to_hub_keras(\n\u001b[1;32m 7\u001b[0m sequence_model, \n\u001b[1;32m 8\u001b[0m repo_path_or_name\u001b[39m=\u001b[39;49mlocal_path,\n\u001b[1;32m 9\u001b[0m repo_url\u001b[39m=\u001b[39;49m\u001b[39m\"\u001b[39;49m\u001b[39mhttps://huggingface.co/ChainYo/video-classification-cnn-rnn\u001b[39;49m\u001b[39m\"\u001b[39;49m,\n\u001b[1;32m 10\u001b[0m )\n", - "File \u001b[0;32m~/miniconda3/envs/tf-training/lib/python3.8/site-packages/huggingface_hub/keras_mixin.py:158\u001b[0m, in \u001b[0;36mpush_to_hub_keras\u001b[0;34m(model, repo_path_or_name, repo_url, commit_message, organization, private, api_endpoint, use_auth_token, git_user, git_email, config)\u001b[0m\n\u001b[1;32m 156\u001b[0m repo\u001b[39m.\u001b[39mgit_add(auto_lfs_track\u001b[39m=\u001b[39m\u001b[39mTrue\u001b[39;00m)\n\u001b[1;32m 157\u001b[0m repo\u001b[39m.\u001b[39mgit_commit(commit_message)\n\u001b[0;32m--> 158\u001b[0m \u001b[39mreturn\u001b[39;00m repo\u001b[39m.\u001b[39;49mgit_push()\n", - "File \u001b[0;32m~/miniconda3/envs/tf-training/lib/python3.8/site-packages/huggingface_hub/repository.py:1023\u001b[0m, in \u001b[0;36mRepository.git_push\u001b[0;34m(self, upstream, blocking, auto_lfs_prune)\u001b[0m\n\u001b[1;32m 1018\u001b[0m \u001b[39mraise\u001b[39;00m subprocess\u001b[39m.\u001b[39mCalledProcessError(\n\u001b[1;32m 1019\u001b[0m return_code, process\u001b[39m.\u001b[39margs, output\u001b[39m=\u001b[39mstdout, stderr\u001b[39m=\u001b[39mstderr\n\u001b[1;32m 1020\u001b[0m )\n\u001b[1;32m 1022\u001b[0m \u001b[39mexcept\u001b[39;00m subprocess\u001b[39m.\u001b[39mCalledProcessError \u001b[39mas\u001b[39;00m exc:\n\u001b[0;32m-> 1023\u001b[0m \u001b[39mraise\u001b[39;00m \u001b[39mEnvironmentError\u001b[39;00m(exc\u001b[39m.\u001b[39mstderr)\n\u001b[1;32m 1025\u001b[0m \u001b[39mif\u001b[39;00m \u001b[39mnot\u001b[39;00m blocking:\n\u001b[1;32m 1027\u001b[0m \u001b[39mdef\u001b[39;00m \u001b[39mstatus_method\u001b[39m():\n", - "\u001b[0;31mOSError\u001b[0m: remote: -------------------------------------------------------------------------\u001b[31m \nremote: Your push was rejected because it contains binary files. \nremote: Please use https://git-lfs.github.com/ to store binary files. \nremote: See also: https://hf.co/docs/hub/adding-a-model#uploading-your-files\u001b(B\u001b[m \nremote: ------------------------------------------------------------------------- \nremote: Offending files: \nremote: - variables/variables.data-00000-of-00001 (ref: refs/heads/main) \nTo https://huggingface.co/ChainYo/video-classification-cnn-rnn\n ! [remote rejected] main -> main (pre-receive hook declined)\nerror: failed to push some refs to 'https://huggingface.co/ChainYo/video-classification-cnn-rnn'\n" - ] + "data": { + "text/plain": [ + "'https://huggingface.co/ChainYo/video-classification-cnn-rnn/commit/ed0a5507bebd42eef8572550ab5bf82397867a42'" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ @@ -649,13 +630,6 @@ " repo_url=\"https://huggingface.co/ChainYo/video-classification-cnn-rnn\",\n", ")" ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": {