{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"# from google.colab import drive\n# drive.mount('/content/drive')","metadata":{"id":"r2mXLt5-v2s0","executionInfo":{"status":"ok","timestamp":1626207915361,"user_tz":-480,"elapsed":31496,"user":{"displayName":"薛哲昊","photoUrl":"","userId":"04645151507826231627"}},"outputId":"84aabea4-ce5d-4e5f-819a-a4b7f4408356"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import os\nimport numpy as np\nimport pandas as pd\ntrain = pd.read_csv('../input/plant-pathology-2021-fgvc8/train.csv')\n# train = pd.read_csv('/content/drive/MyDrive/FGVC8/python工研院課程/專題/data/train.csv')\n\ntrain.head()","metadata":{"id":"Q19brw5I4lZJ","executionInfo":{"status":"ok","timestamp":1626208088974,"user_tz":-480,"elapsed":394,"user":{"displayName":"薛哲昊","photoUrl":"","userId":"04645151507826231627"}},"outputId":"7460be18-1cfb-446d-db54-ee79a2f0edd9","execution":{"iopub.status.busy":"2021-07-14T05:31:08.401507Z","iopub.execute_input":"2021-07-14T05:31:08.401977Z","iopub.status.idle":"2021-07-14T05:31:08.569047Z","shell.execute_reply.started":"2021-07-14T05:31:08.401877Z","shell.execute_reply":"2021-07-14T05:31:08.568043Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"from sklearn.preprocessing import MultiLabelBinarizer\nmb = MultiLabelBinarizer().fit(train.labels.apply(lambda x : x.split()))\nlabels = pd.DataFrame(mb.transform(train.labels.apply(lambda x : x.split())), columns = mb.classes_)\nnew_train = pd.concat([train['image'], labels], axis=1)\nnew_train.head()","metadata":{"id":"jd8rLNbw4lZN","executionInfo":{"status":"ok","timestamp":1626208093899,"user_tz":-480,"elapsed":781,"user":{"displayName":"薛哲昊","photoUrl":"","userId":"04645151507826231627"}},"outputId":"8785236b-a013-4ca3-9055-70e9fdd912a5","execution":{"iopub.status.busy":"2021-07-14T05:31:08.570779Z","iopub.execute_input":"2021-07-14T05:31:08.571477Z","iopub.status.idle":"2021-07-14T05:31:09.687982Z","shell.execute_reply.started":"2021-07-14T05:31:08.571428Z","shell.execute_reply":"2021-07-14T05:31:09.686938Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"from keras.preprocessing.image import ImageDataGenerator\npre = ImageDataGenerator(\n    rescale = 1/255.,\n    rotation_range = 15,\n    width_shift_range=0.2, \n    height_shift_range=0.2,\n    zoom_range = 0.2,\n    shear_range=0.3,\n    featurewise_center=True,\n    featurewise_std_normalization=True,\n    horizontal_flip=True,\n    vertical_flip=True,\n    validation_split= 0.2,)\npos = ImageDataGenerator(rescale = 1./255)","metadata":{"id":"uaBlBmg54lZN","executionInfo":{"status":"ok","timestamp":1626208097100,"user_tz":-480,"elapsed":427,"user":{"displayName":"薛哲昊","photoUrl":"","userId":"04645151507826231627"}},"execution":{"iopub.status.busy":"2021-07-14T05:31:09.689939Z","iopub.execute_input":"2021-07-14T05:31:09.690611Z","iopub.status.idle":"2021-07-14T05:31:16.136341Z","shell.execute_reply.started":"2021-07-14T05:31:09.690564Z","shell.execute_reply":"2021-07-14T05:31:16.135471Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# ! mkdir -p plant-pathology-2021-fgvc8  #在本地新建一資料夾\n# ! unzip -q /content/drive/MyDrive/plant-pathology-2021-fgvc8-all_resize/fgvc8_resize_images_384-384/resize_train_image.zip -d plant-pathology-2021-fgvc8   #解壓縮\n# ! unzip -q /content/drive/MyDrive/plant-pathology-2021-fgvc8-all_resize/fgvc8_resize_images_384-384/resize_test_image.zip -d plant-pathology-2021-fgvc8","metadata":{"id":"XAXmoGVIYpqE"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"seed = 88\ntarget_size = (256, 384)\nbatch_size = 16\nresize_img = '../input/resized-plant2021/img_sz_384'\ntest_img = '../input/plant-pathology-2021-fgvc8/test_images'\nsubmission = pd.read_csv('../input/plant-pathology-2021-fgvc8/sample_submission.csv')\nsubmission.head()","metadata":{"id":"W8yV7Pan4lZO","executionInfo":{"status":"ok","timestamp":1626208103323,"user_tz":-480,"elapsed":1100,"user":{"displayName":"薛哲昊","photoUrl":"","userId":"04645151507826231627"}},"outputId":"059a83e3-f258-4011-e939-33ca09af3c4d","execution":{"iopub.status.busy":"2021-07-14T05:31:53.505393Z","iopub.execute_input":"2021-07-14T05:31:53.505952Z","iopub.status.idle":"2021-07-14T05:31:53.538010Z","shell.execute_reply.started":"2021-07-14T05:31:53.505918Z","shell.execute_reply":"2021-07-14T05:31:53.536853Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_generator = pre.flow_from_dataframe(\n                  new_train,\n                  directory = resize_img, \n                  x_col = 'image',\n                  y_col = new_train.columns.tolist()[1:],\n                  subset = \"training\",\n                  color_mode = \"rgb\",\n                  target_size = target_size,\n                  class_mode = \"raw\",\n                  batch_size = batch_size,\n                  shuffle = True,\n                  seed = seed,)\nvalid_generator = pre.flow_from_dataframe(\n                  new_train,\n                  directory = resize_img,\n                  x_col = 'image',\n                  y_col = new_train.columns.tolist()[1:],\n                  subset = \"validation\",\n                  color_mode = \"rgb\",\n                  target_size = target_size,\n                  class_mode = \"raw\",\n                  batch_size = batch_size,\n                  shuffle = True,\n                  seed = seed,)\ntest_generator = pos.flow_from_dataframe(\n                  submission,\n                  directory = test_img,\n                  x_col = 'image',\n                  y_col = 'labels',\n                  class_mode = None,\n                  batch_size=8,\n                  target_size = target_size,\n                  color_mode=\"rgb\",\n                  shuffle = False,\n                  seed = seed,)","metadata":{"id":"2qzpa52m4lZO","executionInfo":{"status":"ok","timestamp":1626208313506,"user_tz":-480,"elapsed":206105,"user":{"displayName":"薛哲昊","photoUrl":"","userId":"04645151507826231627"}},"outputId":"ce7553e2-57dd-4484-f1bf-5768d4ec6e3a","execution":{"iopub.status.busy":"2021-07-14T05:33:06.066024Z","iopub.execute_input":"2021-07-14T05:33:06.066358Z","iopub.status.idle":"2021-07-14T05:33:54.240912Z","shell.execute_reply.started":"2021-07-14T05:33:06.066328Z","shell.execute_reply":"2021-07-14T05:33:54.239423Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import matplotlib.pyplot as plt\nexample = next(train_generator)\nprint(example[0].shape)\nplt.imshow(example[0][0,:,:,:])\nplt.show()","metadata":{"id":"y-9GfAiH4lZP","executionInfo":{"status":"ok","timestamp":1626208460774,"user_tz":-480,"elapsed":14158,"user":{"displayName":"薛哲昊","photoUrl":"","userId":"04645151507826231627"}},"outputId":"9e3da997-c23a-4bd2-c2eb-a535f5be5666","execution":{"iopub.status.busy":"2021-07-14T05:34:35.577335Z","iopub.execute_input":"2021-07-14T05:34:35.577916Z","iopub.status.idle":"2021-07-14T05:34:36.362410Z","shell.execute_reply.started":"2021-07-14T05:34:35.577866Z","shell.execute_reply":"2021-07-14T05:34:36.361266Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import matplotlib.pyplot as plt\nexample = next(test_generator)\nprint(example[0].shape)\nplt.imshow(example[0])\nplt.show()","metadata":{"id":"1Ile26Jr4lZP","executionInfo":{"status":"ok","timestamp":1626208492676,"user_tz":-480,"elapsed":6637,"user":{"displayName":"薛哲昊","photoUrl":"","userId":"04645151507826231627"}},"outputId":"3e9d4fcd-ba4e-44d0-e383-5f57f3da6598","execution":{"iopub.status.busy":"2021-07-14T05:34:40.253752Z","iopub.execute_input":"2021-07-14T05:34:40.254262Z","iopub.status.idle":"2021-07-14T05:34:41.224198Z","shell.execute_reply.started":"2021-07-14T05:34:40.254215Z","shell.execute_reply":"2021-07-14T05:34:41.223073Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# import tensorflow as tf\n# from tensorflow import keras\n# from tensorflow.keras.applications import EfficientNetB4\n# from tensorflow.keras import layers, optimizers\n# from tensorflow.keras.layers import Dense, Dropout, GlobalAveragePooling2D, BatchNormalization\n# from keras import Model\n# base_model = EfficientNetB4(include_top=False, \n#                 weights='imagenet',\n#                 pooling='avg', \n#                 input_shape=(256,384,3))","metadata":{"execution":{"iopub.status.busy":"2021-07-08T23:43:06.130056Z","iopub.execute_input":"2021-07-08T23:43:06.132817Z","iopub.status.idle":"2021-07-08T23:43:13.363736Z","shell.execute_reply.started":"2021-07-08T23:43:06.132771Z","shell.execute_reply":"2021-07-08T23:43:13.362895Z"},"id":"6f2y78WA4lZQ","executionInfo":{"status":"ok","timestamp":1626208513138,"user_tz":-480,"elapsed":13544,"user":{"displayName":"薛哲昊","photoUrl":"","userId":"04645151507826231627"}},"outputId":"998b1c8a-f4c5-4088-b674-6fed0d9fabaa","trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# model_pre = tf.keras.Sequential([\n#         base_model,\n#         layers.BatchNormalization(),\n#         layers.Dense(32,activation='relu'),\n#         layers.Dropout(0.4),\n#         layers.Dense(16,activation='relu'),\n#         layers.Dropout(0.4),\n#         layers.Dense(6,activation='sigmoid')\n# ])","metadata":{"execution":{"iopub.status.busy":"2021-07-08T23:43:13.365900Z","iopub.execute_input":"2021-07-08T23:43:13.366282Z","iopub.status.idle":"2021-07-08T23:43:14.520590Z","shell.execute_reply.started":"2021-07-08T23:43:13.366248Z","shell.execute_reply":"2021-07-08T23:43:14.519751Z"},"id":"YE3HN-V-4lZQ","executionInfo":{"status":"ok","timestamp":1626208519102,"user_tz":-480,"elapsed":2032,"user":{"displayName":"薛哲昊","photoUrl":"","userId":"04645151507826231627"}},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# from keras.callbacks import ModelCheckpoint, EarlyStopping\n# model_pre.compile(\n#     optimizer=tf.keras.optimizers.Adam(learning_rate=0.001, decay=0.001/20),\n#     loss='binary_crossentropy',\n#     metrics=[tf.keras.metrics.BinaryAccuracy(name='binary_accuracy'),tf.keras.metrics.AUC(name='auc')])\n# model_checkpoint = ModelCheckpoint(\n#             filepath=\"./content/drive/MyDrive/FGVC8/python工研院課程/專題/data/0713test_B4.h5\", \n#             mode='max',\n#             monitor='val_auc', \n#             save_best_only=True, \n#             save_freq=\"epoch\", \n#             verbose=1)\n# early_stopping = EarlyStopping(\n#             monitor='val_loss', \n#             min_delta=0.003,\n#             patience=5, \n#             verbose=1, \n#             baseline=0.89,\n#             restore_best_weights=True)\n# model_pre = model_pre.fit_generator(train_generator,\n#             validation_data=valid_generator,\n#             # steps_per_epoch=1000,\n#             epochs=30,\n#             callbacks=[model_checkpoint, early_stopping])\n\n# WARNING:tensorflow:Early stopping conditioned on metric `val_acc` which is not available. \n# Available metrics are: loss,binary_accuracy,auc,val_loss,val_binary_accuracy,val_auc","metadata":{"execution":{"iopub.status.busy":"2021-07-08T23:43:14.521971Z","iopub.execute_input":"2021-07-08T23:43:14.522311Z","iopub.status.idle":"2021-07-09T02:14:58.597718Z","shell.execute_reply.started":"2021-07-08T23:43:14.522276Z","shell.execute_reply":"2021-07-09T02:14:58.596703Z"},"id":"j6NDnVs24lZQ","executionInfo":{"status":"ok","timestamp":1626225513257,"user_tz":-480,"elapsed":16980164,"user":{"displayName":"薛哲昊","photoUrl":"","userId":"04645151507826231627"}},"outputId":"73b3847d-fe4e-40f8-f278-684d456552da","trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# import matplotlib.pyplot as plt\n\n# pre_history = model_pre.history\n\n# plt.figure()\n# plt.plot(pre_history['binary_accuracy'])\n# plt.plot(pre_history['val_binary_accuracy'])\n# plt.title('model binary_accuracy')\n# plt.ylabel('accuracy')\n# plt.xlabel('epoch')\n# plt.legend(['train', 'validation'])\n# plt.savefig('accuracy')\n# plt.show()","metadata":{"execution":{"iopub.status.busy":"2021-07-09T02:18:04.014927Z","iopub.execute_input":"2021-07-09T02:18:04.015256Z","iopub.status.idle":"2021-07-09T02:18:04.248328Z","shell.execute_reply.started":"2021-07-09T02:18:04.015225Z","shell.execute_reply":"2021-07-09T02:18:04.247313Z"},"id":"KVD0fV_t4lZR","executionInfo":{"status":"ok","timestamp":1626226196639,"user_tz":-480,"elapsed":472,"user":{"displayName":"薛哲昊","photoUrl":"","userId":"04645151507826231627"}},"outputId":"8df64f9a-9aa8-4b94-ba0d-bffd9e8f4e1f","trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# pre_history = model_pre.history\n\n# plt.figure()\n# plt.plot(pre_history['auc'])\n# plt.plot(pre_history['val_auc'])\n# plt.title('model auc')\n# plt.ylabel('auc')\n# plt.xlabel('epoch')\n# plt.legend(['train', 'validation'])\n# plt.savefig('auc')\n# plt.show()","metadata":{"id":"zedJQTPH3tfd","executionInfo":{"status":"ok","timestamp":1626226228258,"user_tz":-480,"elapsed":435,"user":{"displayName":"薛哲昊","photoUrl":"","userId":"04645151507826231627"}},"outputId":"2f6ce3ee-6b12-4b07-83ba-0dd7089d7b3b"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# plt.figure()\n# plt.plot(pre_history['loss'])\n# plt.plot(pre_history['val_loss'])\n# plt.title('model loss')\n# plt.ylabel('loss')\n# plt.xlabel('epoch')\n# plt.legend(['train', 'validation'])\n# plt.savefig('loss')\n# plt.show()","metadata":{"execution":{"iopub.status.busy":"2021-07-09T02:18:09.183213Z","iopub.execute_input":"2021-07-09T02:18:09.183538Z","iopub.status.idle":"2021-07-09T02:18:09.365621Z","shell.execute_reply.started":"2021-07-09T02:18:09.183507Z","shell.execute_reply":"2021-07-09T02:18:09.364655Z"},"id":"Hv9w4qgP4lZR","executionInfo":{"status":"ok","timestamp":1626226234669,"user_tz":-480,"elapsed":576,"user":{"displayName":"薛哲昊","photoUrl":"","userId":"04645151507826231627"}},"outputId":"2970c90c-5b20-4d36-bb63-6223e72eabd6","trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import keras\ndef load_model():\n    model_pre = keras.models.load_model(\"../input/b4-0714/fgvc8_b4_0714_B4.h5\")\n    return model_pre\nmodel = load_model()","metadata":{"id":"aGqy9lEr4lZS","executionInfo":{"status":"ok","timestamp":1626226352416,"user_tz":-480,"elapsed":7432,"user":{"displayName":"薛哲昊","photoUrl":"","userId":"04645151507826231627"}},"execution":{"iopub.status.busy":"2021-07-14T05:51:40.991863Z","iopub.execute_input":"2021-07-14T05:51:40.992206Z","iopub.status.idle":"2021-07-14T05:51:52.537034Z","shell.execute_reply.started":"2021-07-14T05:51:40.992177Z","shell.execute_reply":"2021-07-14T05:51:52.535725Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# base_model.trainable = True\n# ###\n# # from keras.callbacks import ModelCheckpoint, EarlyStopping\n# # model_checkpoint = ModelCheckpoint(\n# #             filepath=\"./content/drive/MyDrive/FGVC8/python工研院課程/專題/data/0713test_B4.h5\", \n# #             mode='max',\n# #             monitor='auc', \n# #             save_best_only=True, \n# #             save_freq=\"epoch\", \n# #             verbose=1)\n# # early_stopping = EarlyStopping(\n# #             monitor='val_loss', \n# #             min_delta=0.003,\n# #             patience=5, \n# #             verbose=1, \n# #             baseline=0.89,\n# #             restore_best_weights=True)\n# ###\n# model.compile(\n#     optimizer=keras.optimizers.Adam(1e-5, decay=1e-5/10),\n#     loss=keras.losses.BinaryCrossentropy(from_logits=True),\n#     metrics=[tf.keras.metrics.BinaryAccuracy(name='binary_accuracy'),tf.keras.metrics.AUC(name='auc')])\n# model = model.fit(\n#     train_generator,\n#     validation_data=valid_generator,\n#     epochs=30,\n#     callbacks=[model_checkpoint, early_stopping])","metadata":{"execution":{"iopub.status.busy":"2021-07-09T02:18:42.042547Z","iopub.execute_input":"2021-07-09T02:18:42.042867Z","iopub.status.idle":"2021-07-09T05:20:27.617622Z","shell.execute_reply.started":"2021-07-09T02:18:42.042835Z","shell.execute_reply":"2021-07-09T05:20:27.616692Z"},"id":"sKbOgN7k4lZS","executionInfo":{"status":"ok","timestamp":1626237371128,"user_tz":-480,"elapsed":10985335,"user":{"displayName":"薛哲昊","photoUrl":"","userId":"04645151507826231627"}},"outputId":"15f73960-77b3-4418-fc8f-44f45c0fa010","trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# model_history = model.history\n\n# plt.figure()\n# plt.plot(model_history['binary_accuracy'])\n# plt.plot(model_history['val_binary_accuracy'])\n# plt.title('model binary_accuracy')\n# plt.ylabel('accuracy')\n# plt.xlabel('epoch')\n# plt.legend(['train', 'validation'])\n# plt.savefig('accuracy')\n# plt.show()","metadata":{"execution":{"iopub.status.busy":"2021-07-09T05:20:55.759798Z","iopub.execute_input":"2021-07-09T05:20:55.760170Z","iopub.status.idle":"2021-07-09T05:20:55.950853Z","shell.execute_reply.started":"2021-07-09T05:20:55.760138Z","shell.execute_reply":"2021-07-09T05:20:55.950113Z"},"id":"zGSFR2lc4lZS","executionInfo":{"status":"ok","timestamp":1626237371131,"user_tz":-480,"elapsed":56,"user":{"displayName":"薛哲昊","photoUrl":"","userId":"04645151507826231627"}},"outputId":"6620c2be-8131-4ced-c50f-ff998bb08ea9","trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"model = load_model()\npred = model.predict(test_generator)","metadata":{"id":"SKnxmDRT4lZT","executionInfo":{"status":"ok","timestamp":1626237390356,"user_tz":-480,"elapsed":19258,"user":{"displayName":"薛哲昊","photoUrl":"","userId":"04645151507826231627"}},"execution":{"iopub.status.busy":"2021-07-14T05:52:24.950019Z","iopub.execute_input":"2021-07-14T05:52:24.950531Z","iopub.status.idle":"2021-07-14T05:52:41.363319Z","shell.execute_reply.started":"2021-07-14T05:52:24.950481Z","shell.execute_reply":"2021-07-14T05:52:41.362222Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"perdict = (pred>0.40)\nn_label = new_train.columns.tolist()[1:]\nanswer = []\n\nfor i in range(perdict.shape[0]):\n    temp = []\n    for j, k in enumerate(n_label):\n        if perdict[i, j]:\n            temp.append(k)\n    answer.append(temp)\n    \nanswer = [' '.join(n) for n in answer]","metadata":{"id":"BfdudNBq4lZT","executionInfo":{"status":"ok","timestamp":1626237390357,"user_tz":-480,"elapsed":43,"user":{"displayName":"薛哲昊","photoUrl":"","userId":"04645151507826231627"}},"execution":{"iopub.status.busy":"2021-07-14T05:52:59.984711Z","iopub.execute_input":"2021-07-14T05:52:59.985068Z","iopub.status.idle":"2021-07-14T05:52:59.991717Z","shell.execute_reply.started":"2021-07-14T05:52:59.985036Z","shell.execute_reply":"2021-07-14T05:52:59.990548Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"np.around(pred, decimals=1, out=None)","metadata":{"id":"eNJweZzMHxr5","executionInfo":{"status":"ok","timestamp":1626237390358,"user_tz":-480,"elapsed":42,"user":{"displayName":"薛哲昊","photoUrl":"","userId":"04645151507826231627"}},"outputId":"2f938014-b47e-4536-e930-3135f0e46644","execution":{"iopub.status.busy":"2021-07-14T05:53:51.040635Z","iopub.execute_input":"2021-07-14T05:53:51.041025Z","iopub.status.idle":"2021-07-14T05:53:51.048683Z","shell.execute_reply.started":"2021-07-14T05:53:51.040991Z","shell.execute_reply":"2021-07-14T05:53:51.047630Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"submission['labels'] = np.array(answer)\nsubmission","metadata":{"id":"Qbv9SGm74lZT","executionInfo":{"status":"ok","timestamp":1626237390359,"user_tz":-480,"elapsed":24,"user":{"displayName":"薛哲昊","photoUrl":"","userId":"04645151507826231627"}},"outputId":"627eafd0-f059-44d0-81d8-8a165c07e788","execution":{"iopub.status.busy":"2021-07-14T05:54:12.608167Z","iopub.execute_input":"2021-07-14T05:54:12.608663Z","iopub.status.idle":"2021-07-14T05:54:12.619010Z","shell.execute_reply.started":"2021-07-14T05:54:12.608630Z","shell.execute_reply":"2021-07-14T05:54:12.618148Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"submission.to_csv('submission.csv', index=False)","metadata":{"id":"H7KCvpCL4lZT","executionInfo":{"status":"ok","timestamp":1626237390360,"user_tz":-480,"elapsed":22,"user":{"displayName":"薛哲昊","photoUrl":"","userId":"04645151507826231627"}},"execution":{"iopub.status.busy":"2021-07-14T05:54:16.792734Z","iopub.execute_input":"2021-07-14T05:54:16.793238Z","iopub.status.idle":"2021-07-14T05:54:16.800692Z","shell.execute_reply.started":"2021-07-14T05:54:16.793206Z","shell.execute_reply":"2021-07-14T05:54:16.799799Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{"id":"HgFXo9g6k2NS"},"execution_count":null,"outputs":[]}]}