{"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":"import numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\nimport matplotlib.pyplot as plt\n\nimport cv2\nimport PIL\nimport os\nimport pathlib\nimport shutil\nfrom IPython.display import Image, display\n\n# for dirname, _, filenames in os.walk('/kaggle/input'):\n#     for filename in filenames:\n#         print(os.path.join(dirname, filename))","metadata":{"scrolled":true,"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Load Data","metadata":{}},{"cell_type":"code","source":"train_src = '../input/dog-breed-identification/train'\ntest_src = '../input/dog-breed-identification/test'\n\ntrain_labels = pd.read_csv('../input/dog-breed-identification/labels.csv', index_col = 'id')\nsubmission=pd.read_csv('../input/dog-breed-identification/sample_submission.csv')","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_size = len(os.listdir(train_src))\ntest_size = len(os.listdir(test_src))\n\nprint(train_size,test_size)\nprint(train_labels.shape)\nprint(submission.shape)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"target, dog_breeds = pd.factorize(train_labels['breed'], sort = True)\ntrain_labels['target'] = target\n\nprint(dog_breeds)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"display(train_labels.head())\ndisplay(submission.head())","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_labels['breed'].value_counts()","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Prepare the Directories","metadata":{}},{"cell_type":"code","source":"data_dir = pathlib.Path('/kaggle/working/data')\ndata_dir.mkdir()","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_dir = data_dir / 'train'\ntest_dir = data_dir / 'test'\n\ntrain_dir.mkdir()\ntest_dir.mkdir()","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"## Create a directory for each dog breed classes\nfor breed in dog_breeds:\n    breed_dir = train_dir / breed\n    breed_dir.mkdir()","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"for root, dirs, files in os.walk(train_src):\n    for file in files:\n        imgName = file.split('.')[0]\n        src_file = os.path.join(train_src, file)\n        destination = os.path.join(train_dir, train_labels.loc[imgName, 'breed'])\n        shutil.copy2(src_file, destination)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"shutil.copytree(test_src, test_dir / 'images')","metadata":{},"execution_count":null,"outputs":[]}]}