{"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"},"kaggle":{"accelerator":"nvidiaTeslaT4","dataSources":[{"sourceId":18237,"databundleVersionId":1053191,"sourceType":"competition"},{"sourceId":10482821,"sourceType":"datasetVersion","datasetId":6490576}],"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":true}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"!pip install ultralytics","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import pandas as pd\nimport numpy as np\nfrom ultralytics import YOLO\nimport yaml","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"data = {\n    \"path\": \"/kaggle/input/fashionpedia-new/op\",\n    \"train\": \"/kaggle/input/fashionpedia-new/op/images\",\n    \"val\": \"/kaggle/input/imaterialist-fashion-2020-fgvc7/test\",\n    \"names\": {\n        0: \"classic (t-shirt)\",\n        1: \"polo (shirt)\",\n        2: \"undershirt\",\n        3: \"henley (shirt)\",\n        4: \"ringer (t-shirt)\",\n        5: \"raglan (t-shirt)\",\n        6: \"rugby (shirt)\",\n        7: \"sailor (shirt)\",\n        8: \"crop (top)\",\n        9: \"halter (top)\",\n        10: \"camisole\",\n        11: \"tank (top)\",\n        12: \"peasant (top)\",\n        13: \"tube (top)\",\n        14: \"tunic (top)\",\n        15: \"smock (top)\",\n        16: \"hoodie\",\n        17: \"blazer\",\n        18: \"pea (jacket)\",\n        19: \"puffer (jacket)\",\n        20: \"biker (jacket)\",\n        21: \"trucker (jacket)\",\n        22: \"bomber (jacket)\",\n        23: \"anorak\",\n        24: \"safari (jacket)\",\n        25: \"mao (jacket)\",\n        26: \"nehru (jacket)\",\n        27: \"norfolk (jacket)\",\n        28: \"classic military (jacket)\",\n        29: \"track (jacket)\",\n        30: \"windbreaker\",\n        31: \"chanel (jacket)\",\n        32: \"bolero\",\n        33: \"tuxedo (jacket)\",\n        34: \"varsity (jacket)\",\n        35: \"crop (jacket)\",\n        36: \"jeans\",\n        37: \"sweatpants\",\n        38: \"leggings\",\n        39: \"hip-huggers (pants)\",\n        40: \"cargo (pants)\",\n        41: \"culottes\",\n        42: \"capri (pants)\",\n        43: \"harem (pants)\",\n        44: \"sailor (pants)\",\n        45: \"jodhpur\",\n        46: \"peg (pants)\",\n        47: \"camo (pants)\",\n        48: \"track (pants)\",\n        49: \"crop (pants)\",\n        50: \"short (shorts)\",\n        51: \"booty (shorts)\",\n        52: \"bermuda (shorts)\",\n        53: \"cargo (shorts)\",\n        54: \"trunks\",\n        55: \"boardshorts\",\n        56: \"skort\",\n        57: \"roll-up (shorts)\",\n        58: \"tie-up (shorts)\",\n        59: \"culotte (shorts)\",\n        60: \"lounge (shorts)\",\n        61: \"bloomers\",\n        62: \"tutu (skirt)\",\n        63: \"kilt\",\n        64: \"wrap (skirt)\",\n        65: \"skater (skirt)\",\n        66: \"cargo (skirt)\",\n        67: \"hobble (skirt)\",\n        68: \"sheath (skirt)\",\n        69: \"ball gown (skirt)\",\n        70: \"gypsy (skirt)\",\n        71: \"rah-rah (skirt)\",\n        72: \"prairie (skirt)\",\n        73: \"flamenco (skirt)\",\n        74: \"accordion (skirt)\",\n        75: \"sarong (skirt)\",\n        76: \"tulip (skirt)\",\n        77: \"dirndl (skirt)\",\n        78: \"godet (skirt)\",\n        79: \"blanket (coat)\",\n        80: \"parka\",\n        81: \"trench (coat)\",\n        82: \"pea (coat)\",\n        83: \"shearling (coat)\",\n        84: \"teddy bear (coat)\",\n        85: \"puffer (coat)\",\n        86: \"duster (coat)\",\n        87: \"raincoat\",\n        88: \"kimono\",\n        89: \"robe\",\n        90: \"dress (coat)\",\n        91: \"duffle (coat)\",\n        92: \"wrap (coat)\",\n        93: \"military (coat)\",\n        94: \"swing (coat)\",\n        95: \"halter (dress)\",\n        96: \"wrap (dress)\",\n        97: \"chemise (dress)\",\n        98: \"slip (dress)\",\n        99: \"cheongsams\",\n        100: \"jumper (dress)\",\n        101: \"shift (dress)\",\n        102: \"sheath (dress)\",\n        103: \"shirt (dress)\",\n        104: \"sundress\",\n        105: \"kaftan\",\n        106: \"bodycon (dress)\",\n        107: \"nightgown\",\n        108: \"gown\",\n        109: \"sweater (dress)\",\n        110: \"tea (dress)\",\n        111: \"blouson (dress)\",\n        112: \"tunic (dress)\",\n        113: \"skater (dress)\",\n        114: \"asymmetrical\",\n        115: \"symmetrical\",\n        116: \"peplum\",\n        117: \"circle\",\n        118: \"flare\",\n        119: \"fit and flare\",\n        120: \"trumpet\",\n        121: \"mermaid\",\n        122: \"balloon\",\n        123: \"bell\",\n        124: \"bell bottom\",\n        125: \"bootcut\",\n        126: \"peg\",\n        127: \"pencil\",\n        128: \"straight\",\n        129: \"a-line\",\n        130: \"tent\",\n        131: \"baggy\",\n        132: \"wide leg\",\n        133: \"high low\",\n        134: \"curved (fit)\",\n        135: \"tight (fit)\",\n        136: \"regular (fit)\",\n        137: \"loose (fit)\",\n        138: \"oversized\",\n        139: \"empire waistline\",\n        140: \"dropped waistline\",\n        141: \"high waist\",\n        142: \"normal waist\",\n        143: \"low waist\",\n        144: \"basque (wasitline)\",\n        145: \"no waistline\",\n        146: \"above-the-hip (length)\",\n        147: \"hip (length)\",\n        148: \"micro (length)\",\n        149: \"mini (length)\",\n        150: \"above-the-knee (length)\",\n        151: \"knee (length)\",\n        152: \"below the knee (length)\",\n        153: \"midi\",\n        154: \"maxi (length)\",\n        155: \"floor (length)\",\n        156: \"sleeveless\",\n        157: \"short (length)\",\n        158: \"elbow-length\",\n        159: \"three quarter (length)\",\n        160: \"wrist-length\",\n        161: \"asymmetric (collar)\",\n        162: \"regular (collar)\",\n        163: \"shirt (collar)\",\n        164: \"polo (collar)\",\n        165: \"chelsea (collar)\",\n        166: \"banded (collar)\",\n        167: \"mandarin (collar)\",\n        168: \"peter pan (collar)\",\n        169: \"bow (collar)\",\n        170: \"stand-away (collar)\",\n        171: \"jabot (collar)\",\n        172: \"sailor (collar)\",\n        173: \"oversized (collar)\",\n        174: \"notched (lapel)\",\n        175: \"peak (lapel)\",\n        176: \"shawl (lapel)\",\n        177: \"napoleon (lapel)\",\n        178: \"oversized (lapel)\",\n        179: \"collarless\",\n        180: \"asymmetric (neckline)\",\n        181: \"crew (neck)\",\n        182: \"round (neck)\",\n        183: \"v-neck\",\n        184: \"surplice (neck)\",\n        185: \"oval (neck)\",\n        186: \"u-neck\",\n        187: \"sweetheart (neckline)\",\n        188: \"queen anne (neck)\",\n        189: \"boat (neck)\",\n        190: \"scoop (neck)\",\n        191: \"square (neckline)\",\n        192: \"plunging (neckline)\",\n        193: \"keyhole (neck)\",\n        194: \"halter (neck)\",\n        195: \"crossover (neck)\",\n        196: \"choker (neck)\",\n        197: \"high (neck)\",\n        198: \"turtle (neck)\",\n        199: \"cowl (neck)\",\n        200: \"straight across (neck)\",\n        201: \"illusion (neck)\",\n        202: \"off-the-shoulder\",\n        203: \"one shoulder\",\n        204: \"set-in sleeve\",\n        205: \"dropped-shoulder sleeve\",\n        206: \"raglan (sleeve)\",\n        207: \"cap (sleeve)\",\n        208: \"tulip (sleeve)\",\n        209: \"puff (sleeve)\",\n        210: \"bell (sleeve)\",\n        211: \"circular flounce (sleeve)\",\n        212: \"poet (sleeve)\",\n        213: \"dolman (sleeve), batwing (sleeve)\",\n        214: \"bishop (sleeve)\",\n        215: \"leg of mutton (sleeve)\",\n        216: \"kimono (sleeve)\",\n        217: \"cargo (pocket)\",\n        218: \"patch (pocket)\",\n        219: \"welt (pocket)\",\n        220: \"kangaroo (pocket)\",\n        221: \"seam (pocket)\",\n        222: \"slash (pocket)\",\n        223: \"curved (pocket)\",\n        224: \"flap (pocket)\",\n        225: \"single breasted\",\n        226: \"double breasted\",\n        227: \"lace up\",\n        228: \"wrapping\",\n        229: \"zip-up\",\n        230: \"fly (opening)\",\n        231: \"chained (opening)\",\n        232: \"buckled (opening)\",\n        233: \"toggled (opening)\",\n        234: \"no opening\",\n        281: \"plastic\",\n        282: \"rubber\",\n        283: \"metal\",\n        285: \"feather\",\n        286: \"gem\",\n        287: \"bone\",\n        288: \"ivory\",\n        289: \"fur\",\n        290: \"suede\",\n        291: \"shearling\",\n        292: \"crocodile\",\n        293: \"snakeskin\",\n        294: \"wood\",\n        295: \"no non-textile material\",\n        296: \"burnout\",\n        297: \"distressed\",\n        298: \"washed\",\n        299: \"embossed\",\n        300: \"frayed\",\n        301: \"printed\",\n        302: \"ruched\",\n        303: \"quilted\",\n        304: \"pleat\",\n        305: \"gathering\",\n        306: \"smocking\",\n        307: \"tiered\",\n        308: \"cutout\",\n        309: \"slit\",\n        310: \"perforated\",\n        311: \"lining\",\n        312: \"applique(a)\",\n        313: \"bead(a)\",\n        314: \"rivet(a)\",\n        315: \"sequin(a)\",\n        316: \"no special manufacturing technique\",\n        317: \"plain (pattern)\",\n        318: \"abstract\",\n        319: \"cartoon\",\n        320: \"letters, numbers\",\n        321: \"camouflage\",\n        322: \"check\",\n        323: \"dot\",\n        324: \"fair isle\",\n        325: \"floral\",\n        326: \"geometric\",\n        327: \"paisley\",\n        328: \"stripe\",\n        329: \"houndstooth (pattern)\",\n        330: \"herringbone (pattern)\",\n        331: \"chevron\",\n        332: \"argyle\",\n        333: \"leopard\",\n        334: \"snakeskin (pattern)\",\n        335: \"cheetah\",\n        336: \"peacock\",\n        337: \"zebra\",\n        338: \"giraffe\",\n        339: \"toile de jouy\",\n        340: \"plant\"\n    },\n}\n\nwith open(\"trainyolo.yaml\", \"w\") as file:\n    yaml.dump(data, file, default_flow_style=False)","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"model = YOLO(\"yolov8s.pt\") \n# results = model.train(data=\"/kaggle/working/trainyolo.yaml\", epochs=100, imgsz=640, resume=True)","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"","metadata":{"trusted":true},"outputs":[],"execution_count":null}]}