{"cells":[{"metadata":{"trusted":true},"cell_type":"code","source":"import pandas as pd\ntrain_csv=pd.read_csv('../input/global-wheat-detection/train.csv')\n# print(train_csv)\n# print(train_csv['image_id'].values)\n\ntrain_csv_set_list=list(set(train_csv['image_id'].values))\nprint(len(train_csv_set_list))\n\n# 随机打乱数据\nprint(train_csv_set_list[:10])\nfrom random import shuffle\nshuffle(train_csv_set_list)\nprint(train_csv_set_list[:10])\n\ntrain_data=train_csv_set_list[:2600]\nval_data=train_csv_set_list[2600:]\nprint(len(train_data))\nprint(len(val_data))","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"def get_output_dict(train_csv_set_list): \n    #先生成categories：\n    CATEGORIES_DICT=[\"id\",\"name\"]\n    _CATEGORIES=[\"wheat\",]\n    def generate_categories_dict(category):\n        return [{CATEGORIES_DICT[0]:category.index(x),CATEGORIES_DICT[1]:x} for x in category]\n    categories_dict_list=generate_categories_dict(_CATEGORIES)\n    #print(generate_categories_dict(_CATEGORIES))\n\n    categories_name_to_id_dict = {}\n    for x in _CATEGORIES:\n        categories_name_to_id_dict[x]=_CATEGORIES.index(x)\n    # print(categories_name_to_id_dict)\n\n\n\n    # 生成\"images\",\"annotations\"\n    images_dict_list=[]\n    annotations_dict_list=[]\n    id=0\n\n    import cv2\n    for i in range(len(train_csv_set_list)):    \n        an_images_file_name=train_csv_set_list[i]+\".jpg\"\n        # print(an_images_file_name)\n\n        images_dict_list.append({\"id\": i,\"width\":1024,\"height\":1024,\"file_name\":an_images_file_name})\n    # print(images_dict_list)\n\n        # print(train_csv[train_csv.image_id == train_csv_set_list[i]])\n        for j in train_csv[train_csv.image_id == train_csv_set_list[i]]['bbox'].values:\n            #print(type(j))\n            j=eval(j)\n            #print(j)\n            #print(type(j))\n\n\n            temp_annotations_dict={\"image_id\":i,'area':1048576,\"iscrowd\":0,\"bbox\":j,\"category_id\":0,\"id\":id,\"segmentation\":[]}       \n            id+=1\n\n            annotations_dict_list.append(temp_annotations_dict)\n\n\n    # 生成最终标签以及保存文件\n    COCO_DICT=[\"images\",\"annotations\",\"categories\"]\n\n\n\n\n    output={COCO_DICT[0]:images_dict_list,COCO_DICT[1]:annotations_dict_list,COCO_DICT[2]:categories_dict_list}\n    return output\n\n\ntrain_output=get_output_dict(train_data)\nval_output=get_output_dict(val_data)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"\nimport json\ndef save_json(dict,path):\n    with open(path,\"w\") as f:\n        json.dump(dict,f)\n        \nsave_json(train_output,'instances_train2017.json')\nsave_json(val_output,'instances_val2017.json')","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}