{"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":"markdown","source":"## My binary_cross_entropy loss was negative\nI thought there was something with secondary labels happening like repeatitions. I was right!\nHope it saves you time!","metadata":{}},{"cell_type":"code","source":"import pandas as pd\nmeta_data_df = pd.read_csv('../input/birdclef-2021/train_metadata.csv', index_col=\"filename\")\nsecondary_labels = meta_data_df[\"secondary_labels\"]\nsecondary_labels = secondary_labels.apply(lambda x : [y.strip()[1:-1] for y in x[1:-1].split(',')])","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import glob\nfrom tqdm.auto import tqdm\nimport os\n\npath = \"../input/birdclef-2021/train_short_audio/*/\"\nfor fulldirname in tqdm(sorted(glob.glob(path))):\n    label = fulldirname[41:-1]\n    subpath = fulldirname+\"/*.ogg\"\n    for idx_file, filename in enumerate(glob.glob(subpath)):\n        meta_id = os.path.basename(filename)\n        primary_label = label\n        _secondary_labels = []\n        if secondary_labels[meta_id][0] != '':\n            for secondary_label in secondary_labels[meta_id]:\n                _secondary_labels.append(secondary_label)\n\n        labels = [primary_label] + _secondary_labels\n        for i, v1 in enumerate(labels):\n            for j, v2 in enumerate(labels):\n                if i==j:\n                    continue\n                if v1 == v2:\n                    print(\"error\", labels)","metadata":{"trusted":true},"execution_count":null,"outputs":[]}]}