{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"name":"python","version":"3.11.11","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kaggle":{"accelerator":"none","dataSources":[{"sourceId":45867,"databundleVersionId":6924515,"sourceType":"competition"}],"dockerImageVersionId":31040,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"# This Python 3 environment comes with many helpful analytics libraries installed\n# It is defined by the kaggle/python Docker image: https://github.com/kaggle/docker-python\n# For example, here's several helpful packages to load\n\nimport numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n\n# Input data files are available in the read-only \"../input/\" directory\n# For example, running this (by clicking run or pressing Shift+Enter) will list all files under the input directory\n\nimport os\nfor dirname, _, filenames in os.walk('/kaggle/input'):\n    for filename in filenames:\n        print(os.path.join(dirname, filename))\n\n# You can write up to 20GB to the current directory (/kaggle/working/) that gets preserved as output when you create a version using \"Save & Run All\" \n# You can also write temporary files to /kaggle/temp/, but they won't be saved outside of the current session","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true,"execution":{"iopub.status.busy":"2025-07-04T03:45:20.214441Z","iopub.execute_input":"2025-07-04T03:45:20.21462Z","iopub.status.idle":"2025-07-04T03:45:23.891133Z","shell.execute_reply.started":"2025-07-04T03:45:20.214601Z","shell.execute_reply":"2025-07-04T03:45:23.890389Z"}},"outputs":[{"name":"stdout","text":"/kaggle/input/UBC-OCEAN/updated_image_ids.json\n/kaggle/input/UBC-OCEAN/sample_submission.csv\n/kaggle/input/UBC-OCEAN/train.csv\n/kaggle/input/UBC-OCEAN/test.csv\n/kaggle/input/UBC-OCEAN/test_thumbnails/41_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_images/14127.png\n/kaggle/input/UBC-OCEAN/train_images/34649.png\n/kaggle/input/UBC-OCEAN/train_images/15221.png\n/kaggle/input/UBC-OCEAN/train_images/52375.png\n/kaggle/input/UBC-OCEAN/train_images/17487.png\n/kaggle/input/UBC-OCEAN/train_images/32112.png\n/kaggle/input/UBC-OCEAN/train_images/22290.png\n/kaggle/input/UBC-OCEAN/train_images/48734.png\n/kaggle/input/UBC-OCEAN/train_images/39146.png\n/kaggle/input/UBC-OCEAN/train_images/64950.png\n/kaggle/input/UBC-OCEAN/train_images/32042.png\n/kaggle/input/UBC-OCEAN/train_images/63429.png\n/kaggle/input/UBC-OCEAN/train_images/13526.png\n/kaggle/input/UBC-OCEAN/train_images/53859.png\n/kaggle/input/UBC-OCEAN/train_images/63836.png\n/kaggle/input/UBC-OCEAN/train_images/56117.png\n/kaggle/input/UBC-OCEAN/train_images/7490.png\n/kaggle/input/UBC-OCEAN/train_images/60685.png\n/kaggle/input/UBC-OCEAN/train_images/7955.png\n/kaggle/input/UBC-OCEAN/train_images/29888.png\n/kaggle/input/UBC-OCEAN/train_images/51679.png\n/kaggle/input/UBC-OCEAN/train_images/10077.png\n/kaggle/input/UBC-OCEAN/train_images/19030.png\n/kaggle/input/UBC-OCEAN/train_images/49281.png\n/kaggle/input/UBC-OCEAN/train_images/45185.png\n/kaggle/input/UBC-OCEAN/train_images/41801.png\n/kaggle/input/UBC-OCEAN/train_images/10896.png\n/kaggle/input/UBC-OCEAN/train_images/63941.png\n/kaggle/input/UBC-OCEAN/train_images/62828.png\n/kaggle/input/UBC-OCEAN/train_images/18138.png\n/kaggle/input/UBC-OCEAN/train_images/37655.png\n/kaggle/input/UBC-OCEAN/train_images/20463.png\n/kaggle/input/UBC-OCEAN/train_images/52931.png\n/kaggle/input/UBC-OCEAN/train_images/36302.png\n/kaggle/input/UBC-OCEAN/train_images/21373.png\n/kaggle/input/UBC-OCEAN/train_images/39208.png\n/kaggle/input/UBC-OCEAN/train_images/61823.png\n/kaggle/input/UBC-OCEAN/train_images/24617.png\n/kaggle/input/UBC-OCEAN/train_images/3098.png\n/kaggle/input/UBC-OCEAN/train_images/29147.png\n/kaggle/input/UBC-OCEAN/train_images/28028.png\n/kaggle/input/UBC-OCEAN/train_images/1952.png\n/kaggle/input/UBC-OCEAN/train_images/51128.png\n/kaggle/input/UBC-OCEAN/train_images/12244.png\n/kaggle/input/UBC-OCEAN/train_images/11417.png\n/kaggle/input/UBC-OCEAN/train_images/33976.png\n/kaggle/input/UBC-OCEAN/train_images/18568.png\n/kaggle/input/UBC-OCEAN/train_images/281.png\n/kaggle/input/UBC-OCEAN/train_images/24759.png\n/kaggle/input/UBC-OCEAN/train_images/11557.png\n/kaggle/input/UBC-OCEAN/train_images/45630.png\n/kaggle/input/UBC-OCEAN/train_images/36063.png\n/kaggle/input/UBC-OCEAN/train_images/63015.png\n/kaggle/input/UBC-OCEAN/train_images/50962.png\n/kaggle/input/UBC-OCEAN/train_images/30515.png\n/kaggle/input/UBC-OCEAN/train_images/35754.png\n/kaggle/input/UBC-OCEAN/train_images/57100.png\n/kaggle/input/UBC-OCEAN/train_images/24507.png\n/kaggle/input/UBC-OCEAN/train_images/33984.png\n/kaggle/input/UBC-OCEAN/train_images/39425.png\n/kaggle/input/UBC-OCEAN/train_images/52420.png\n/kaggle/input/UBC-OCEAN/train_images/63289.png\n/kaggle/input/UBC-OCEAN/train_images/4608.png\n/kaggle/input/UBC-OCEAN/train_images/46469.png\n/kaggle/input/UBC-OCEAN/train_images/14424.png\n/kaggle/input/UBC-OCEAN/train_images/61424.png\n/kaggle/input/UBC-OCEAN/train_images/15912.png\n/kaggle/input/UBC-OCEAN/train_images/61689.png\n/kaggle/input/UBC-OCEAN/train_images/4.png\n/kaggle/input/UBC-OCEAN/train_images/8279.png\n/kaggle/input/UBC-OCEAN/train_images/18914.png\n/kaggle/input/UBC-OCEAN/train_images/16325.png\n/kaggle/input/UBC-OCEAN/train_images/27249.png\n/kaggle/input/UBC-OCEAN/train_images/3222.png\n/kaggle/input/UBC-OCEAN/train_images/2097.png\n/kaggle/input/UBC-OCEAN/train_images/61280.png\n/kaggle/input/UBC-OCEAN/train_images/38535.png\n/kaggle/input/UBC-OCEAN/train_images/30369.png\n/kaggle/input/UBC-OCEAN/train_images/38018.png\n/kaggle/input/UBC-OCEAN/train_images/52275.png\n/kaggle/input/UBC-OCEAN/train_images/59002.png\n/kaggle/input/UBC-OCEAN/train_images/27747.png\n/kaggle/input/UBC-OCEAN/train_images/4877.png\n/kaggle/input/UBC-OCEAN/train_images/53059.png\n/kaggle/input/UBC-OCEAN/train_images/7204.png\n/kaggle/input/UBC-OCEAN/train_images/57468.png\n/kaggle/input/UBC-OCEAN/train_images/24563.png\n/kaggle/input/UBC-OCEAN/train_images/36204.png\n/kaggle/input/UBC-OCEAN/train_images/8805.png\n/kaggle/input/UBC-OCEAN/train_images/44432.png\n/kaggle/input/UBC-OCEAN/train_images/30203.png\n/kaggle/input/UBC-OCEAN/train_images/48502.png\n/kaggle/input/UBC-OCEAN/train_images/32035.png\n/kaggle/input/UBC-OCEAN/train_images/51346.png\n/kaggle/input/UBC-OCEAN/train_images/63298.png\n/kaggle/input/UBC-OCEAN/train_images/65300.png\n/kaggle/input/UBC-OCEAN/train_images/40503.png\n/kaggle/input/UBC-OCEAN/train_images/38901.png\n/kaggle/input/UBC-OCEAN/train_images/52461.png\n/kaggle/input/UBC-OCEAN/train_images/28736.png\n/kaggle/input/UBC-OCEAN/train_images/44804.png\n/kaggle/input/UBC-OCEAN/train_images/57696.png\n/kaggle/input/UBC-OCEAN/train_images/27739.png\n/kaggle/input/UBC-OCEAN/train_images/10548.png\n/kaggle/input/UBC-OCEAN/train_images/431.png\n/kaggle/input/UBC-OCEAN/train_images/56993.png\n/kaggle/input/UBC-OCEAN/train_images/56843.png\n/kaggle/input/UBC-OCEAN/train_images/36678.png\n/kaggle/input/UBC-OCEAN/train_images/46769.png\n/kaggle/input/UBC-OCEAN/train_images/1925.png\n/kaggle/input/UBC-OCEAN/train_images/26644.png\n/kaggle/input/UBC-OCEAN/train_images/44603.png\n/kaggle/input/UBC-OCEAN/train_images/970.png\n/kaggle/input/UBC-OCEAN/train_images/31033.png\n/kaggle/input/UBC-OCEAN/train_images/26603.png\n/kaggle/input/UBC-OCEAN/train_images/23629.png\n/kaggle/input/UBC-OCEAN/train_images/1295.png\n/kaggle/input/UBC-OCEAN/train_images/19512.png\n/kaggle/input/UBC-OCEAN/train_images/6359.png\n/kaggle/input/UBC-OCEAN/train_images/8531.png\n/kaggle/input/UBC-OCEAN/train_images/21303.png\n/kaggle/input/UBC-OCEAN/train_images/61100.png\n/kaggle/input/UBC-OCEAN/train_images/18981.png\n/kaggle/input/UBC-OCEAN/train_images/21910.png\n/kaggle/input/UBC-OCEAN/train_images/10143.png\n/kaggle/input/UBC-OCEAN/train_images/45725.png\n/kaggle/input/UBC-OCEAN/train_images/54408.png\n/kaggle/input/UBC-OCEAN/train_images/64111.png\n/kaggle/input/UBC-OCEAN/train_images/9254.png\n/kaggle/input/UBC-OCEAN/train_images/8240.png\n/kaggle/input/UBC-OCEAN/train_images/51021.png\n/kaggle/input/UBC-OCEAN/train_images/2706.png\n/kaggle/input/UBC-OCEAN/train_images/60058.png\n/kaggle/input/UBC-OCEAN/train_images/17416.png\n/kaggle/input/UBC-OCEAN/train_images/6363.png\n/kaggle/input/UBC-OCEAN/train_images/20858.png\n/kaggle/input/UBC-OCEAN/train_images/1289.png\n/kaggle/input/UBC-OCEAN/train_images/63897.png\n/kaggle/input/UBC-OCEAN/train_images/15742.png\n/kaggle/input/UBC-OCEAN/train_images/49942.png\n/kaggle/input/UBC-OCEAN/train_images/56947.png\n/kaggle/input/UBC-OCEAN/train_images/12159.png\n/kaggle/input/UBC-OCEAN/train_images/38019.png\n/kaggle/input/UBC-OCEAN/train_images/36583.png\n/kaggle/input/UBC-OCEAN/train_images/52784.png\n/kaggle/input/UBC-OCEAN/train_images/30508.png\n/kaggle/input/UBC-OCEAN/train_images/55876.png\n/kaggle/input/UBC-OCEAN/train_images/25792.png\n/kaggle/input/UBC-OCEAN/train_images/34277.png\n/kaggle/input/UBC-OCEAN/train_images/17291.png\n/kaggle/input/UBC-OCEAN/train_images/56799.png\n/kaggle/input/UBC-OCEAN/train_images/26190.png\n/kaggle/input/UBC-OCEAN/train_images/1666.png\n/kaggle/input/UBC-OCEAN/train_images/26862.png\n/kaggle/input/UBC-OCEAN/train_images/44581.png\n/kaggle/input/UBC-OCEAN/train_images/27851.png\n/kaggle/input/UBC-OCEAN/train_images/21432.png\n/kaggle/input/UBC-OCEAN/train_images/3092.png\n/kaggle/input/UBC-OCEAN/train_images/28562.png\n/kaggle/input/UBC-OCEAN/train_images/46543.png\n/kaggle/input/UBC-OCEAN/train_images/38041.png\n/kaggle/input/UBC-OCEAN/train_images/39990.png\n/kaggle/input/UBC-OCEAN/train_images/5307.png\n/kaggle/input/UBC-OCEAN/train_images/26124.png\n/kaggle/input/UBC-OCEAN/train_images/56221.png\n/kaggle/input/UBC-OCEAN/train_images/16986.png\n/kaggle/input/UBC-OCEAN/train_images/17174.png\n/kaggle/input/UBC-OCEAN/train_images/16494.png\n/kaggle/input/UBC-OCEAN/train_images/50304.png\n/kaggle/input/UBC-OCEAN/train_images/46172.png\n/kaggle/input/UBC-OCEAN/train_images/59760.png\n/kaggle/input/UBC-OCEAN/train_images/46793.png\n/kaggle/input/UBC-OCEAN/train_images/39269.png\n/kaggle/input/UBC-OCEAN/train_images/42125.png\n/kaggle/input/UBC-OCEAN/train_images/29240.png\n/kaggle/input/UBC-OCEAN/train_images/706.png\n/kaggle/input/UBC-OCEAN/train_images/60287.png\n/kaggle/input/UBC-OCEAN/train_images/51215.png\n/kaggle/input/UBC-OCEAN/train_images/54007.png\n/kaggle/input/UBC-OCEAN/train_images/20312.png\n/kaggle/input/UBC-OCEAN/train_images/6281.png\n/kaggle/input/UBC-OCEAN/train_images/15671.png\n/kaggle/input/UBC-OCEAN/train_images/15486.png\n/kaggle/input/UBC-OCEAN/train_images/4797.png\n/kaggle/input/UBC-OCEAN/train_images/64824.png\n/kaggle/input/UBC-OCEAN/train_images/38048.png\n/kaggle/input/UBC-OCEAN/train_images/52836.png\n/kaggle/input/UBC-OCEAN/train_images/50246.png\n/kaggle/input/UBC-OCEAN/train_images/48973.png\n/kaggle/input/UBC-OCEAN/train_images/18813.png\n/kaggle/input/UBC-OCEAN/train_images/6898.png\n/kaggle/input/UBC-OCEAN/train_images/39466.png\n/kaggle/input/UBC-OCEAN/train_images/30868.png\n/kaggle/input/UBC-OCEAN/train_images/6449.png\n/kaggle/input/UBC-OCEAN/train_images/37190.png\n/kaggle/input/UBC-OCEAN/train_images/55279.png\n/kaggle/input/UBC-OCEAN/train_images/14542.png\n/kaggle/input/UBC-OCEAN/train_images/26219.png\n/kaggle/input/UBC-OCEAN/train_images/30738.png\n/kaggle/input/UBC-OCEAN/train_images/59031.png\n/kaggle/input/UBC-OCEAN/train_images/39365.png\n/kaggle/input/UBC-OCEAN/train_images/11263.png\n/kaggle/input/UBC-OCEAN/train_images/5015.png\n/kaggle/input/UBC-OCEAN/train_images/26025.png\n/kaggle/input/UBC-OCEAN/train_images/57265.png\n/kaggle/input/UBC-OCEAN/train_images/51499.png\n/kaggle/input/UBC-OCEAN/train_images/50932.png\n/kaggle/input/UBC-OCEAN/train_images/15231.png\n/kaggle/input/UBC-OCEAN/train_images/3055.png\n/kaggle/input/UBC-OCEAN/train_images/3191.png\n/kaggle/input/UBC-OCEAN/train_images/38585.png\n/kaggle/input/UBC-OCEAN/train_images/46815.png\n/kaggle/input/UBC-OCEAN/train_images/5970.png\n/kaggle/input/UBC-OCEAN/train_images/54949.png\n/kaggle/input/UBC-OCEAN/train_images/43280.png\n/kaggle/input/UBC-OCEAN/train_images/3511.png\n/kaggle/input/UBC-OCEAN/train_images/60988.png\n/kaggle/input/UBC-OCEAN/train_images/38959.png\n/kaggle/input/UBC-OCEAN/train_images/35197.png\n/kaggle/input/UBC-OCEAN/train_images/38687.png\n/kaggle/input/UBC-OCEAN/train_images/16876.png\n/kaggle/input/UBC-OCEAN/train_images/38479.png\n/kaggle/input/UBC-OCEAN/train_images/56861.png\n/kaggle/input/UBC-OCEAN/train_images/45254.png\n/kaggle/input/UBC-OCEAN/train_images/53402.png\n/kaggle/input/UBC-OCEAN/train_images/16209.png\n/kaggle/input/UBC-OCEAN/train_images/50048.png\n/kaggle/input/UBC-OCEAN/train_images/36783.png\n/kaggle/input/UBC-OCEAN/train_images/8713.png\n/kaggle/input/UBC-OCEAN/train_images/31297.png\n/kaggle/input/UBC-OCEAN/train_images/18607.png\n/kaggle/input/UBC-OCEAN/train_images/14401.png\n/kaggle/input/UBC-OCEAN/train_images/53900.png\n/kaggle/input/UBC-OCEAN/train_images/15583.png\n/kaggle/input/UBC-OCEAN/train_images/52752.png\n/kaggle/input/UBC-OCEAN/train_images/6140.png\n/kaggle/input/UBC-OCEAN/train_images/15871.png\n/kaggle/input/UBC-OCEAN/train_images/26533.png\n/kaggle/input/UBC-OCEAN/train_images/17854.png\n/kaggle/input/UBC-OCEAN/train_images/45578.png\n/kaggle/input/UBC-OCEAN/train_images/66.png\n/kaggle/input/UBC-OCEAN/train_images/26950.png\n/kaggle/input/UBC-OCEAN/train_images/44976.png\n/kaggle/input/UBC-OCEAN/train_images/15209.png\n/kaggle/input/UBC-OCEAN/train_images/59900.png\n/kaggle/input/UBC-OCEAN/train_images/19255.png\n/kaggle/input/UBC-OCEAN/train_images/49587.png\n/kaggle/input/UBC-OCEAN/train_images/38097.png\n/kaggle/input/UBC-OCEAN/train_images/43998.png\n/kaggle/input/UBC-OCEAN/train_images/9154.png\n/kaggle/input/UBC-OCEAN/train_images/9341.png\n/kaggle/input/UBC-OCEAN/train_images/52438.png\n/kaggle/input/UBC-OCEAN/train_images/4211.png\n/kaggle/input/UBC-OCEAN/train_images/39172.png\n/kaggle/input/UBC-OCEAN/train_images/47431.png\n/kaggle/input/UBC-OCEAN/train_images/29200.png\n/kaggle/input/UBC-OCEAN/train_images/40124.png\n/kaggle/input/UBC-OCEAN/train_images/54473.png\n/kaggle/input/UBC-OCEAN/train_images/6558.png\n/kaggle/input/UBC-OCEAN/train_images/23796.png\n/kaggle/input/UBC-OCEAN/train_images/4134.png\n/kaggle/input/UBC-OCEAN/train_images/63367.png\n/kaggle/input/UBC-OCEAN/train_images/60936.png\n/kaggle/input/UBC-OCEAN/train_images/9183.png\n/kaggle/input/UBC-OCEAN/train_images/14051.png\n/kaggle/input/UBC-OCEAN/train_images/59589.png\n/kaggle/input/UBC-OCEAN/train_images/5264.png\n/kaggle/input/UBC-OCEAN/train_images/36499.png\n/kaggle/input/UBC-OCEAN/train_images/22740.png\n/kaggle/input/UBC-OCEAN/train_images/34688.png\n/kaggle/input/UBC-OCEAN/train_images/37307.png\n/kaggle/input/UBC-OCEAN/train_images/21445.png\n/kaggle/input/UBC-OCEAN/train_images/1020.png\n/kaggle/input/UBC-OCEAN/train_images/42549.png\n/kaggle/input/UBC-OCEAN/train_images/18014.png\n/kaggle/input/UBC-OCEAN/train_images/9200.png\n/kaggle/input/UBC-OCEAN/train_images/58974.png\n/kaggle/input/UBC-OCEAN/train_images/31793.png\n/kaggle/input/UBC-OCEAN/train_images/50712.png\n/kaggle/input/UBC-OCEAN/train_images/38669.png\n/kaggle/input/UBC-OCEAN/train_images/36513.png\n/kaggle/input/UBC-OCEAN/train_images/35592.png\n/kaggle/input/UBC-OCEAN/train_images/7482.png\n/kaggle/input/UBC-OCEAN/train_images/17738.png\n/kaggle/input/UBC-OCEAN/train_images/30792.png\n/kaggle/input/UBC-OCEAN/train_images/56500.png\n/kaggle/input/UBC-OCEAN/train_images/3264.png\n/kaggle/input/UBC-OCEAN/train_images/10800.png\n/kaggle/input/UBC-OCEAN/train_images/6843.png\n/kaggle/input/UBC-OCEAN/train_images/39297.png\n/kaggle/input/UBC-OCEAN/train_images/2666.png\n/kaggle/input/UBC-OCEAN/train_images/39728.png\n/kaggle/input/UBC-OCEAN/train_images/30986.png\n/kaggle/input/UBC-OCEAN/train_images/14312.png\n/kaggle/input/UBC-OCEAN/train_images/47960.png\n/kaggle/input/UBC-OCEAN/train_images/5456.png\n/kaggle/input/UBC-OCEAN/train_images/40864.png\n/kaggle/input/UBC-OCEAN/train_images/8213.png\n/kaggle/input/UBC-OCEAN/train_images/64771.png\n/kaggle/input/UBC-OCEAN/train_images/59515.png\n/kaggle/input/UBC-OCEAN/train_images/54825.png\n/kaggle/input/UBC-OCEAN/train_images/31594.png\n/kaggle/input/UBC-OCEAN/train_images/39252.png\n/kaggle/input/UBC-OCEAN/train_images/38849.png\n/kaggle/input/UBC-OCEAN/train_images/39880.png\n/kaggle/input/UBC-OCEAN/train_images/27245.png\n/kaggle/input/UBC-OCEAN/train_images/53377.png\n/kaggle/input/UBC-OCEAN/train_images/47035.png\n/kaggle/input/UBC-OCEAN/train_images/13387.png\n/kaggle/input/UBC-OCEAN/train_images/28066.png\n/kaggle/input/UBC-OCEAN/train_images/11431.png\n/kaggle/input/UBC-OCEAN/train_images/17637.png\n/kaggle/input/UBC-OCEAN/train_images/38366.png\n/kaggle/input/UBC-OCEAN/train_images/63165.png\n/kaggle/input/UBC-OCEAN/train_images/1660.png\n/kaggle/input/UBC-OCEAN/train_images/35953.png\n/kaggle/input/UBC-OCEAN/train_images/33708.png\n/kaggle/input/UBC-OCEAN/train_images/30712.png\n/kaggle/input/UBC-OCEAN/train_images/9509.png\n/kaggle/input/UBC-OCEAN/train_images/53655.png\n/kaggle/input/UBC-OCEAN/train_images/10469.png\n/kaggle/input/UBC-OCEAN/train_images/57598.png\n/kaggle/input/UBC-OCEAN/train_images/15470.png\n/kaggle/input/UBC-OCEAN/train_images/8985.png\n/kaggle/input/UBC-OCEAN/train_images/46435.png\n/kaggle/input/UBC-OCEAN/train_images/5851.png\n/kaggle/input/UBC-OCEAN/train_images/40079.png\n/kaggle/input/UBC-OCEAN/train_images/20316.png\n/kaggle/input/UBC-OCEAN/train_images/28121.png\n/kaggle/input/UBC-OCEAN/train_images/5251.png\n/kaggle/input/UBC-OCEAN/train_images/29615.png\n/kaggle/input/UBC-OCEAN/train_images/19157.png\n/kaggle/input/UBC-OCEAN/train_images/32032.png\n/kaggle/input/UBC-OCEAN/train_images/5992.png\n/kaggle/input/UBC-OCEAN/train_images/21232.png\n/kaggle/input/UBC-OCEAN/train_images/62641.png\n/kaggle/input/UBC-OCEAN/train_images/43432.png\n/kaggle/input/UBC-OCEAN/train_images/22155.png\n/kaggle/input/UBC-OCEAN/train_images/12442.png\n/kaggle/input/UBC-OCEAN/train_images/11559.png\n/kaggle/input/UBC-OCEAN/train_images/61493.png\n/kaggle/input/UBC-OCEAN/train_images/61320.png\n/kaggle/input/UBC-OCEAN/train_images/3997.png\n/kaggle/input/UBC-OCEAN/train_images/16042.png\n/kaggle/input/UBC-OCEAN/train_images/15188.png\n/kaggle/input/UBC-OCEAN/train_images/43796.png\n/kaggle/input/UBC-OCEAN/train_images/57711.png\n/kaggle/input/UBC-OCEAN/train_images/48861.png\n/kaggle/input/UBC-OCEAN/train_images/16064.png\n/kaggle/input/UBC-OCEAN/train_images/34720.png\n/kaggle/input/UBC-OCEAN/train_images/36639.png\n/kaggle/input/UBC-OCEAN/train_images/8280.png\n/kaggle/input/UBC-OCEAN/train_images/54990.png\n/kaggle/input/UBC-OCEAN/train_images/28519.png\n/kaggle/input/UBC-OCEAN/train_images/51832.png\n/kaggle/input/UBC-OCEAN/train_images/3881.png\n/kaggle/input/UBC-OCEAN/train_images/2906.png\n/kaggle/input/UBC-OCEAN/train_images/30794.png\n/kaggle/input/UBC-OCEAN/train_images/50589.png\n/kaggle/input/UBC-OCEAN/train_images/63121.png\n/kaggle/input/UBC-OCEAN/train_images/6582.png\n/kaggle/input/UBC-OCEAN/train_images/10252.png\n/kaggle/input/UBC-OCEAN/train_images/38118.png\n/kaggle/input/UBC-OCEAN/train_images/38647.png\n/kaggle/input/UBC-OCEAN/train_images/53688.png\n/kaggle/input/UBC-OCEAN/train_images/24991.png\n/kaggle/input/UBC-OCEAN/train_images/65371.png\n/kaggle/input/UBC-OCEAN/train_images/28603.png\n/kaggle/input/UBC-OCEAN/train_images/34247.png\n/kaggle/input/UBC-OCEAN/train_images/3672.png\n/kaggle/input/UBC-OCEAN/train_images/29904.png\n/kaggle/input/UBC-OCEAN/train_images/12222.png\n/kaggle/input/UBC-OCEAN/train_images/6793.png\n/kaggle/input/UBC-OCEAN/train_images/32432.png\n/kaggle/input/UBC-OCEAN/train_images/29331.png\n/kaggle/input/UBC-OCEAN/train_images/24023.png\n/kaggle/input/UBC-OCEAN/train_images/18810.png\n/kaggle/input/UBC-OCEAN/train_images/50878.png\n/kaggle/input/UBC-OCEAN/train_images/56351.png\n/kaggle/input/UBC-OCEAN/train_images/62476.png\n/kaggle/input/UBC-OCEAN/train_images/39872.png\n/kaggle/input/UBC-OCEAN/train_images/14039.png\n/kaggle/input/UBC-OCEAN/train_images/52846.png\n/kaggle/input/UBC-OCEAN/train_images/44283.png\n/kaggle/input/UBC-OCEAN/train_images/61961.png\n/kaggle/input/UBC-OCEAN/train_images/31300.png\n/kaggle/input/UBC-OCEAN/train_images/41586.png\n/kaggle/input/UBC-OCEAN/train_images/14617.png\n/kaggle/input/UBC-OCEAN/train_images/54928.png\n/kaggle/input/UBC-OCEAN/train_images/35792.png\n/kaggle/input/UBC-OCEAN/train_images/13987.png\n/kaggle/input/UBC-OCEAN/train_images/21020.png\n/kaggle/input/UBC-OCEAN/train_images/44530.png\n/kaggle/input/UBC-OCEAN/train_images/35998.png\n/kaggle/input/UBC-OCEAN/train_images/25256.png\n/kaggle/input/UBC-OCEAN/train_images/51032.png\n/kaggle/input/UBC-OCEAN/train_images/10246.png\n/kaggle/input/UBC-OCEAN/train_images/61797.png\n/kaggle/input/UBC-OCEAN/train_images/29915.png\n/kaggle/input/UBC-OCEAN/train_images/52259.png\n/kaggle/input/UBC-OCEAN/train_images/35565.png\n/kaggle/input/UBC-OCEAN/train_images/12522.png\n/kaggle/input/UBC-OCEAN/train_images/22924.png\n/kaggle/input/UBC-OCEAN/train_images/47984.png\n/kaggle/input/UBC-OCEAN/train_images/8130.png\n/kaggle/input/UBC-OCEAN/train_images/1774.png\n/kaggle/input/UBC-OCEAN/train_images/47911.png\n/kaggle/input/UBC-OCEAN/train_images/61089.png\n/kaggle/input/UBC-OCEAN/train_images/56875.png\n/kaggle/input/UBC-OCEAN/train_images/28393.png\n/kaggle/input/UBC-OCEAN/train_images/48506.png\n/kaggle/input/UBC-OCEAN/train_images/42296.png\n/kaggle/input/UBC-OCEAN/train_images/7329.png\n/kaggle/input/UBC-OCEAN/train_images/43671.png\n/kaggle/input/UBC-OCEAN/train_images/61033.png\n/kaggle/input/UBC-OCEAN/train_images/60928.png\n/kaggle/input/UBC-OCEAN/train_images/25561.png\n/kaggle/input/UBC-OCEAN/train_images/35239.png\n/kaggle/input/UBC-OCEAN/train_images/57162.png\n/kaggle/input/UBC-OCEAN/train_images/19569.png\n/kaggle/input/UBC-OCEAN/train_images/6175.png\n/kaggle/input/UBC-OCEAN/train_images/39258.png\n/kaggle/input/UBC-OCEAN/train_images/65533.png\n/kaggle/input/UBC-OCEAN/train_images/55281.png\n/kaggle/input/UBC-OCEAN/train_images/42857.png\n/kaggle/input/UBC-OCEAN/train_images/65022.png\n/kaggle/input/UBC-OCEAN/train_images/21929.png\n/kaggle/input/UBC-OCEAN/train_images/25331.png\n/kaggle/input/UBC-OCEAN/train_images/31383.png\n/kaggle/input/UBC-OCEAN/train_images/44700.png\n/kaggle/input/UBC-OCEAN/train_images/22489.png\n/kaggle/input/UBC-OCEAN/train_images/3084.png\n/kaggle/input/UBC-OCEAN/train_images/1943.png\n/kaggle/input/UBC-OCEAN/train_images/32636.png\n/kaggle/input/UBC-OCEAN/train_images/32192.png\n/kaggle/input/UBC-OCEAN/train_images/33839.png\n/kaggle/input/UBC-OCEAN/train_images/43390.png\n/kaggle/input/UBC-OCEAN/train_images/40888.png\n/kaggle/input/UBC-OCEAN/train_images/35909.png\n/kaggle/input/UBC-OCEAN/train_images/31333.png\n/kaggle/input/UBC-OCEAN/train_images/5852.png\n/kaggle/input/UBC-OCEAN/train_images/5114.png\n/kaggle/input/UBC-OCEAN/train_images/91.png\n/kaggle/input/UBC-OCEAN/train_images/15139.png\n/kaggle/input/UBC-OCEAN/train_images/37385.png\n/kaggle/input/UBC-OCEAN/train_images/21260.png\n/kaggle/input/UBC-OCEAN/train_images/22654.png\n/kaggle/input/UBC-OCEAN/train_images/36008.png\n/kaggle/input/UBC-OCEAN/train_images/4827.png\n/kaggle/input/UBC-OCEAN/train_images/17067.png\n/kaggle/input/UBC-OCEAN/train_images/286.png\n/kaggle/input/UBC-OCEAN/train_images/58895.png\n/kaggle/input/UBC-OCEAN/train_images/64188.png\n/kaggle/input/UBC-OCEAN/train_images/59383.png\n/kaggle/input/UBC-OCEAN/train_images/54506.png\n/kaggle/input/UBC-OCEAN/train_images/34845.png\n/kaggle/input/UBC-OCEAN/train_images/42260.png\n/kaggle/input/UBC-OCEAN/train_images/52612.png\n/kaggle/input/UBC-OCEAN/train_images/1101.png\n/kaggle/input/UBC-OCEAN/train_images/13364.png\n/kaggle/input/UBC-OCEAN/train_images/46688.png\n/kaggle/input/UBC-OCEAN/train_images/1080.png\n/kaggle/input/UBC-OCEAN/train_images/47105.png\n/kaggle/input/UBC-OCEAN/train_images/27315.png\n/kaggle/input/UBC-OCEAN/train_images/39893.png\n/kaggle/input/UBC-OCEAN/train_images/28821.png\n/kaggle/input/UBC-OCEAN/train_images/22221.png\n/kaggle/input/UBC-OCEAN/train_images/30272.png\n/kaggle/input/UBC-OCEAN/train_images/20670.png\n/kaggle/input/UBC-OCEAN/train_images/39144.png\n/kaggle/input/UBC-OCEAN/train_images/32596.png\n/kaggle/input/UBC-OCEAN/train_images/12902.png\n/kaggle/input/UBC-OCEAN/train_images/29084.png\n/kaggle/input/UBC-OCEAN/train_images/34690.png\n/kaggle/input/UBC-OCEAN/train_images/9658.png\n/kaggle/input/UBC-OCEAN/train_images/2391.png\n/kaggle/input/UBC-OCEAN/train_images/20882.png\n/kaggle/input/UBC-OCEAN/train_images/14532.png\n/kaggle/input/UBC-OCEAN/train_images/20329.png\n/kaggle/input/UBC-OCEAN/train_images/37367.png\n/kaggle/input/UBC-OCEAN/train_images/6951.png\n/kaggle/input/UBC-OCEAN/train_images/49872.png\n/kaggle/input/UBC-OCEAN/train_images/45990.png\n/kaggle/input/UBC-OCEAN/train_images/31473.png\n/kaggle/input/UBC-OCEAN/train_images/34822.png\n/kaggle/input/UBC-OCEAN/train_images/15293.png\n/kaggle/input/UBC-OCEAN/train_images/10642.png\n/kaggle/input/UBC-OCEAN/train_images/49995.png\n/kaggle/input/UBC-OCEAN/train_images/54590.png\n/kaggle/input/UBC-OCEAN/train_images/22425.png\n/kaggle/input/UBC-OCEAN/train_images/52308.png\n/kaggle/input/UBC-OCEAN/train_images/30539.png\n/kaggle/input/UBC-OCEAN/train_images/20205.png\n/kaggle/input/UBC-OCEAN/train_images/9697.png\n/kaggle/input/UBC-OCEAN/train_images/46736.png\n/kaggle/input/UBC-OCEAN/train_images/41368.png\n/kaggle/input/UBC-OCEAN/train_images/25923.png\n/kaggle/input/UBC-OCEAN/train_images/65094.png\n/kaggle/input/UBC-OCEAN/train_images/17365.png\n/kaggle/input/UBC-OCEAN/train_images/44962.png\n/kaggle/input/UBC-OCEAN/train_images/38349.png\n/kaggle/input/UBC-OCEAN/train_images/35652.png\n/kaggle/input/UBC-OCEAN/train_images/27950.png\n/kaggle/input/UBC-OCEAN/train_images/51893.png\n/kaggle/input/UBC-OCEAN/train_images/41099.png\n/kaggle/input/UBC-OCEAN/train_images/43815.png\n/kaggle/input/UBC-OCEAN/train_images/25604.png\n/kaggle/input/UBC-OCEAN/train_images/28922.png\n/kaggle/input/UBC-OCEAN/train_images/40639.png\n/kaggle/input/UBC-OCEAN/train_images/47020.png\n/kaggle/input/UBC-OCEAN/train_images/53098.png\n/kaggle/input/UBC-OCEAN/train_images/1252.png\n/kaggle/input/UBC-OCEAN/train_images/61852.png\n/kaggle/input/UBC-OCEAN/train_images/58947.png\n/kaggle/input/UBC-OCEAN/train_images/2227.png\n/kaggle/input/UBC-OCEAN/train_images/46444.png\n/kaggle/input/UBC-OCEAN/train_images/25928.png\n/kaggle/input/UBC-OCEAN/train_images/23523.png\n/kaggle/input/UBC-OCEAN/train_images/13568.png\n/kaggle/input/UBC-OCEAN/train_images/44232.png\n/kaggle/input/UBC-OCEAN/train_images/41361.png\n/kaggle/input/UBC-OCEAN/train_images/52108.png\n/kaggle/input/UBC-OCEAN/train_images/5265.png\n/kaggle/input/UBC-OCEAN/train_images/46139.png\n/kaggle/input/UBC-OCEAN/train_images/18896.png\n/kaggle/input/UBC-OCEAN/train_images/4963.png\n/kaggle/input/UBC-OCEAN/train_images/18547.png\n/kaggle/input/UBC-OCEAN/train_images/64629.png\n/kaggle/input/UBC-OCEAN/train_images/47837.png\n/kaggle/input/UBC-OCEAN/train_images/18196.png\n/kaggle/input/UBC-OCEAN/train_images/40129.png\n/kaggle/input/UBC-OCEAN/train_images/43875.png\n/kaggle/input/UBC-OCEAN/train_images/26939.png\n/kaggle/input/UBC-OCEAN/train_images/48550.png\n/kaggle/input/UBC-OCEAN/train_images/39255.png\n/kaggle/input/UBC-OCEAN/train_images/45104.png\n/kaggle/input/UBC-OCEAN/train_images/55287.png\n/kaggle/input/UBC-OCEAN/train_images/34508.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/52275_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/47960_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/4_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/57468_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/20316_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/27315_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/46793_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/43815_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/25792_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/48502_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/55281_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/56221_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/29147_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/43875_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/33708_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/57265_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/15912_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/60287_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/6140_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/27245_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/3881_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/52438_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/11559_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/36063_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/14039_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/38019_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/56500_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/17487_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/46172_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/18547_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/9183_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/28562_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/54990_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/46736_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/59515_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/9254_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/20329_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/38849_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/39255_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/4827_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/38647_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/34247_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/706_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/35792_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/20463_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/52375_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/21232_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/20205_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/53377_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/15470_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/20312_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/48861_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/18568_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/12244_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/52784_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/9658_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/52461_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/64771_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/38048_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/9509_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/59760_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/52752_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/13526_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/45254_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/47020_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/43671_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/40079_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/44962_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/44976_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/15188_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/62828_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/1666_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/26939_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/13387_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/3672_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/61033_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/18138_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/1943_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/39144_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/5114_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/61493_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/11557_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/24617_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/5251_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/8985_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/6363_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/38687_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/59002_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/58947_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/10642_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/52612_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/28393_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/31300_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/52846_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/19030_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/40639_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/29615_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/14312_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/58895_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/39146_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/10143_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/50048_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/44283_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/281_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/39269_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/8213_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/34649_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/30515_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/30738_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/35197_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/2391_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/7955_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/65533_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/61823_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/31793_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/22924_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/6951_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/36678_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/63897_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/17174_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/29240_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/35239_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/10246_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/21432_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/35953_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/63367_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/10077_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/49587_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/34688_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/6175_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/53402_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/52259_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/57711_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/66_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/48973_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/14401_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/54825_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/41801_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/7490_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/1080_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/14127_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/47431_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/5456_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/45185_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/51832_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/32032_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/1925_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/4963_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/16042_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/34508_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/32432_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/28922_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/22155_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/47911_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/10548_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/55279_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/14617_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/24759_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/28028_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/32596_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/44700_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/36639_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/38118_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/1020_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/28821_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/60988_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/38585_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/17416_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/61689_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/54473_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/63165_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/38669_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/26644_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/48506_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/64629_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/38366_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/29904_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/8279_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/63015_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/60685_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/53688_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/30868_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/61320_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/38535_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/35754_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/39880_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/28121_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/5264_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/6582_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/9154_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/28066_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/22290_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/30986_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/3997_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/20882_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/33984_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/25923_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/50712_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/32042_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/49995_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/31333_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/36204_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/1252_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/32035_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/61852_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/26950_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/52931_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/55876_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/26025_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/47837_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/25256_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/40503_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/38018_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/17738_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/18196_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/57598_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/54007_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/50962_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/16325_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/36513_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/10800_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/30792_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/5307_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/64950_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/54949_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/2706_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/46543_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/24563_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/54408_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/42125_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/21910_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/56799_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/3098_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/40124_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/1101_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/11431_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/15871_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/17291_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/18981_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/21303_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/8713_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/28519_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/62476_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/38901_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/53900_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/24991_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/18914_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/65300_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/51215_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/40888_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/23796_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/14424_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/30203_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/64111_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/9341_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/56875_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/9697_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/49281_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/34720_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/13987_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/38479_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/61280_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/47984_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/44232_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/41361_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/14532_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/12522_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/44581_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/39728_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/286_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/39252_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/64188_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/63289_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/54506_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/8805_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/42260_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/44804_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/32192_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/39893_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/3092_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/43390_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/39872_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/3264_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/10896_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/45104_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/61424_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/21445_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/63429_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/17365_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/6898_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/39172_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/7204_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/15583_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/5992_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/15671_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/5851_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/56993_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/63121_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/4211_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/22425_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/31383_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/60058_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/6449_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/46469_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/28603_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/16876_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/15293_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/15231_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/51499_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/46139_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/61089_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/45630_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/6558_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/34845_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/27249_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/23629_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/46815_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/22740_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/44530_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/4608_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/31297_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/16209_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/43796_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/54590_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/32112_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/62641_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/57100_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/8531_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/27950_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/21929_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/39466_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/52108_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/2097_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/3084_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/26533_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/25928_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/1295_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/43998_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/39208_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/37655_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/10469_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/29888_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/26862_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/45578_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/30712_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/30508_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/18810_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/46769_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/5015_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/34277_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/15742_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/51032_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/59383_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/45990_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/46435_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/42296_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/3511_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/2906_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/16064_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/2666_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/37307_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/12902_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/15139_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/10252_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/49942_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/3191_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/16494_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/30272_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/27747_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/51893_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/22654_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/1774_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/46688_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/56351_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/1952_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/25604_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/3222_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/15209_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/12222_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/36008_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/7482_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/25331_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/29200_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/63298_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/18896_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/34690_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/39258_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/59589_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/26603_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/37190_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/44432_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/970_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/51679_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/21373_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/35909_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/60928_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/431_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/63941_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/56843_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/26190_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/47105_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/40129_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/17854_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/6359_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/39425_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/46444_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/37367_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/39990_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/7329_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/35652_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/15221_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/11417_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/24023_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/5265_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/50304_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/53098_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/38041_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/18813_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/8130_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/12159_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/8240_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/5970_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/43280_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/50589_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/41099_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/54928_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/52308_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/1660_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/59900_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/56861_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/51346_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/13364_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/50878_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/48550_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/1289_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/5852_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/38097_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/17067_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/21260_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/16986_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/2227_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/45725_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/29915_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/65022_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/22221_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/60936_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/43432_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/51021_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/30794_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/39365_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/4877_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/65094_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/49872_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/57162_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/11263_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/56117_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/39297_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/19157_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/38959_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/14542_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/19255_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/35592_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/32636_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/64824_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/56947_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/20670_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/27739_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/26124_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/33976_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/58974_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/30369_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/26219_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/52836_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/19569_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/6281_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/31033_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/18014_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/55287_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/36499_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/22489_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/27851_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/52420_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/18607_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/6843_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/15486_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/28736_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/63836_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/53059_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/19512_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/29331_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/30539_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/33839_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/50246_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/53859_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/65371_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/51128_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/3055_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/6793_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/34822_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/61961_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/23523_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/4797_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/35998_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/25561_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/42549_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/31473_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/24507_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/20858_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/38349_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/61100_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/14051_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/59031_thumbnail.png\n/kaggle/input/UBC-OCEAN/train_thumbnails/12442_thumbnail.png\n/kaggle/input/UBC-OCEAN/test_images/41.png\n","output_type":"stream"}],"execution_count":1},{"cell_type":"code","source":"import pandas as pd\nimport numpy as np\ntrain = pd.read_csv(\"/kaggle/input/UBC-OCEAN/train.csv\")\ntest = pd.read_csv(\"/kaggle/input/UBC-OCEAN/test.csv\")","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-07-04T03:45:23.892866Z","iopub.execute_input":"2025-07-04T03:45:23.893237Z","iopub.status.idle":"2025-07-04T03:45:23.92178Z","shell.execute_reply.started":"2025-07-04T03:45:23.893215Z","shell.execute_reply":"2025-07-04T03:45:23.920824Z"}},"outputs":[],"execution_count":2},{"cell_type":"code","source":"print(\"Train shape:\", train.shape)\nprint(\"Test shape:\", test.shape)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-07-04T03:45:23.924353Z","iopub.execute_input":"2025-07-04T03:45:23.924641Z","iopub.status.idle":"2025-07-04T03:45:23.943073Z","shell.execute_reply.started":"2025-07-04T03:45:23.924615Z","shell.execute_reply":"2025-07-04T03:45:23.942189Z"}},"outputs":[{"name":"stdout","text":"Train shape: (538, 5)\nTest shape: (1, 3)\n","output_type":"stream"}],"execution_count":3},{"cell_type":"code","source":"train.head(3)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-07-04T03:45:23.944044Z","iopub.execute_input":"2025-07-04T03:45:23.944374Z","iopub.status.idle":"2025-07-04T03:45:23.988381Z","shell.execute_reply.started":"2025-07-04T03:45:23.944348Z","shell.execute_reply":"2025-07-04T03:45:23.987532Z"}},"outputs":[{"execution_count":4,"output_type":"execute_result","data":{"text/plain":"   image_id label  image_width  image_height  is_tma\n0         4  HGSC        23785         20008   False\n1        66  LGSC        48871         48195   False\n2        91  HGSC         3388          3388    True","text/html":"<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>image_id</th>\n      <th>label</th>\n      <th>image_width</th>\n      <th>image_height</th>\n      <th>is_tma</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>4</td>\n      <td>HGSC</td>\n      <td>23785</td>\n      <td>20008</td>\n      <td>False</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>66</td>\n      <td>LGSC</td>\n      <td>48871</td>\n      <td>48195</td>\n      <td>False</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>91</td>\n      <td>HGSC</td>\n      <td>3388</td>\n      <td>3388</td>\n      <td>True</td>\n    </tr>\n  </tbody>\n</table>\n</div>"},"metadata":{}}],"execution_count":4},{"cell_type":"code","source":"test.head()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-07-04T03:45:23.989166Z","iopub.execute_input":"2025-07-04T03:45:23.989445Z","iopub.status.idle":"2025-07-04T03:45:23.99732Z","shell.execute_reply.started":"2025-07-04T03:45:23.989425Z","shell.execute_reply":"2025-07-04T03:45:23.996512Z"}},"outputs":[{"execution_count":5,"output_type":"execute_result","data":{"text/plain":"   image_id  image_width  image_height\n0        41        28469         16987","text/html":"<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>image_id</th>\n      <th>image_width</th>\n      <th>image_height</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>41</td>\n      <td>28469</td>\n      <td>16987</td>\n    </tr>\n  </tbody>\n</table>\n</div>"},"metadata":{}}],"execution_count":5},{"cell_type":"code","source":"train['is_tma'].value_counts()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-07-04T03:45:23.998066Z","iopub.execute_input":"2025-07-04T03:45:23.998296Z","iopub.status.idle":"2025-07-04T03:45:24.031969Z","shell.execute_reply.started":"2025-07-04T03:45:23.998275Z","shell.execute_reply":"2025-07-04T03:45:24.030994Z"}},"outputs":[{"execution_count":6,"output_type":"execute_result","data":{"text/plain":"is_tma\nFalse    513\nTrue      25\nName: count, dtype: int64"},"metadata":{}}],"execution_count":6},{"cell_type":"code","source":"train['label'].value_counts()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-07-04T03:45:24.034408Z","iopub.execute_input":"2025-07-04T03:45:24.034608Z","iopub.status.idle":"2025-07-04T03:45:24.056127Z","shell.execute_reply.started":"2025-07-04T03:45:24.034593Z","shell.execute_reply":"2025-07-04T03:45:24.055285Z"}},"outputs":[{"execution_count":7,"output_type":"execute_result","data":{"text/plain":"label\nHGSC    222\nEC      124\nCC       99\nLGSC     47\nMC       46\nName: count, dtype: int64"},"metadata":{}}],"execution_count":7},{"cell_type":"code","source":"train['label'].unique()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-07-04T03:45:24.057441Z","iopub.execute_input":"2025-07-04T03:45:24.057702Z","iopub.status.idle":"2025-07-04T03:45:24.074053Z","shell.execute_reply.started":"2025-07-04T03:45:24.05768Z","shell.execute_reply":"2025-07-04T03:45:24.072861Z"}},"outputs":[{"execution_count":8,"output_type":"execute_result","data":{"text/plain":"array(['HGSC', 'LGSC', 'EC', 'CC', 'MC'], dtype=object)"},"metadata":{}}],"execution_count":8},{"cell_type":"code","source":"train['label'].value_counts().plot(kind='bar',title='Class Distribution',figsize=(8,5))","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-07-04T03:45:24.074916Z","iopub.execute_input":"2025-07-04T03:45:24.0752Z","iopub.status.idle":"2025-07-04T03:45:24.371318Z","shell.execute_reply.started":"2025-07-04T03:45:24.075174Z","shell.execute_reply":"2025-07-04T03:45:24.370618Z"}},"outputs":[{"execution_count":9,"output_type":"execute_result","data":{"text/plain":"<Axes: title={'center': 'Class Distribution'}, xlabel='label'>"},"metadata":{}},{"output_type":"display_data","data":{"text/plain":"<Figure size 800x500 with 1 Axes>","image/png":"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iiAFAACAUQQpAAAAjCJIAQAAYBRBCgAAAKMIUgAAABhFkAIAAMAoghQAAABGEaQAAAAwiiAFAACAUQQpAAAAjCJIAQAAYBRBCgAAAKMIUgAAABhFkAIAAMAoghQAAABGEaQAAAAwiiAFAACAUQQpAAAAjCJIAQAAYBRBCgAAAKMIUgAAABhFkAIAAMAoghQAAABGEaQAAAAwiiAFAACAUQQpAAAAjCJIAQAAYBRBCgAAAKMIUgAAABhFkAIAAMAoghQAAABGEaQAAAAwiiAFAACAUQQpAAAAjCJIAQAAYBRBCgAAAKMIUgAAABhFkAIAAMAoghQAAABGEaQAAAAwiiAFAACAUQQpAAAAjCJIAQAAYBRBCgAAAKMIUgAAABhFkAIAAMAoghQAAABGEaQAAAAwqtRBunXrVvXv319BQUGy2WxauXKl0/oRI0bIZrM5XXr37u20zdmzZzVs2DD5+PjIz89Po0ePVnZ29l96IgAAAKicSh2kOTk5at26tebNm1fiNr1799bp06cdlw8//NBp/bBhw3Tw4EFt3LhRa9as0datW/XII4+UfnoAAABUeh6lvUFUVJSioqKuuI3dbldgYGCx6w4fPqx169Zp165dateunSRp7ty56tOnj9544w0FBQWVdiQAAABUYuXyGdKvvvpKdevWVbNmzfT4448rIyPDsW779u3y8/NzxKgkRUREyM3NTTt37iz2/vLy8pSVleV0AQAAwPWhzIO0d+/eeu+997Rp0yb993//t7Zs2aKoqCgVFBRIktLS0lS3bl2n23h4eMjf319paWnF3uf06dPl6+vruAQHB5f12AAAADCk1G/Z/5nBgwc7/nzrrbeqVatWaty4sb766ivdfffd13SfcXFxio2NdVzPysoiSgEAAK4T5X7ap0aNGql27dpKTk6WJAUGBurMmTNO21y6dElnz54t8XOndrtdPj4+ThcAAABcH8o9SH/88UdlZGSoXr16kqTw8HCdP39ee/bscWyTmJiowsJCdejQobzHAQAAgIsp9Vv22dnZjr2dknTixAnt3btX/v7+8vf319SpUxUdHa3AwEAdP35cEydOVJMmTRQZGSlJCgsLU+/evTV27FjNnz9f+fn5iomJ0eDBgznCHgAAoAoq9R7S3bt3q02bNmrTpo0kKTY2Vm3atNHkyZPl7u6u/fv3a8CAAbr55ps1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\n"},"metadata":{}}],"execution_count":9},{"cell_type":"code","source":"classes = ['HGSC', 'LGSC', 'EC', 'CC', 'MC']\nclasses.append(\"Other\")","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-07-04T03:45:24.371965Z","iopub.execute_input":"2025-07-04T03:45:24.372179Z","iopub.status.idle":"2025-07-04T03:45:24.375542Z","shell.execute_reply.started":"2025-07-04T03:45:24.37216Z","shell.execute_reply":"2025-07-04T03:45:24.374944Z"}},"outputs":[],"execution_count":10},{"cell_type":"code","source":"classes","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-07-04T03:45:24.376457Z","iopub.execute_input":"2025-07-04T03:45:24.377026Z","iopub.status.idle":"2025-07-04T03:45:24.398712Z","shell.execute_reply.started":"2025-07-04T03:45:24.377005Z","shell.execute_reply":"2025-07-04T03:45:24.397618Z"}},"outputs":[{"execution_count":11,"output_type":"execute_result","data":{"text/plain":"['HGSC', 'LGSC', 'EC', 'CC', 'MC', 'Other']"},"metadata":{}}],"execution_count":11},{"cell_type":"code","source":"proba = [0.3713, 0.0786, 0.2075, 0.1655, 0.077, 0.1]  # Sum = 1.0","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-07-04T03:45:24.399469Z","iopub.execute_input":"2025-07-04T03:45:24.399724Z","iopub.status.idle":"2025-07-04T03:45:24.415481Z","shell.execute_reply.started":"2025-07-04T03:45:24.3997Z","shell.execute_reply":"2025-07-04T03:45:24.41479Z"}},"outputs":[],"execution_count":12},{"cell_type":"code","source":"from tqdm import tqdm\nimport matplotlib.pyplot as plt\nfrom skimage import io\nfrom skimage.io import imread\nfrom skimage.color import rgb2gray\nfrom skimage.transform import resize\nimport os","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-07-04T03:45:24.416332Z","iopub.execute_input":"2025-07-04T03:45:24.416548Z","iopub.status.idle":"2025-07-04T03:45:25.059557Z","shell.execute_reply.started":"2025-07-04T03:45:24.416533Z","shell.execute_reply":"2025-07-04T03:45:25.058834Z"}},"outputs":[],"execution_count":13},{"cell_type":"code","source":"THUMBNAIL_PATH = \"/kaggle/input/UBC-OCEAN/train_thumbnails\"\n\nfig, axs = plt.subplots(2, 3, figsize=(12, 8))  # for 5 classes\n\nfor i, label in enumerate(labels):\n    # pick first non-TMA image from this label\n    img_id = train[(train['label'] == label) & (train['is_tma'] == False)].iloc[0]['image_id']\n    \n    # read and convert to grayscale\n    img = imread(os.path.join(THUMBNAIL_PATH, str(img_id) + \"_thumbnail.png\"))\n    img = rgb2gray(img)\n    \n    # plot\n    axs[i//3, i%3].imshow(img, cmap='gray')\n    axs[i//3, i%3].set_title(label)\n    axs[i//3, i%3].axis('off')\n\nplt.tight_layout()\nplt.show()\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-07-04T03:45:25.060266Z","iopub.execute_input":"2025-07-04T03:45:25.060638Z","iopub.status.idle":"2025-07-04T03:45:25.715154Z","shell.execute_reply.started":"2025-07-04T03:45:25.060615Z","shell.execute_reply":"2025-07-04T03:45:25.713817Z"}},"outputs":[{"traceback":["\u001b[0;31m---------------------------------------------------------------------------\u001b[0m","\u001b[0;31mNameError\u001b[0m                                 Traceback (most recent call last)","\u001b[0;32m/tmp/ipykernel_35/3229831300.py\u001b[0m in \u001b[0;36m<cell line: 0>\u001b[0;34m()\u001b[0m\n\u001b[1;32m      3\u001b[0m \u001b[0mfig\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maxs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msubplots\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m3\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfigsize\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m12\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m8\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m  \u001b[0;31m# for 5 classes\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      4\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 5\u001b[0;31m \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlabel\u001b[0m \u001b[0;32min\u001b[0m \u001b[0menumerate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlabels\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m      6\u001b[0m     \u001b[0;31m# pick first non-TMA image from this label\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      7\u001b[0m     \u001b[0mimg_id\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtrain\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtrain\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'label'\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0mlabel\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m&\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mtrain\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'is_tma'\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;32mFalse\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0miloc\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'image_id'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;31mNameError\u001b[0m: name 'labels' is not defined"],"ename":"NameError","evalue":"name 'labels' is not defined","output_type":"error"},{"output_type":"display_data","data":{"text/plain":"<Figure size 1200x800 with 6 Axes>","image/png":"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\n"},"metadata":{}}],"execution_count":14},{"cell_type":"code","source":"class CFG:\n    TRAIN_THUMBNAILS_PATH = \"/kaggle/input/UBC-OCEAN/train_thumbnails\"\n    TRAIN_FULL_PATH = \"/kaggle/input/UBC-OCEAN/train_images\"\n    TEST_THUMBNAILS_PATH = \"/kaggle/input/UBC-OCEAN/test_thumbnails\"\n    TEST_FULL_PATH = \"/kaggle/input/UBC-OCEAN/test_images\"","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-07-04T03:45:25.715651Z","iopub.status.idle":"2025-07-04T03:45:25.715914Z","shell.execute_reply.started":"2025-07-04T03:45:25.71579Z","shell.execute_reply":"2025-07-04T03:45:25.715804Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"images = []\nlabels = []\n\nfor i, row in tqdm(train.iterrows(), total=len(train)):\n    if row['is_tma']:\n        continue  # skip TMA images\n\n    image_path = os.path.join(THUMBNAIL_PATH, str(row['image_id']) + \"_thumbnail.png\")\n\n    try:\n        img = io.imread(image_path)\n        img = rgb2gray(img)  # convert to grayscale\n        img = resize(img, (128, 128), anti_aliasing=False)\n        img = img.reshape(128, 128, 1)  # add channel dimension\n\n        images.append(img)\n        labels.append(row['label'])\n\n    except Exception as e:\n        print(f\"Error loading image {image_path}: {e}\")\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-07-04T03:45:25.717112Z","iopub.status.idle":"2025-07-04T03:45:25.717378Z","shell.execute_reply.started":"2025-07-04T03:45:25.717249Z","shell.execute_reply":"2025-07-04T03:45:25.717261Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"X = np.array(images)\nprint(\"X shape:\", X.shape)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-07-04T03:45:25.718486Z","iopub.status.idle":"2025-07-04T03:45:25.718784Z","shell.execute_reply.started":"2025-07-04T03:45:25.718621Z","shell.execute_reply":"2025-07-04T03:45:25.718634Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"from sklearn.preprocessing import OneHotEncoder","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-07-04T03:45:25.719835Z","iopub.status.idle":"2025-07-04T03:45:25.720103Z","shell.execute_reply.started":"2025-07-04T03:45:25.719965Z","shell.execute_reply":"2025-07-04T03:45:25.719977Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"encoder = OneHotEncoder(sparse_output=False)\nY = encoder.fit_transform(np.array(labels).reshape(-1, 1))\nprint(\"Y shape:\", Y.shape)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-07-04T03:45:25.720889Z","iopub.status.idle":"2025-07-04T03:45:25.721116Z","shell.execute_reply.started":"2025-07-04T03:45:25.721013Z","shell.execute_reply":"2025-07-04T03:45:25.721025Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import tensorflow as tf\nfrom tensorflow import keras\nfrom tensorflow.keras.layers import Dense, Conv2D, Flatten\nfrom tensorflow.keras.models import Sequential\nfrom tensorflow.keras.callbacks import EarlyStopping, ModelCheckpoint","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-07-04T03:45:25.721705Z","iopub.status.idle":"2025-07-04T03:45:25.721982Z","shell.execute_reply.started":"2025-07-04T03:45:25.721846Z","shell.execute_reply":"2025-07-04T03:45:25.721857Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"model = Sequential()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-07-04T03:45:25.72322Z","iopub.status.idle":"2025-07-04T03:45:25.723465Z","shell.execute_reply.started":"2025-07-04T03:45:25.72334Z","shell.execute_reply":"2025-07-04T03:45:25.72335Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"model.add(Conv2D(filters=64, kernel_size=3, strides=(2,1), padding='same',\n                 activation='relu', input_shape=(128,128,1)))\nmodel.add(Flatten())\nmodel.add(Dense(64, activation='relu'))\nmodel.add(Dense(32, activation='relu'))\nmodel.add(Dense(Y.shape[1], activation='softmax'))  # Output layer: one neuron per class","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-07-04T03:45:25.724327Z","iopub.status.idle":"2025-07-04T03:45:25.724538Z","shell.execute_reply.started":"2025-07-04T03:45:25.724443Z","shell.execute_reply":"2025-07-04T03:45:25.724454Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"model.compile(loss='categorical_crossentropy',optimizer='adam',metrics=['accuracy'])\nmodel.summary()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-07-04T03:45:25.725726Z","iopub.status.idle":"2025-07-04T03:45:25.726066Z","shell.execute_reply.started":"2025-07-04T03:45:25.725891Z","shell.execute_reply":"2025-07-04T03:45:25.725903Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"callbacks = [\n    EarlyStopping(monitor='val_loss', patience=2, restore_best_weights=True),\n    ModelCheckpoint(\"best_model.h5\", monitor='val_loss', save_best_only=True)\n]","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-07-04T03:45:25.726908Z","iopub.status.idle":"2025-07-04T03:45:25.72719Z","shell.execute_reply.started":"2025-07-04T03:45:25.727019Z","shell.execute_reply":"2025-07-04T03:45:25.727029Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"history = model.fit(\n    X, Y,\n    batch_size=8,\n    epochs=20,\n    validation_split=0.2,\n    callbacks=callbacks,\n    verbose=1\n)","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"","metadata":{"trusted":true},"outputs":[],"execution_count":null}]}