{"cells":[{"metadata":{},"cell_type":"markdown","source":"# Kaggle Kernal with all the datasets preloaded\nView this disussion for more information: https://www.kaggle.com/c/deepfake-detection-challenge/discussion/134420"},{"metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true},"cell_type":"code","source":"import os\nimport glob\nimport cv2\nimport pandas as pd\nimport re\nimport numpy as np\n\nimport warnings\nwarnings.filterwarnings(\"ignore\")","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"meta = glob.glob('../input/deepfake-detection-faces-*/*.csv')\nmeta.sort(key=lambda f: int(re.sub('\\D', '', f)))\n\ndfs = []\nfor path in meta:\n    df = pd.read_csv(path)\n    df['path'] = ''\n    path = path.split(\"/\")[:-1]\n    path = path[0] + '/' + path[1] + '/' + path[2] + '/'\n    for i in range(len(df)):\n        df.loc[i]['path'] = f'{path}{df.loc[i][\"filename\"][:-4]}'\n    dfs.append(df)\n\ntrain_df = pd.concat(dfs)\ntrain_df = train_df.reset_index(drop=True)\nlen(train_df)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"part = 16\nfor j in range((49-16)+1):\n    if part+j != 17:\n        meta = pd.read_csv(f'../input/dfdc-part-{part+j}/images/metadata{part+j}.csv')\n    else:\n        meta = pd.read_csv(f'../input/dfdc-part-{part+j}/images/metadata{part+j}.json', index_col=0)\n    meta['path'] = ''\n    print(part+j)\n    del_idxs = []\n    for i in range(len(meta)):\n        if os.path.isdir(f'../input/dfdc-part-{part+j}/images/{meta.loc[i][\"filename\"][:-4]}'):\n            if len(os.listdir(f'../input/dfdc-part-{part+j}/images/{meta.loc[i][\"filename\"][:-4]}')) < 5:\n                del_idxs.append(i)\n            else:\n                meta.loc[i]['path'] = f'../input/dfdc-part-{part+j}/images/{meta.loc[i][\"filename\"][:-4]}'\n        else:\n            del_idxs.append(i)\n    print(del_idxs)\n    for idx in del_idxs:\n        meta = meta.drop(idx)\n    train_df = pd.concat([train_df,meta])\n    train_df = train_df.reset_index(drop=True)\nlen(train_df)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"train_df","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]}],"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":4,"nbformat_minor":4}