├── LICENSE ├── README.md ├── Training.ipynb ├── cards_dataset ├── train │ ├── IMG_2383.JPG │ ├── IMG_2384.JPG │ ├── IMG_2385.JPG │ ├── IMG_2386.JPG │ ├── IMG_2387.JPG │ ├── IMG_2388.JPG │ ├── IMG_2389.JPG │ ├── IMG_2390.JPG │ ├── IMG_2391.JPG │ ├── IMG_2392.JPG │ ├── IMG_2393.JPG │ ├── IMG_2394.JPG │ ├── IMG_2395.JPG │ ├── IMG_2396.JPG │ ├── IMG_2397.JPG │ ├── IMG_2398.JPG │ ├── IMG_2399.JPG │ ├── IMG_2400.JPG │ ├── IMG_2401.JPG │ ├── IMG_2402.JPG │ ├── IMG_2403.JPG │ ├── IMG_2404.JPG │ ├── IMG_2405.JPG │ ├── IMG_2406.JPG │ ├── IMG_2407.JPG │ ├── IMG_2408.JPG │ ├── IMG_2409.JPG │ ├── IMG_2410.JPG │ ├── IMG_2411.JPG │ ├── IMG_2412.JPG │ ├── IMG_2413.JPG │ ├── IMG_2414.JPG │ ├── IMG_2415.JPG │ ├── IMG_2416.JPG │ ├── IMG_2417.JPG │ ├── IMG_2418.JPG │ ├── IMG_2419.JPG │ ├── IMG_2420.JPG │ ├── IMG_2421.JPG │ ├── IMG_2422.JPG │ ├── IMG_2423.JPG │ ├── IMG_2424.JPG │ ├── IMG_2425.JPG │ ├── IMG_2426.JPG │ ├── IMG_2427.JPG │ ├── IMG_2428.JPG │ ├── IMG_2429.JPG │ ├── IMG_2430.JPG │ ├── IMG_2431.JPG │ ├── IMG_2432.JPG │ ├── IMG_2433.JPG │ ├── IMG_2434.JPG │ ├── IMG_2435.JPG │ ├── IMG_2436.JPG │ ├── IMG_2437.JPG │ ├── IMG_2439.JPG │ ├── IMG_2440.JPG │ ├── IMG_2441.JPG │ ├── IMG_2442.JPG │ ├── IMG_2443.JPG │ ├── IMG_2445.JPG │ ├── IMG_2446.JPG │ ├── IMG_2447.JPG │ ├── IMG_2448.JPG │ ├── IMG_2449.JPG │ ├── IMG_2450.JPG │ ├── IMG_2451.JPG │ ├── IMG_2452.JPG │ ├── IMG_2453.JPG │ ├── IMG_2454.JPG │ ├── IMG_2455.JPG │ ├── IMG_2456.JPG │ ├── IMG_2457.JPG │ ├── IMG_2458.JPG │ ├── IMG_2459.JPG │ ├── IMG_2460.JPG │ ├── IMG_2461.JPG │ ├── IMG_2462.JPG │ ├── IMG_2463.JPG │ ├── IMG_2464.JPG │ ├── IMG_2465.JPG │ ├── IMG_2466.JPG │ ├── IMG_2467.JPG │ ├── IMG_2468.JPG │ ├── IMG_2469.JPG │ ├── IMG_2470.JPG │ ├── IMG_2471.JPG │ ├── IMG_2472.JPG │ ├── IMG_2473.JPG │ ├── IMG_2474.JPG │ ├── IMG_2475.JPG │ ├── IMG_2476.JPG │ ├── IMG_2477.JPG │ ├── IMG_2478.JPG │ ├── IMG_2479.JPG │ ├── IMG_2480.JPG │ ├── IMG_2481.JPG │ ├── IMG_2482.JPG │ ├── IMG_2483.JPG │ ├── IMG_2484.JPG │ ├── IMG_2485.JPG │ ├── IMG_2486.JPG │ ├── IMG_2487.JPG │ ├── IMG_2488.JPG │ ├── IMG_2489.JPG │ ├── IMG_2490.JPG │ ├── IMG_2491.JPG │ ├── IMG_2492.JPG │ ├── IMG_2493.JPG │ ├── IMG_2494.JPG │ ├── IMG_2495.JPG │ ├── IMG_2496.JPG │ ├── IMG_2497.JPG │ ├── IMG_2498.JPG │ ├── IMG_2499.JPG │ ├── IMG_2500.JPG │ ├── IMG_2501.JPG │ ├── IMG_2502.JPG │ ├── IMG_2503.JPG │ ├── IMG_2504.JPG │ ├── IMG_2505.JPG │ ├── IMG_2506.JPG │ ├── IMG_2507.JPG │ ├── IMG_2508.JPG │ ├── IMG_2509.JPG │ ├── IMG_2510.JPG │ ├── IMG_2511.JPG │ ├── IMG_2512.JPG │ ├── IMG_2513.JPG │ ├── IMG_2514.JPG │ ├── IMG_2515.JPG │ ├── IMG_2516.JPG │ ├── IMG_2517.JPG │ ├── IMG_2518.JPG │ ├── IMG_2519.JPG │ ├── IMG_2520.JPG │ ├── IMG_2521.JPG │ ├── IMG_2522.JPG │ ├── IMG_2523.JPG │ ├── IMG_2524.JPG │ ├── IMG_2525.JPG │ ├── IMG_2526.JPG │ ├── IMG_2527.JPG │ ├── IMG_2528.JPG │ ├── IMG_2529.JPG │ ├── IMG_2530.JPG │ ├── IMG_2531.JPG │ ├── IMG_2532.JPG │ ├── IMG_2533.JPG │ ├── IMG_2535.JPG │ ├── IMG_2536.JPG │ ├── IMG_2537.JPG │ ├── IMG_2538.JPG │ ├── IMG_2539.JPG │ ├── IMG_2540.JPG │ ├── IMG_2542.JPG │ ├── IMG_2543.JPG │ ├── IMG_2544.JPG │ ├── IMG_2545.JPG │ ├── IMG_2546.JPG │ ├── IMG_2548.JPG │ ├── IMG_2549.JPG │ ├── IMG_2550.JPG │ ├── IMG_2551.JPG │ ├── IMG_2552.JPG │ ├── IMG_2553.JPG │ ├── IMG_2554.JPG │ ├── IMG_2555.JPG │ ├── IMG_2556.JPG │ ├── IMG_2557.JPG │ ├── IMG_2561.JPG │ ├── IMG_2562.JPG │ ├── IMG_2563.JPG │ ├── IMG_2565.JPG │ ├── IMG_2566.JPG │ ├── IMG_2567.JPG │ ├── IMG_2568.JPG │ ├── IMG_2569.JPG │ ├── IMG_2570.JPG │ ├── IMG_2571.JPG │ ├── IMG_2572.JPG │ ├── IMG_2573.JPG │ ├── IMG_2574.JPG │ ├── IMG_2576.JPG │ ├── IMG_2577.JPG │ ├── IMG_2578.JPG │ ├── IMG_2579.JPG │ ├── IMG_2580.JPG │ ├── IMG_2581.JPG │ ├── IMG_2582.JPG │ ├── IMG_2583.JPG │ ├── IMG_2584.JPG │ ├── IMG_2585.JPG │ ├── IMG_2586.JPG │ ├── IMG_2587.JPG │ ├── IMG_2588.JPG │ ├── IMG_2589.JPG │ ├── IMG_2590.JPG │ ├── IMG_2591.JPG │ ├── IMG_2592.JPG │ ├── IMG_2593.JPG │ ├── IMG_2594.JPG │ ├── IMG_2595.JPG │ ├── IMG_2596.JPG │ ├── IMG_2597.JPG │ ├── IMG_2598.JPG │ ├── IMG_2599.JPG │ ├── IMG_2600.JPG │ ├── IMG_2601.JPG │ ├── IMG_2602.JPG │ ├── IMG_2603.JPG │ ├── IMG_2604.JPG │ ├── IMG_2605.JPG │ ├── IMG_2607.JPG │ ├── IMG_2608.JPG │ ├── IMG_2610.JPG │ ├── IMG_2611.JPG │ ├── IMG_2612.JPG │ ├── IMG_2613.JPG │ ├── IMG_2614.JPG │ ├── IMG_2615.JPG │ ├── IMG_2616.JPG │ ├── IMG_2617.JPG │ ├── IMG_2618.JPG │ ├── IMG_2619.JPG │ ├── IMG_2620.JPG │ ├── IMG_2621.JPG │ ├── IMG_2622.JPG │ ├── IMG_2623.JPG │ ├── IMG_2624.JPG │ ├── IMG_2626.JPG │ ├── IMG_2627.JPG │ ├── IMG_2628.JPG │ ├── IMG_2629.JPG │ ├── IMG_2630.JPG │ ├── IMG_2631.JPG │ ├── IMG_2632.JPG │ ├── IMG_2633.JPG │ ├── IMG_2634.JPG │ ├── IMG_2635.JPG │ ├── IMG_2636.JPG │ ├── IMG_2637.JPG │ ├── IMG_2638.JPG │ ├── IMG_2639.JPG │ ├── IMG_2640.JPG │ ├── IMG_2641.JPG │ ├── IMG_2642.JPG │ ├── IMG_2643.JPG │ ├── IMG_2644.JPG │ ├── IMG_2645.JPG │ ├── IMG_2647.JPG │ ├── IMG_2648.JPG │ ├── IMG_2649.JPG │ ├── IMG_2650.JPG │ ├── IMG_2651.JPG │ ├── IMG_2652.JPG │ ├── IMG_2653.JPG │ ├── IMG_2654.JPG │ ├── IMG_2655.JPG │ ├── IMG_2656.JPG │ ├── IMG_2657.JPG │ ├── IMG_2658.JPG │ ├── IMG_2659.JPG │ ├── IMG_2660.JPG │ ├── IMG_2661.JPG │ ├── IMG_2662.JPG │ ├── IMG_2663.JPG │ ├── IMG_2664.JPG │ ├── IMG_2665.JPG │ ├── IMG_2666.JPG │ ├── IMG_2667.JPG │ ├── IMG_2668.JPG │ ├── IMG_2669.JPG │ ├── IMG_2670.JPG │ ├── IMG_2671.JPG │ ├── IMG_2672.JPG │ ├── IMG_2673.JPG │ ├── IMG_2674.JPG │ ├── IMG_2675.JPG │ ├── IMG_2677.JPG │ ├── IMG_2678.JPG │ ├── IMG_2679.JPG │ ├── IMG_2680.JPG │ ├── IMG_2681.JPG │ ├── IMG_2682.JPG │ ├── IMG_2683.JPG │ ├── IMG_2684.JPG │ ├── IMG_2685.JPG │ ├── IMG_2686.JPG │ ├── IMG_2687.JPG │ ├── IMG_2689.JPG │ ├── IMG_2690.JPG │ ├── IMG_2691.JPG │ ├── IMG_2692.JPG │ ├── IMG_2693.JPG │ ├── IMG_2694.JPG │ ├── IMG_2695.JPG │ ├── IMG_2696.JPG │ ├── IMG_2697.JPG │ ├── IMG_2698.JPG │ ├── IMG_2699.JPG │ ├── IMG_2700.JPG │ ├── IMG_2701.JPG │ ├── IMG_2702.JPG │ ├── IMG_2703.JPG │ ├── IMG_2704.JPG │ ├── cam_image1.jpg │ ├── cam_image10.jpg │ ├── cam_image11.jpg │ ├── cam_image12.jpg │ ├── cam_image13.jpg │ ├── cam_image14.jpg │ ├── cam_image15.jpg │ ├── cam_image16.jpg │ ├── cam_image17.jpg │ ├── cam_image18.jpg │ ├── cam_image19.jpg │ ├── cam_image2.jpg │ ├── cam_image20.jpg │ ├── cam_image21.jpg │ ├── cam_image22.jpg │ ├── cam_image23.jpg │ ├── cam_image24.jpg │ ├── cam_image25.jpg │ ├── cam_image26.jpg │ ├── cam_image27.jpg │ ├── cam_image28.jpg │ ├── cam_image29.jpg │ ├── cam_image3.jpg │ ├── cam_image30.jpg │ ├── cam_image31.jpg │ ├── cam_image32.jpg │ ├── cam_image33.jpg │ ├── cam_image34.jpg │ ├── cam_image35.jpg │ ├── cam_image36.jpg │ ├── cam_image37.jpg │ ├── cam_image38.jpg │ ├── cam_image39.jpg │ ├── cam_image4.jpg │ ├── cam_image40.jpg │ ├── cam_image41.jpg │ ├── cam_image42.jpg │ ├── cam_image43.jpg │ ├── cam_image44.jpg │ ├── cam_image45.jpg │ ├── cam_image46.jpg │ ├── cam_image47.jpg │ ├── cam_image48.jpg │ ├── cam_image5.jpg │ ├── cam_image50.jpg │ ├── cam_image51.jpg │ ├── cam_image52.jpg │ ├── cam_image54.jpg │ ├── cam_image6.jpg │ ├── cam_image7.jpg │ ├── cam_image8.jpg │ └── cam_image9.jpg ├── train_labels.csv ├── validation.csv └── validation │ ├── IMG_2558.JPG │ ├── IMG_2559.JPG │ ├── IMG_2560.JPG │ ├── IMG_2564.JPG │ └── IMG_2609.JPG ├── coco_eval.py ├── coco_utils.py ├── engine.py ├── images ├── image1.jpg ├── image2.jpg └── image3.jpg ├── predict.py ├── saved_model └── model ├── train.py ├── transforms.py └── utils.py /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 harshatejas 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Training Faster-RCNN on multiclass custom dataset 2 | ## 1. Introduction 3 | 4 | Train object detector on multi-class custom dataset using Faster R-CCN in PyTorch. 5 | 6 | This framework has the follow features: 7 | - It is based on PyTorch framework 8 | - It is designed to train on custom dataset 9 | - It can train on multi-class dataset 10 | - It automatically creates lables.txt file 11 | 12 | ## 2. Installations 13 | ### 2.1 Prerequisites 14 | - Python 3 15 | - Numpy 16 | - PyTorch 1.8.1 17 | - torchvision 18 | - Pandas 19 | - Opencv (cv2) 20 | 21 | ### 2.2 Code-Preparing 22 | ```bash 23 | git clone https://github.com/harshatejas/pytorch_custom_object_detection.git 24 | ``` 25 | 26 | ## 3. Dataset 27 | This dataset contains images of playing cards. 28 | 29 | The cards_dataset containds train folder, valication folder, train.csv and validation.csv 30 | ```bash 31 | cards_datset/ 32 | train/ 33 | [xxx].jpg 34 | ... 35 | validation/ 36 | [xxx].jpg 37 | ... 38 | train.csv 39 | validation.csv 40 | ``` 41 | 42 | ## 4. Train 43 | Modify Hyperparameters in train.py 44 | ```bash 45 | train.py 46 | ``` 47 | ## 5. Test 48 | predict.py is designed to run predictions on the images in validation folder 49 | 50 | Change the filename and saved_model in predict.py 51 | ```bash 52 | predict.py 53 | ``` 54 | ## 6. Predicted Images 55 | Here are some sample output images predicted by saved_model/model 56 | 57 | ![img](images/image1.jpg) 58 | 59 | ![img](images/image2.jpg) 60 | 61 | ![img](images/image3.jpg) 62 | 63 | -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2383.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2383.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2384.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2384.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2385.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2385.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2386.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2386.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2387.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2387.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2388.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2388.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2389.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2389.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2390.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2390.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2391.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2391.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2392.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2392.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2393.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2393.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2394.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2394.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2395.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2395.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2396.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2396.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2397.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2397.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2398.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2398.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2399.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2399.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2400.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2400.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2401.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2401.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2402.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2402.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2403.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2403.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2404.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2404.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2405.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2405.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2406.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2406.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2407.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2407.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2408.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2408.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2409.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2409.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2410.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2410.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2411.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2411.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2412.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2412.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2413.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2413.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2414.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2414.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2415.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2415.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2416.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2416.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2417.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2417.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2418.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2418.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2419.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2419.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2420.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2420.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2421.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2421.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2422.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2422.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2423.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2423.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2424.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2424.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2425.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2425.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2426.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2426.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2427.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2427.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2428.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2428.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2429.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2429.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2430.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2430.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2431.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2431.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2432.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2432.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2433.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2433.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2434.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2434.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2435.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2435.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2436.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2436.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2437.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2437.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2439.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2439.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2440.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2440.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2441.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2441.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2442.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2442.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2443.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2443.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2445.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2445.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2446.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2446.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2447.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2447.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2448.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2448.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2449.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2449.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2450.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2450.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2451.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2451.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2452.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2452.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2453.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2453.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2454.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2454.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2455.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2455.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2456.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2456.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2457.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2457.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2458.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2458.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2459.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2459.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2460.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2460.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2461.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2461.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2462.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2462.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2463.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2463.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2464.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2464.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2465.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2465.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2466.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2466.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2467.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2467.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2468.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2468.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2469.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2469.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2470.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2470.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2471.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2471.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2472.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2472.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2473.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2473.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2474.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2474.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2475.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2475.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2476.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2476.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2477.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2477.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2478.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2478.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2479.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2479.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2480.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2480.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2481.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2481.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2482.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2482.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2483.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2483.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2484.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2484.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2485.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2485.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2486.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2486.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2487.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2487.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2488.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2488.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2489.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2489.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2490.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2490.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2491.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2491.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2492.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2492.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2493.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2493.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2494.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2494.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2495.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2495.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2496.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2496.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2497.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2497.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2498.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2498.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2499.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2499.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2500.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2500.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2501.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2501.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2502.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2502.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2503.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2503.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2504.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2504.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2505.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2505.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2506.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2506.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2507.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2507.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2508.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2508.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2509.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2509.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2510.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2510.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2511.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2511.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2512.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2512.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2513.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2513.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2514.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2514.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2515.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2515.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2516.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2516.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2517.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2517.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2518.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2518.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2519.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2519.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2520.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2520.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2521.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2521.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2522.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2522.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2523.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2523.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2524.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2524.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2525.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2525.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2526.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2526.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2527.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2527.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2528.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2528.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2529.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2529.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2530.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2530.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2531.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2531.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2532.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2532.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2533.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2533.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2535.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2535.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2536.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2536.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2537.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2537.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2538.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2538.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2539.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2539.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2540.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2540.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2542.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2542.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2543.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2543.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2544.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2544.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2545.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2545.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2546.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2546.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2548.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2548.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2549.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2549.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2550.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2550.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2551.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2551.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2552.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2552.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2553.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2553.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2554.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2554.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2555.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2555.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2556.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2556.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2557.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2557.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2561.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2561.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2562.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2562.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2563.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2563.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2565.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2565.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2566.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2566.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2567.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2567.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2568.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2568.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2569.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2569.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2570.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2570.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2571.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2571.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2572.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2572.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2573.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2573.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2574.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2574.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2576.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2576.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2577.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2577.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2578.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2578.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2579.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2579.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2580.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2580.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2581.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2581.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2582.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2582.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2583.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2583.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2584.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2584.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2585.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2585.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2586.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2586.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2587.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2587.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2588.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2588.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2589.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2589.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2590.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2590.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2591.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2591.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2592.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2592.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2593.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2593.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2594.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2594.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2595.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2595.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2596.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2596.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2597.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2597.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2598.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2598.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2599.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2599.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2600.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2600.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2601.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2601.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2602.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2602.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2603.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2603.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2604.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2604.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2605.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2605.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2607.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2607.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2608.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2608.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2610.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2610.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2611.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2611.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2612.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2612.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2613.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2613.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2614.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2614.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2615.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2615.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2616.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2616.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2617.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2617.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2618.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2618.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2619.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2619.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2620.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2620.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2621.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2621.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2622.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2622.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2623.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2623.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2624.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2624.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2626.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2626.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2627.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2627.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2628.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2628.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2629.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2629.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2630.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2630.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2631.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2631.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2632.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2632.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2633.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2633.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2634.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2634.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2635.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2635.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2636.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2636.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2637.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2637.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2638.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2638.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2639.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2639.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2640.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2640.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2641.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2641.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2642.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2642.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2643.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2643.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2644.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2644.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2645.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2645.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2647.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2647.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2648.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2648.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2649.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2649.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2650.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2650.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2651.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2651.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2652.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2652.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2653.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2653.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2654.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2654.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2655.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2655.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2656.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2656.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2657.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2657.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2658.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2658.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2659.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2659.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2660.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2660.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2661.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2661.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2662.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2662.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2663.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2663.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2664.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2664.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2665.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2665.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2666.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2666.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2667.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2667.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2668.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2668.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2669.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2669.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2670.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2670.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2671.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2671.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2672.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2672.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2673.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2673.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2674.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2674.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2675.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2675.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2677.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2677.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2678.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2678.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2679.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2679.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2680.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2680.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2681.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2681.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2682.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2682.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2683.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2683.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2684.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2684.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2685.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2685.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2686.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2686.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2687.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2687.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2689.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2689.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2690.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2690.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2691.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2691.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2692.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2692.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2693.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2693.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2694.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2694.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2695.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2695.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2696.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2696.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2697.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2697.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2698.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2698.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2699.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2699.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2700.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2700.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2701.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2701.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2702.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2702.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2703.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2703.JPG -------------------------------------------------------------------------------- /cards_dataset/train/IMG_2704.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/IMG_2704.JPG -------------------------------------------------------------------------------- /cards_dataset/train/cam_image1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image1.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image10.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image11.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image12.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image13.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image14.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image14.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image15.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image15.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image16.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image16.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image17.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image17.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image18.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image18.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image19.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image19.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image2.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image20.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image20.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image21.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image21.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image22.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image22.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image23.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image23.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image24.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image24.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image25.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image25.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image26.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image26.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image27.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image27.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image28.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image28.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image29.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image29.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image3.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image30.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image30.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image31.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image31.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image32.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image32.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image33.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image33.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image34.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image34.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image35.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image35.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image36.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image36.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image37.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image37.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image38.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image38.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image39.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image39.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image4.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image40.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image40.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image41.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image41.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image42.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image42.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image43.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image43.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image44.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image44.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image45.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image45.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image46.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image46.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image47.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image47.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image48.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image48.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image5.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image50.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image50.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image51.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image51.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image52.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image52.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image54.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image54.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image6.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image7.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image8.jpg -------------------------------------------------------------------------------- /cards_dataset/train/cam_image9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/train/cam_image9.jpg -------------------------------------------------------------------------------- /cards_dataset/train_labels.csv: -------------------------------------------------------------------------------- 1 | filename,width,height,class,xmin,ymin,xmax,ymax 2 | cam_image1.jpg,480,270,queen,173,24,260,137 3 | cam_image1.jpg,480,270,queen,165,135,253,251 4 | cam_image1.jpg,480,270,ten,255,96,337,208 5 | cam_image10.jpg,960,540,ten,501,116,700,353 6 | cam_image10.jpg,960,540,queen,261,124,453,370 7 | cam_image11.jpg,960,540,nine,225,96,490,396 8 | cam_image12.jpg,960,540,king,362,149,560,389 9 | cam_image13.jpg,960,540,jack,349,142,550,388 10 | cam_image14.jpg,960,540,jack,297,167,512,420 11 | cam_image15.jpg,960,540,ace,367,181,589,457 12 | cam_image16.jpg,960,540,ace,303,155,525,456 13 | cam_image17.jpg,960,540,ace,316,125,547,451 14 | cam_image18.jpg,960,540,ace,390,86,605,365 15 | cam_image19.jpg,960,540,jack,357,97,578,379 16 | cam_image20.jpg,960,540,queen,291,119,542,422 17 | cam_image21.jpg,960,540,queen,319,54,556,346 18 | cam_image22.jpg,960,540,queen,296,94,522,370 19 | cam_image23.jpg,960,540,queen,286,108,517,389 20 | cam_image24.jpg,960,540,king,444,113,685,411 21 | cam_image25.jpg,960,540,king,329,94,584,410 22 | cam_image26.jpg,960,540,king,350,89,587,383 23 | cam_image27.jpg,960,540,jack,328,145,555,440 24 | cam_image28.jpg,960,540,ten,268,115,502,426 25 | cam_image29.jpg,960,540,ten,339,89,581,376 26 | cam_image3.jpg,960,540,king,326,99,473,291 27 | cam_image3.jpg,960,540,king,496,88,658,277 28 | cam_image3.jpg,960,540,king,501,291,674,513 29 | cam_image3.jpg,960,540,king,320,295,481,516 30 | cam_image30.jpg,960,540,ten,202,47,456,344 31 | cam_image31.jpg,960,540,ten,286,91,600,437 32 | cam_image32.jpg,960,540,nine,391,98,614,388 33 | cam_image33.jpg,960,540,nine,281,112,504,386 34 | cam_image34.jpg,960,540,nine,323,140,554,429 35 | cam_image35.jpg,960,540,nine,205,13,386,230 36 | cam_image35.jpg,960,540,ace,189,253,388,517 37 | cam_image35.jpg,960,540,jack,413,254,623,526 38 | cam_image35.jpg,960,540,king,428,6,609,229 39 | cam_image36.jpg,960,540,nine,250,9,433,228 40 | cam_image36.jpg,960,540,nine,245,275,429,528 41 | cam_image36.jpg,960,540,nine,485,268,676,527 42 | cam_image36.jpg,960,540,jack,493,5,669,223 43 | cam_image37.jpg,960,540,ace,293,41,448,247 44 | cam_image37.jpg,960,540,ace,481,276,654,518 45 | cam_image37.jpg,960,540,king,488,32,653,246 46 | cam_image37.jpg,960,540,king,279,280,442,518 47 | cam_image38.jpg,960,540,king,560,16,741,248 48 | cam_image38.jpg,960,540,jack,347,25,525,250 49 | cam_image38.jpg,960,540,jack,551,270,744,533 50 | cam_image38.jpg,960,540,ace,337,281,524,540 51 | cam_image39.jpg,960,540,jack,346,159,521,402 52 | cam_image39.jpg,960,540,king,134,156,332,412 53 | cam_image39.jpg,960,540,nine,534,158,702,400 54 | cam_image40.jpg,960,540,nine,152,123,323,361 55 | cam_image40.jpg,960,540,jack,340,102,521,352 56 | cam_image40.jpg,960,540,ace,549,110,736,360 57 | cam_image41.jpg,960,540,ace,512,279,694,513 58 | cam_image41.jpg,960,540,nine,317,271,481,496 59 | cam_image41.jpg,960,540,king,446,19,632,262 60 | cam_image42.jpg,960,540,king,318,228,476,436 61 | cam_image42.jpg,960,540,ace,503,249,652,448 62 | cam_image42.jpg,960,540,ace,686,241,839,439 63 | cam_image43.jpg,960,540,jack,570,230,734,424 64 | cam_image43.jpg,960,540,jack,749,234,886,415 65 | cam_image44.jpg,960,540,nine,744,208,928,472 66 | cam_image44.jpg,960,540,nine,39,172,214,438 67 | cam_image44.jpg,960,540,ace,269,196,465,467 68 | cam_image44.jpg,960,540,king,497,189,692,457 69 | cam_image46.jpg,960,540,ace,378,57,542,288 70 | cam_image46.jpg,960,540,ace,381,305,547,528 71 | cam_image46.jpg,960,540,king,186,53,359,287 72 | cam_image46.jpg,960,540,jack,197,307,372,529 73 | cam_image47.jpg,960,540,jack,513,17,712,258 74 | cam_image47.jpg,960,540,jack,288,299,494,538 75 | cam_image47.jpg,960,540,nine,523,302,690,523 76 | cam_image47.jpg,960,540,king,306,18,497,260 77 | cam_image48.jpg,960,540,nine,634,57,794,280 78 | cam_image48.jpg,960,540,ace,515,299,696,540 79 | cam_image48.jpg,960,540,ace,223,42,394,269 80 | cam_image48.jpg,960,540,jack,405,32,595,278 81 | cam_image48.jpg,960,540,jack,305,303,483,532 82 | cam_image50.jpg,960,540,nine,344,10,518,248 83 | cam_image50.jpg,960,540,nine,542,279,736,537 84 | cam_image50.jpg,960,540,king,339,276,518,529 85 | cam_image50.jpg,960,540,ace,547,3,733,246 86 | cam_image51.jpg,960,540,jack,530,154,696,371 87 | cam_image51.jpg,960,540,jack,304,25,467,239 88 | cam_image51.jpg,960,540,king,333,289,518,529 89 | cam_image52.jpg,960,540,king,545,27,710,255 90 | cam_image52.jpg,960,540,queen,347,13,525,239 91 | cam_image52.jpg,960,540,queen,443,289,617,523 92 | cam_image54.jpg,960,540,queen,346,50,521,276 93 | cam_image54.jpg,960,540,queen,324,273,508,502 94 | cam_image54.jpg,960,540,ten,508,194,675,416 95 | cam_image9.jpg,960,540,nine,103,169,305,438 96 | cam_image9.jpg,960,540,queen,362,154,585,441 97 | IMG_2385.JPG,378,504,king,92,183,223,348 98 | IMG_2386.JPG,378,504,ace,109,165,251,344 99 | IMG_2388.JPG,378,504,king,69,220,228,406 100 | IMG_2389.JPG,378,504,ace,118,205,246,384 101 | IMG_2390.JPG,378,504,ace,106,191,243,382 102 | IMG_2392.JPG,378,504,nine,129,167,242,330 103 | IMG_2393.JPG,378,504,nine,108,143,278,377 104 | IMG_2394.JPG,378,504,nine,134,233,228,352 105 | IMG_2396.JPG,378,504,nine,126,172,254,350 106 | IMG_2397.JPG,378,504,ten,123,191,266,384 107 | IMG_2398.JPG,378,504,jack,114,184,264,375 108 | IMG_2399.JPG,378,504,queen,111,170,252,364 109 | IMG_2400.JPG,378,504,queen,92,141,244,348 110 | IMG_2401.JPG,378,504,queen,105,208,249,398 111 | IMG_2402.JPG,378,504,queen,130,205,252,371 112 | IMG_2404.JPG,378,504,jack,121,228,215,360 113 | IMG_2405.JPG,378,504,jack,82,276,175,401 114 | IMG_2406.JPG,378,504,ten,189,207,311,367 115 | IMG_2407.JPG,378,504,jack,128,196,243,357 116 | IMG_2408.JPG,378,504,jack,137,224,275,411 117 | IMG_2409.JPG,378,504,ten,74,295,169,429 118 | IMG_2410.JPG,378,504,ten,104,195,237,372 119 | IMG_2411.JPG,378,504,jack,167,203,320,415 120 | IMG_2412.JPG,378,504,ten,40,122,205,343 121 | IMG_2413.JPG,378,504,nine,81,177,269,435 122 | IMG_2414.JPG,378,504,nine,103,128,322,436 123 | IMG_2415.JPG,378,504,nine,45,203,197,408 124 | IMG_2416.JPG,378,504,ten,108,164,291,406 125 | IMG_2417.JPG,378,504,nine,47,149,286,434 126 | IMG_2418.JPG,378,504,ace,124,126,242,284 127 | IMG_2419.JPG,378,504,queen,118,143,315,415 128 | IMG_2420.JPG,378,504,ace,69,172,229,398 129 | IMG_2421.JPG,378,504,king,33,274,157,443 130 | IMG_2422.JPG,378,504,queen,95,193,266,431 131 | IMG_2423.JPG,378,504,ace,175,86,291,239 132 | IMG_2424.JPG,378,504,ace,69,236,168,368 133 | IMG_2425.JPG,378,504,king,206,117,319,272 134 | IMG_2426.JPG,378,504,queen,118,282,234,453 135 | IMG_2427.JPG,378,504,queen,75,245,193,408 136 | IMG_2428.JPG,378,504,jack,136,205,245,349 137 | IMG_2429.JPG,378,504,king,89,232,204,383 138 | IMG_2430.JPG,378,504,king,87,284,196,433 139 | IMG_2431.JPG,378,504,jack,59,217,196,365 140 | IMG_2434.JPG,378,504,ace,121,349,282,469 141 | IMG_2437.JPG,378,504,ten,101,241,266,361 142 | IMG_2439.JPG,378,504,king,33,252,164,410 143 | IMG_2441.JPG,378,504,queen,126,215,314,412 144 | IMG_2442.JPG,378,504,king,115,32,288,201 145 | IMG_2443.JPG,378,504,jack,208,267,333,438 146 | IMG_2445.JPG,378,504,queen,163,224,320,380 147 | IMG_2446.JPG,378,504,ace,112,199,287,365 148 | IMG_2447.JPG,378,504,ace,142,232,254,320 149 | IMG_2448.JPG,378,504,ace,157,124,285,260 150 | IMG_2449.JPG,378,504,nine,128,327,256,431 151 | IMG_2450.JPG,378,504,king,109,286,231,417 152 | IMG_2451.JPG,378,504,ten,111,171,283,377 153 | IMG_2452.JPG,378,504,nine,196,164,314,294 154 | IMG_2453.JPG,378,504,queen,63,215,178,358 155 | IMG_2454.JPG,378,504,nine,132,200,237,351 156 | IMG_2455.JPG,378,504,jack,33,113,213,285 157 | IMG_2456.JPG,378,504,ten,41,172,200,340 158 | IMG_2457.JPG,378,504,jack,129,209,264,371 159 | IMG_2458.JPG,378,504,nine,126,200,265,365 160 | IMG_2459.JPG,378,504,nine,92,210,218,365 161 | IMG_2460.JPG,378,504,queen,66,232,187,386 162 | IMG_2462.JPG,378,504,ten,162,204,293,389 163 | IMG_2464.JPG,378,504,king,27,85,174,261 164 | IMG_2465.JPG,378,504,king,27,89,172,264 165 | IMG_2466.JPG,378,504,ten,81,274,223,479 166 | IMG_2467.JPG,378,504,ten,82,273,225,482 167 | IMG_2468.JPG,378,504,jack,171,197,349,320 168 | IMG_2469.JPG,378,504,jack,175,198,349,319 169 | IMG_2471.JPG,378,504,nine,99,183,254,392 170 | IMG_2472.JPG,378,504,nine,97,183,248,391 171 | IMG_2473.JPG,378,504,ace,38,279,221,416 172 | IMG_2474.JPG,378,504,ace,37,277,223,414 173 | IMG_2475.JPG,378,504,ace,110,258,268,481 174 | IMG_2477.JPG,378,504,queen,65,222,214,412 175 | IMG_2478.JPG,378,504,ten,83,233,288,432 176 | IMG_2480.JPG,378,504,king,55,90,332,362 177 | IMG_2481.JPG,378,504,jack,29,181,182,323 178 | IMG_2483.JPG,378,504,king,136,187,330,388 179 | IMG_2484.JPG,378,504,queen,80,159,219,340 180 | IMG_2486.JPG,378,504,king,17,257,157,405 181 | IMG_2487.JPG,378,504,ten,43,320,167,407 182 | IMG_2488.JPG,378,504,queen,51,324,137,440 183 | IMG_2489.JPG,378,504,queen,180,204,324,397 184 | IMG_2490.JPG,378,504,jack,201,241,310,371 185 | IMG_2491.JPG,378,504,nine,21,250,131,395 186 | IMG_2492.JPG,378,504,ace,56,303,206,464 187 | IMG_2493.JPG,378,504,ten,41,152,189,271 188 | IMG_2494.JPG,378,504,king,109,297,260,469 189 | IMG_2495.JPG,378,504,ten,40,108,222,241 190 | IMG_2496.JPG,378,504,nine,2,100,153,233 191 | IMG_2497.JPG,378,504,queen,160,243,282,395 192 | IMG_2498.JPG,378,504,jack,193,217,314,355 193 | IMG_2499.JPG,378,504,queen,60,211,205,367 194 | IMG_2500.JPG,378,504,ace,255,199,351,330 195 | IMG_2501.JPG,378,504,jack,163,43,265,192 196 | IMG_2502.JPG,378,504,ace,80,187,262,382 197 | IMG_2503.JPG,378,504,ace,96,212,256,334 198 | IMG_2504.JPG,378,504,nine,150,271,285,444 199 | IMG_2505.JPG,378,504,ten,151,183,267,365 200 | IMG_2506.JPG,378,504,nine,128,213,301,379 201 | IMG_2507.JPG,378,504,king,25,194,134,325 202 | IMG_2508.JPG,378,504,jack,186,281,334,421 203 | IMG_2509.JPG,378,504,king,95,243,222,374 204 | IMG_2511.JPG,378,504,nine,22,236,168,385 205 | IMG_2512.JPG,378,504,ace,221,245,354,362 206 | IMG_2513.JPG,378,504,jack,102,171,261,383 207 | IMG_2514.JPG,378,504,queen,180,55,297,214 208 | IMG_2515.JPG,378,504,jack,56,172,226,369 209 | IMG_2516.JPG,378,504,nine,132,182,301,377 210 | IMG_2517.JPG,378,504,ace,88,295,252,432 211 | IMG_2518.JPG,378,504,king,66,146,229,336 212 | IMG_2519.JPG,378,504,nine,39,215,233,452 213 | IMG_2520.JPG,378,504,ten,144,194,292,435 214 | IMG_2521.JPG,378,504,king,18,220,123,364 215 | IMG_2522.JPG,378,504,ten,95,122,239,244 216 | IMG_2523.JPG,378,504,ace,147,206,267,325 217 | IMG_2524.JPG,378,504,ten,72,208,245,410 218 | IMG_2525.JPG,378,504,king,191,225,319,384 219 | IMG_2526.JPG,378,504,queen,55,201,217,319 220 | IMG_2527.JPG,378,504,jack,45,67,238,216 221 | IMG_2528.JPG,378,504,nine,37,90,244,275 222 | IMG_2529.JPG,378,504,ten,176,309,265,473 223 | IMG_2533.JPG,378,504,queen,231,298,361,453 224 | IMG_2535.JPG,378,504,ten,107,218,204,418 225 | IMG_2536.JPG,378,504,king,111,115,223,194 226 | IMG_2537.JPG,378,504,ten,148,186,301,298 227 | IMG_2538.JPG,378,504,nine,146,171,304,331 228 | IMG_2542.JPG,378,504,ace,142,180,226,373 229 | IMG_2543.JPG,378,504,king,121,71,300,248 230 | IMG_2545.JPG,378,504,ten,193,170,297,310 231 | IMG_2546.JPG,378,504,ace,127,214,240,352 232 | IMG_2548.JPG,378,504,jack,76,184,162,421 233 | IMG_2549.JPG,378,504,jack,7,268,232,396 234 | IMG_2552.JPG,378,504,ace,92,119,271,384 235 | IMG_2553.JPG,378,504,jack,128,245,243,430 236 | IMG_2556.JPG,378,504,queen,74,195,201,386 237 | IMG_2562.JPG,378,504,king,175,66,320,182 238 | IMG_2562.JPG,378,504,king,42,44,169,195 239 | IMG_2562.JPG,378,504,queen,24,196,157,297 240 | IMG_2562.JPG,378,504,ten,208,190,350,338 241 | IMG_2563.JPG,378,504,ace,55,109,174,257 242 | IMG_2563.JPG,378,504,ace,252,313,378,471 243 | IMG_2563.JPG,378,504,king,218,158,349,313 244 | IMG_2563.JPG,378,504,nine,39,319,205,464 245 | IMG_2565.JPG,378,504,nine,205,249,328,379 246 | IMG_2565.JPG,378,504,ten,45,172,169,291 247 | IMG_2565.JPG,378,504,queen,210,68,337,190 248 | IMG_2565.JPG,378,504,king,82,316,190,441 249 | IMG_2566.JPG,378,504,nine,254,191,323,282 250 | IMG_2566.JPG,378,504,jack,173,278,250,374 251 | IMG_2566.JPG,378,504,ten,53,288,153,369 252 | IMG_2566.JPG,378,504,queen,105,148,186,250 253 | IMG_2567.JPG,378,504,nine,145,132,265,258 254 | IMG_2567.JPG,378,504,jack,237,258,362,380 255 | IMG_2567.JPG,378,504,jack,11,191,123,317 256 | IMG_2567.JPG,378,504,ace,119,315,201,426 257 | IMG_2569.JPG,378,504,ace,55,139,153,247 258 | IMG_2569.JPG,378,504,jack,181,83,281,192 259 | IMG_2569.JPG,378,504,jack,157,207,236,305 260 | IMG_2569.JPG,378,504,jack,94,253,164,343 261 | IMG_2570.JPG,378,504,queen,196,245,344,373 262 | IMG_2570.JPG,378,504,ten,111,58,227,226 263 | IMG_2570.JPG,378,504,nine,27,254,176,446 264 | IMG_2572.JPG,378,504,ten,145,68,303,225 265 | IMG_2572.JPG,378,504,king,261,292,378,435 266 | IMG_2572.JPG,378,504,king,35,209,160,352 267 | IMG_2574.JPG,378,504,nine,152,126,318,257 268 | IMG_2574.JPG,378,504,jack,24,227,228,423 269 | IMG_2576.JPG,378,504,queen,169,184,339,378 270 | IMG_2576.JPG,378,504,nine,43,202,171,394 271 | IMG_2577.JPG,378,504,king,236,205,332,331 272 | IMG_2577.JPG,378,504,jack,131,31,279,202 273 | IMG_2577.JPG,378,504,ten,77,185,185,322 274 | IMG_2577.JPG,378,504,ace,1,65,105,196 275 | IMG_2578.JPG,378,504,queen,17,19,140,182 276 | IMG_2578.JPG,378,504,king,141,59,236,195 277 | IMG_2578.JPG,378,504,king,81,236,200,363 278 | IMG_2578.JPG,378,504,queen,260,173,342,308 279 | IMG_2579.JPG,378,504,ten,181,170,301,262 280 | IMG_2579.JPG,378,504,ten,71,166,166,280 281 | IMG_2579.JPG,378,504,jack,206,273,291,386 282 | IMG_2579.JPG,378,504,jack,79,294,193,390 283 | IMG_2581.JPG,378,504,jack,42,154,186,291 284 | IMG_2581.JPG,378,504,nine,114,67,267,214 285 | IMG_2581.JPG,378,504,ten,177,210,293,360 286 | IMG_2582.JPG,378,504,ace,92,254,185,367 287 | IMG_2582.JPG,378,504,ace,53,101,155,227 288 | IMG_2582.JPG,378,504,queen,235,135,348,224 289 | IMG_2584.JPG,378,504,queen,247,250,359,336 290 | IMG_2584.JPG,378,504,ten,150,34,265,155 291 | IMG_2584.JPG,378,504,ten,26,153,111,260 292 | IMG_2584.JPG,378,504,jack,95,321,205,399 293 | IMG_2586.JPG,378,504,queen,259,272,360,355 294 | IMG_2586.JPG,378,504,queen,114,42,212,101 295 | IMG_2586.JPG,378,504,ten,50,139,120,211 296 | IMG_2586.JPG,378,504,king,43,302,139,374 297 | IMG_2587.JPG,378,504,king,276,117,358,221 298 | IMG_2587.JPG,378,504,ace,50,132,120,225 299 | IMG_2587.JPG,378,504,ace,44,272,114,367 300 | IMG_2587.JPG,378,504,nine,264,296,331,385 301 | IMG_2588.JPG,378,504,nine,105,162,256,329 302 | IMG_2588.JPG,378,504,ace,10,374,161,501 303 | IMG_2588.JPG,378,504,king,6,58,149,202 304 | IMG_2588.JPG,378,504,king,271,186,378,326 305 | IMG_2589.JPG,378,504,king,138,207,270,324 306 | IMG_2589.JPG,378,504,king,82,340,171,463 307 | IMG_2589.JPG,378,504,jack,17,166,122,290 308 | IMG_2589.JPG,378,504,nine,229,67,364,196 309 | IMG_2590.JPG,378,504,nine,185,89,276,215 310 | IMG_2590.JPG,378,504,nine,29,332,159,440 311 | IMG_2590.JPG,378,504,jack,83,143,216,269 312 | IMG_2590.JPG,378,504,queen,189,289,332,416 313 | IMG_2593.JPG,378,504,queen,118,284,267,433 314 | IMG_2593.JPG,378,504,ten,207,211,356,355 315 | IMG_2593.JPG,378,504,ten,144,98,286,249 316 | IMG_2593.JPG,378,504,ace,33,193,183,323 317 | IMG_2596.JPG,378,504,nine,154,125,243,252 318 | IMG_2596.JPG,378,504,queen,112,129,157,254 319 | IMG_2597.JPG,378,504,queen,80,231,187,424 320 | IMG_2597.JPG,378,504,jack,122,240,317,466 321 | IMG_2599.JPG,378,504,jack,149,227,317,462 322 | IMG_2599.JPG,378,504,king,73,221,150,453 323 | IMG_2601.JPG,378,504,ten,143,190,305,415 324 | IMG_2601.JPG,378,504,queen,81,174,149,406 325 | IMG_2602.JPG,378,504,jack,118,205,302,449 326 | IMG_2602.JPG,378,504,ten,61,206,149,436 327 | IMG_2603.JPG,378,504,king,209,208,372,410 328 | IMG_2603.JPG,378,504,ten,114,202,217,406 329 | IMG_2603.JPG,378,504,ace,19,212,130,411 330 | IMG_2605.JPG,378,504,king,118,180,311,415 331 | IMG_2605.JPG,378,504,ten,74,190,172,394 332 | IMG_2607.JPG,378,504,ten,63,340,185,504 333 | IMG_2607.JPG,378,504,jack,30,203,177,348 334 | IMG_2607.JPG,378,504,queen,245,140,369,283 335 | IMG_2607.JPG,378,504,nine,194,18,330,134 336 | IMG_2608.JPG,378,504,nine,77,2,233,127 337 | IMG_2608.JPG,378,504,ace,175,300,338,494 338 | IMG_2608.JPG,378,504,king,192,141,366,288 339 | IMG_2608.JPG,378,504,queen,1,153,175,327 340 | IMG_2610.JPG,378,504,jack,56,322,188,497 341 | IMG_2610.JPG,378,504,jack,309,21,378,159 342 | IMG_2610.JPG,378,504,king,168,144,335,329 343 | IMG_2610.JPG,378,504,nine,40,23,159,165 344 | IMG_2610.JPG,378,504,queen,155,1,287,93 345 | IMG_2611.JPG,378,504,ace,294,231,378,357 346 | IMG_2611.JPG,378,504,nine,283,85,378,208 347 | IMG_2611.JPG,378,504,jack,30,443,204,504 348 | IMG_2611.JPG,378,504,ten,50,264,220,458 349 | IMG_2611.JPG,378,504,ten,32,121,197,271 350 | IMG_2612.JPG,378,504,nine,45,1,185,107 351 | IMG_2612.JPG,378,504,nine,43,280,211,444 352 | IMG_2612.JPG,378,504,ace,50,119,202,230 353 | IMG_2612.JPG,378,504,ace,293,190,378,299 354 | IMG_2612.JPG,378,504,queen,187,302,343,482 355 | IMG_2613.JPG,378,504,queen,302,255,378,399 356 | IMG_2613.JPG,378,504,queen,15,145,173,333 357 | IMG_2613.JPG,378,504,jack,61,324,260,504 358 | IMG_2613.JPG,378,504,ace,103,1,280,136 359 | IMG_2614.JPG,378,504,ace,153,1,307,114 360 | IMG_2614.JPG,378,504,queen,78,101,235,239 361 | IMG_2614.JPG,378,504,queen,46,317,220,504 362 | IMG_2614.JPG,378,504,king,189,258,353,403 363 | IMG_2614.JPG,378,504,ten,301,175,378,291 364 | IMG_2615.JPG,378,504,ten,68,276,240,486 365 | IMG_2615.JPG,378,504,king,1,289,71,456 366 | IMG_2615.JPG,378,504,queen,1,43,97,236 367 | IMG_2615.JPG,378,504,ace,105,3,258,156 368 | IMG_2616.JPG,378,504,nine,236,184,339,326 369 | IMG_2616.JPG,378,504,nine,126,55,171,205 370 | IMG_2616.JPG,378,504,queen,16,53,126,205 371 | IMG_2616.JPG,378,504,ten,39,295,143,436 372 | IMG_2616.JPG,378,504,jack,139,294,181,436 373 | IMG_2617.JPG,378,504,nine,63,130,229,360 374 | IMG_2617.JPG,378,504,ace,224,122,300,348 375 | IMG_2618.JPG,378,504,ten,105,81,340,249 376 | IMG_2618.JPG,378,504,king,105,245,324,325 377 | IMG_2619.JPG,378,504,ten,266,47,345,297 378 | IMG_2619.JPG,378,504,queen,93,48,267,302 379 | IMG_2620.JPG,378,504,ace,96,92,280,340 380 | IMG_2620.JPG,378,504,jack,267,92,349,344 381 | IMG_2621.JPG,378,504,jack,55,246,203,354 382 | IMG_2621.JPG,378,504,king,230,300,340,450 383 | IMG_2621.JPG,378,504,ace,216,109,339,271 384 | IMG_2621.JPG,378,504,queen,53,33,218,214 385 | IMG_2622.JPG,378,504,ten,41,230,211,469 386 | IMG_2622.JPG,378,504,king,201,215,282,452 387 | IMG_2623.JPG,378,504,ace,57,20,217,263 388 | IMG_2623.JPG,378,504,jack,215,18,310,262 389 | IMG_2624.JPG,378,504,king,177,305,330,416 390 | IMG_2624.JPG,378,504,nine,198,101,311,255 391 | IMG_2624.JPG,378,504,queen,146,116,207,265 392 | IMG_2626.JPG,378,504,king,29,32,198,239 393 | IMG_2626.JPG,378,504,ace,160,75,260,254 394 | IMG_2626.JPG,378,504,ten,247,51,360,254 395 | IMG_2627.JPG,378,504,king,14,126,270,402 396 | IMG_2627.JPG,378,504,queen,154,117,342,346 397 | IMG_2628.JPG,378,504,queen,35,89,265,348 398 | IMG_2628.JPG,378,504,king,203,100,365,349 399 | IMG_2629.JPG,378,504,ace,56,28,261,287 400 | IMG_2629.JPG,378,504,nine,202,18,335,287 401 | IMG_2630.JPG,378,504,ace,90,91,289,303 402 | IMG_2630.JPG,378,504,ten,177,44,353,224 403 | IMG_2631.JPG,378,504,ten,207,210,301,413 404 | IMG_2631.JPG,378,504,queen,68,234,223,430 405 | IMG_2632.JPG,378,504,nine,113,51,246,234 406 | IMG_2632.JPG,378,504,nine,238,47,321,236 407 | IMG_2633.JPG,378,504,nine,176,112,267,328 408 | IMG_2633.JPG,378,504,jack,26,96,200,330 409 | IMG_2635.JPG,378,504,queen,26,43,187,258 410 | IMG_2635.JPG,378,504,king,153,54,273,260 411 | IMG_2635.JPG,378,504,ace,260,36,343,244 412 | IMG_2637.JPG,378,504,king,182,209,360,427 413 | IMG_2637.JPG,378,504,queen,4,2,206,153 414 | IMG_2637.JPG,378,504,ten,1,178,161,410 415 | IMG_2638.JPG,378,504,jack,1,126,214,368 416 | IMG_2638.JPG,378,504,ace,66,208,232,432 417 | IMG_2638.JPG,378,504,king,110,273,351,504 418 | IMG_2641.JPG,378,504,nine,90,109,276,374 419 | IMG_2641.JPG,378,504,ace,261,91,356,349 420 | IMG_2642.JPG,378,504,ace,250,289,367,441 421 | IMG_2642.JPG,378,504,ace,1,1,56,98 422 | IMG_2642.JPG,378,504,ten,72,317,183,466 423 | IMG_2642.JPG,378,504,ten,174,109,337,289 424 | IMG_2643.JPG,378,504,nine,132,159,277,338 425 | IMG_2643.JPG,378,504,king,1,44,143,236 426 | IMG_2643.JPG,378,504,jack,198,1,378,181 427 | IMG_2644.JPG,378,504,nine,27,230,186,422 428 | IMG_2644.JPG,378,504,nine,95,39,245,225 429 | IMG_2644.JPG,378,504,ten,196,234,333,408 430 | IMG_2645.JPG,378,504,king,108,236,317,454 431 | IMG_2645.JPG,378,504,queen,83,1,297,178 432 | IMG_2648.JPG,378,504,queen,247,197,323,407 433 | IMG_2648.JPG,378,504,ten,180,194,249,415 434 | IMG_2648.JPG,378,504,ace,30,202,190,417 435 | IMG_2649.JPG,378,504,nine,85,88,203,257 436 | IMG_2649.JPG,378,504,jack,198,93,264,259 437 | IMG_2649.JPG,378,504,jack,260,91,334,257 438 | IMG_2650.JPG,378,504,jack,181,203,281,415 439 | IMG_2650.JPG,378,504,ace,32,207,192,427 440 | IMG_2650.JPG,378,504,queen,265,193,357,410 441 | IMG_2652.JPG,378,504,jack,57,132,228,364 442 | IMG_2652.JPG,378,504,ten,225,119,324,357 443 | IMG_2653.JPG,378,504,queen,79,143,263,387 444 | IMG_2653.JPG,378,504,king,247,141,344,381 445 | IMG_2655.JPG,378,504,king,192,49,276,254 446 | IMG_2655.JPG,378,504,ten,56,59,197,258 447 | IMG_2655.JPG,378,504,ace,266,37,360,253 448 | IMG_2657.JPG,378,504,king,40,296,105,454 449 | IMG_2657.JPG,378,504,king,100,281,167,433 450 | IMG_2657.JPG,378,504,ten,160,272,267,425 451 | IMG_2658.JPG,378,504,nine,166,66,341,280 452 | IMG_2658.JPG,378,504,jack,48,79,176,302 453 | IMG_2659.JPG,378,504,king,87,83,278,316 454 | IMG_2659.JPG,378,504,ace,17,117,140,330 455 | IMG_2660.JPG,378,504,ace,121,119,236,322 456 | IMG_2660.JPG,378,504,ten,176,106,368,336 457 | IMG_2661.JPG,378,504,nine,30,98,224,341 458 | IMG_2661.JPG,378,504,queen,130,130,352,393 459 | IMG_2663.JPG,378,504,jack,158,189,318,377 460 | IMG_2663.JPG,378,504,nine,10,224,177,431 461 | IMG_2664.JPG,378,504,jack,122,149,288,368 462 | IMG_2664.JPG,378,504,ace,56,164,126,384 463 | IMG_2665.JPG,378,504,ten,185,140,363,374 464 | IMG_2665.JPG,378,504,queen,39,172,192,401 465 | IMG_2666.JPG,378,504,queen,57,255,206,454 466 | IMG_2666.JPG,378,504,ace,192,239,321,413 467 | IMG_2667.JPG,378,504,ace,79,172,164,341 468 | IMG_2667.JPG,378,504,ten,165,177,285,347 469 | IMG_2668.JPG,378,504,ten,96,147,176,360 470 | IMG_2668.JPG,378,504,jack,171,146,336,370 471 | IMG_2669.JPG,378,504,jack,200,210,362,407 472 | IMG_2669.JPG,378,504,jack,114,218,228,413 473 | IMG_2669.JPG,378,504,nine,20,220,126,414 474 | IMG_2671.JPG,378,504,queen,197,277,344,468 475 | IMG_2671.JPG,378,504,queen,107,263,243,442 476 | IMG_2671.JPG,378,504,king,22,251,138,424 477 | IMG_2672.JPG,378,504,nine,150,225,301,407 478 | IMG_2672.JPG,378,504,ten,83,222,198,393 479 | IMG_2673.JPG,378,504,nine,73,262,186,443 480 | IMG_2673.JPG,378,504,king,142,277,300,480 481 | IMG_2673.JPG,378,504,king,179,31,293,183 482 | IMG_2673.JPG,378,504,queen,85,57,253,227 483 | IMG_2674.JPG,378,504,ace,171,119,308,316 484 | IMG_2674.JPG,378,504,ten,32,71,175,300 485 | IMG_2679.JPG,378,504,jack,120,116,327,387 486 | IMG_2679.JPG,378,504,queen,53,130,158,382 487 | IMG_2680.JPG,378,504,nine,175,245,329,458 488 | IMG_2680.JPG,378,504,nine,82,234,187,444 489 | IMG_2681.JPG,378,504,nine,29,262,108,459 490 | IMG_2681.JPG,378,504,ten,99,249,238,425 491 | IMG_2682.JPG,378,504,ace,122,138,350,432 492 | IMG_2682.JPG,378,504,ace,33,137,174,408 493 | IMG_2683.JPG,378,504,jack,140,63,337,331 494 | IMG_2683.JPG,378,504,king,57,59,152,318 495 | IMG_2684.JPG,378,504,king,55,223,139,430 496 | IMG_2684.JPG,378,504,ace,106,230,287,469 497 | IMG_2685.JPG,378,504,ten,131,105,343,366 498 | IMG_2685.JPG,378,504,king,52,157,172,381 499 | IMG_2687.JPG,378,504,ace,115,223,277,440 500 | IMG_2687.JPG,378,504,ten,54,232,130,454 501 | IMG_2689.JPG,378,504,ace,94,143,273,388 502 | IMG_2690.JPG,378,504,king,108,123,299,384 503 | IMG_2691.JPG,378,504,nine,97,123,299,401 504 | IMG_2692.JPG,378,504,king,88,121,300,414 505 | IMG_2693.JPG,378,504,jack,93,134,309,431 506 | IMG_2694.JPG,378,504,jack,89,117,303,415 507 | IMG_2695.JPG,378,504,king,73,110,304,426 508 | IMG_2696.JPG,378,504,nine,69,104,320,449 509 | IMG_2697.JPG,378,504,king,57,105,297,438 510 | IMG_2698.JPG,378,504,nine,80,114,302,421 511 | IMG_2699.JPG,378,504,ace,93,112,318,427 512 | IMG_2700.JPG,378,504,ace,74,105,303,425 513 | IMG_2701.JPG,378,504,jack,64,102,313,453 514 | IMG_2702.JPG,378,504,nine,85,133,290,419 515 | IMG_2703.JPG,378,504,ace,82,152,277,422 516 | IMG_2704.JPG,378,504,jack,70,110,301,426 517 | cam_image2.jpg,960,540,king,312,30,485,249 518 | cam_image2.jpg,960,540,king,514,24,694,245 519 | cam_image2.jpg,960,540,king,305,263,489,519 520 | cam_image2.jpg,960,540,king,515,267,704,523 521 | cam_image4.jpg,960,540,jack,297,18,459,237 522 | cam_image4.jpg,960,540,jack,479,9,663,233 523 | cam_image4.jpg,960,540,jack,287,270,457,515 524 | cam_image4.jpg,960,540,jack,488,263,668,510 525 | cam_image45.jpg,960,540,jack,739,166,899,403 526 | cam_image45.jpg,960,540,nine,562,145,733,387 527 | cam_image45.jpg,960,540,king,365,150,550,399 528 | cam_image45.jpg,960,540,ace,150,174,358,434 529 | cam_image5.jpg,960,540,ten,309,46,476,257 530 | cam_image5.jpg,960,540,ten,495,37,663,249 531 | cam_image5.jpg,960,540,ten,308,285,478,518 532 | cam_image5.jpg,960,540,ten,499,286,680,528 533 | cam_image6.jpg,960,540,nine,307,32,478,243 534 | cam_image6.jpg,960,540,nine,504,32,676,243 535 | cam_image6.jpg,960,540,nine,300,272,482,518 536 | cam_image6.jpg,960,540,nine,504,272,691,518 537 | cam_image7.jpg,960,540,queen,246,12,425,237 538 | cam_image7.jpg,960,540,queen,450,9,629,234 539 | cam_image7.jpg,960,540,queen,240,272,425,526 540 | cam_image7.jpg,960,540,queen,444,273,632,528 541 | cam_image8.jpg,960,540,ace,212,15,381,238 542 | cam_image8.jpg,960,540,ace,407,13,578,236 543 | cam_image8.jpg,960,540,ace,205,270,385,520 544 | cam_image8.jpg,960,540,ace,412,267,596,517 545 | IMG_2383.JPG,378,504,ace,97,136,275,368 546 | IMG_2384.JPG,378,504,king,135,203,229,327 547 | IMG_2387.JPG,378,504,queen,109,167,249,349 548 | IMG_2391.JPG,378,504,nine,129,197,268,389 549 | IMG_2395.JPG,378,504,ten,81,192,229,388 550 | IMG_2403.JPG,378,504,jack,87,116,286,388 551 | IMG_2432.JPG,378,504,ten,110,235,250,378 552 | IMG_2433.JPG,378,504,queen,44,225,297,413 553 | IMG_2435.JPG,378,504,nine,189,236,322,382 554 | IMG_2436.JPG,378,504,jack,85,268,188,404 555 | IMG_2440.JPG,378,504,king,71,276,237,440 556 | IMG_2461.JPG,378,504,ten,50,281,225,493 557 | IMG_2463.JPG,378,504,nine,171,115,310,215 558 | IMG_2470.JPG,378,504,ace,115,203,272,389 559 | IMG_2476.JPG,378,504,ace,111,36,252,133 560 | IMG_2479.JPG,378,504,jack,136,109,292,286 561 | IMG_2482.JPG,378,504,queen,46,197,188,378 562 | IMG_2485.JPG,378,504,king,62,126,269,361 563 | IMG_2510.JPG,378,504,king,234,130,353,262 564 | IMG_2530.JPG,378,504,queen,95,197,247,376 565 | IMG_2531.JPG,378,504,jack,25,152,154,323 566 | IMG_2532.JPG,378,504,ace,203,217,305,396 567 | IMG_2539.JPG,378,504,king,124,192,282,322 568 | IMG_2540.JPG,378,504,ten,158,155,263,337 569 | IMG_2544.JPG,378,504,nine,155,267,271,471 570 | IMG_2550.JPG,378,504,queen,53,240,266,341 571 | IMG_2551.JPG,378,504,ace,78,271,192,417 572 | IMG_2554.JPG,378,504,jack,99,200,248,403 573 | IMG_2555.JPG,378,504,king,131,156,231,349 574 | IMG_2557.JPG,378,504,queen,97,189,245,384 575 | IMG_2561.JPG,378,504,nine,218,1,334,136 576 | IMG_2561.JPG,378,504,nine,28,350,199,493 577 | IMG_2561.JPG,378,504,king,26,121,190,297 578 | IMG_2561.JPG,378,504,ace,247,224,365,376 579 | IMG_2568.JPG,378,504,king,103,254,268,376 580 | IMG_2568.JPG,378,504,nine,102,86,286,237 581 | IMG_2571.JPG,378,504,ten,157,79,336,268 582 | IMG_2571.JPG,378,504,queen,20,170,129,327 583 | IMG_2571.JPG,378,504,nine,103,301,236,473 584 | IMG_2573.JPG,378,504,ace,58,211,181,349 585 | IMG_2573.JPG,378,504,king,214,216,339,321 586 | IMG_2573.JPG,378,504,queen,197,82,318,182 587 | IMG_2573.JPG,378,504,ace,188,350,324,488 588 | IMG_2580.JPG,378,504,nine,65,69,174,188 589 | IMG_2580.JPG,378,504,nine,150,115,218,212 590 | IMG_2580.JPG,378,504,king,198,210,293,287 591 | IMG_2580.JPG,378,504,ace,189,294,268,383 592 | IMG_2583.JPG,378,504,nine,90,17,203,104 593 | IMG_2583.JPG,378,504,nine,48,272,92,391 594 | IMG_2583.JPG,378,504,jack,269,187,372,311 595 | IMG_2583.JPG,378,504,ace,171,382,265,477 596 | IMG_2585.JPG,378,504,queen,84,75,166,191 597 | IMG_2585.JPG,378,504,jack,267,92,348,204 598 | IMG_2585.JPG,378,504,jack,41,329,127,434 599 | IMG_2585.JPG,378,504,ten,189,365,294,440 600 | IMG_2591.JPG,378,504,ace,48,155,143,290 601 | IMG_2591.JPG,378,504,ace,120,288,267,437 602 | IMG_2591.JPG,378,504,nine,196,193,332,297 603 | IMG_2591.JPG,378,504,king,4,164,52,293 604 | IMG_2592.JPG,378,504,ten,42,114,131,239 605 | IMG_2592.JPG,378,504,queen,34,250,127,380 606 | IMG_2592.JPG,378,504,king,220,264,312,387 607 | IMG_2592.JPG,378,504,ace,312,271,370,404 608 | IMG_2594.JPG,378,504,queen,39,117,156,266 609 | IMG_2594.JPG,378,504,ten,76,287,184,427 610 | IMG_2594.JPG,378,504,jack,239,115,342,259 611 | IMG_2594.JPG,378,504,jack,177,120,246,260 612 | IMG_2595.JPG,378,504,ace,149,162,299,371 613 | IMG_2595.JPG,378,504,queen,66,159,155,358 614 | IMG_2598.JPG,378,504,nine,123,162,300,400 615 | IMG_2598.JPG,378,504,ace,54,183,146,410 616 | IMG_2600.JPG,378,504,jack,154,180,292,379 617 | IMG_2600.JPG,378,504,nine,80,169,158,364 618 | IMG_2600.JPG,378,504,king,16,207,114,397 619 | IMG_2604.JPG,378,504,nine,85,201,287,454 620 | IMG_2604.JPG,378,504,ace,31,199,125,426 621 | IMG_2634.JPG,378,504,jack,63,123,225,353 622 | IMG_2634.JPG,378,504,jack,227,117,360,344 623 | IMG_2636.JPG,378,504,queen,53,130,242,352 624 | IMG_2636.JPG,378,504,queen,239,122,328,326 625 | IMG_2639.JPG,378,504,jack,75,106,301,331 626 | IMG_2639.JPG,378,504,ten,82,305,352,482 627 | IMG_2640.JPG,378,504,ace,10,188,235,477 628 | IMG_2640.JPG,378,504,king,188,197,369,497 629 | IMG_2647.JPG,378,504,ten,131,84,287,304 630 | IMG_2647.JPG,378,504,ace,287,88,350,307 631 | IMG_2651.JPG,378,504,queen,138,91,282,288 632 | IMG_2651.JPG,378,504,king,268,86,364,286 633 | IMG_2654.JPG,378,504,nine,49,162,233,393 634 | IMG_2654.JPG,378,504,nine,176,135,368,383 635 | IMG_2656.JPG,378,504,nine,4,200,124,392 636 | IMG_2656.JPG,378,504,ten,120,208,234,380 637 | IMG_2656.JPG,378,504,jack,185,220,359,411 638 | IMG_2662.JPG,378,504,queen,179,175,339,376 639 | IMG_2662.JPG,378,504,king,26,188,207,404 640 | IMG_2670.JPG,378,504,ace,122,110,276,312 641 | IMG_2670.JPG,378,504,ace,15,122,130,333 642 | IMG_2675.JPG,378,504,jack,225,257,323,402 643 | IMG_2675.JPG,378,504,queen,166,239,231,382 644 | IMG_2675.JPG,378,504,nine,111,245,172,388 645 | IMG_2675.JPG,378,504,king,24,253,111,403 646 | IMG_2677.JPG,378,504,nine,159,112,345,366 647 | IMG_2677.JPG,378,504,ten,80,114,163,357 648 | IMG_2678.JPG,378,504,jack,119,228,275,445 649 | IMG_2678.JPG,378,504,jack,42,239,132,459 650 | IMG_2686.JPG,378,504,queen,143,150,319,378 651 | IMG_2686.JPG,378,504,queen,70,158,152,372 652 | -------------------------------------------------------------------------------- /cards_dataset/validation.csv: -------------------------------------------------------------------------------- 1 | filename,width,height,class,xmin,ymin,xmax,ymax 2 | IMG_2558.JPG,378,504,ten,39,125,157,212 3 | IMG_2558.JPG,378,504,ten,216,121,332,209 4 | IMG_2558.JPG,378,504,ace,231,323,344,404 5 | IMG_2558.JPG,378,504,king,77,354,192,439 6 | IMG_2559.JPG,378,504,king,224,77,331,205 7 | IMG_2559.JPG,378,504,queen,207,288,345,412 8 | IMG_2559.JPG,378,504,ten,44,172,182,297 9 | IMG_2559.JPG,378,504,nine,61,342,159,464 10 | IMG_2560.JPG,378,504,ten,48,96,143,215 11 | IMG_2560.JPG,378,504,queen,221,105,308,217 12 | IMG_2560.JPG,378,504,queen,241,315,338,441 13 | IMG_2560.JPG,378,504,king,46,290,135,412 14 | IMG_2564.JPG,378,504,jack,28,136,151,259 15 | IMG_2564.JPG,378,504,queen,252,288,351,418 16 | IMG_2564.JPG,378,504,ten,168,172,290,273 17 | IMG_2564.JPG,378,504,ace,28,302,133,434 18 | IMG_2609.JPG,378,504,king,1,120,175,321 19 | IMG_2609.JPG,378,504,ace,108,300,251,490 20 | IMG_2609.JPG,378,504,jack,208,98,378,282 21 | IMG_2609.JPG,378,504,ten,176,1,304,114 22 | -------------------------------------------------------------------------------- /cards_dataset/validation/IMG_2558.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/validation/IMG_2558.JPG -------------------------------------------------------------------------------- /cards_dataset/validation/IMG_2559.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/validation/IMG_2559.JPG -------------------------------------------------------------------------------- /cards_dataset/validation/IMG_2560.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/validation/IMG_2560.JPG -------------------------------------------------------------------------------- /cards_dataset/validation/IMG_2564.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/validation/IMG_2564.JPG -------------------------------------------------------------------------------- /cards_dataset/validation/IMG_2609.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/cards_dataset/validation/IMG_2609.JPG -------------------------------------------------------------------------------- /coco_eval.py: -------------------------------------------------------------------------------- 1 | import json 2 | import tempfile 3 | 4 | import numpy as np 5 | import copy 6 | import time 7 | import torch 8 | import torch._six 9 | 10 | from pycocotools.cocoeval import COCOeval 11 | from pycocotools.coco import COCO 12 | import pycocotools.mask as mask_util 13 | 14 | from collections import defaultdict 15 | 16 | import utils 17 | 18 | 19 | class CocoEvaluator(object): 20 | def __init__(self, coco_gt, iou_types): 21 | assert isinstance(iou_types, (list, tuple)) 22 | coco_gt = copy.deepcopy(coco_gt) 23 | self.coco_gt = coco_gt 24 | 25 | self.iou_types = iou_types 26 | self.coco_eval = {} 27 | for iou_type in iou_types: 28 | self.coco_eval[iou_type] = COCOeval(coco_gt, iouType=iou_type) 29 | 30 | self.img_ids = [] 31 | self.eval_imgs = {k: [] for k in iou_types} 32 | 33 | def update(self, predictions): 34 | img_ids = list(np.unique(list(predictions.keys()))) 35 | self.img_ids.extend(img_ids) 36 | 37 | for iou_type in self.iou_types: 38 | results = self.prepare(predictions, iou_type) 39 | coco_dt = loadRes(self.coco_gt, results) if results else COCO() 40 | coco_eval = self.coco_eval[iou_type] 41 | 42 | coco_eval.cocoDt = coco_dt 43 | coco_eval.params.imgIds = list(img_ids) 44 | img_ids, eval_imgs = evaluate(coco_eval) 45 | 46 | self.eval_imgs[iou_type].append(eval_imgs) 47 | 48 | def synchronize_between_processes(self): 49 | for iou_type in self.iou_types: 50 | self.eval_imgs[iou_type] = np.concatenate(self.eval_imgs[iou_type], 2) 51 | create_common_coco_eval(self.coco_eval[iou_type], self.img_ids, self.eval_imgs[iou_type]) 52 | 53 | def accumulate(self): 54 | for coco_eval in self.coco_eval.values(): 55 | coco_eval.accumulate() 56 | 57 | def summarize(self): 58 | for iou_type, coco_eval in self.coco_eval.items(): 59 | print("IoU metric: {}".format(iou_type)) 60 | coco_eval.summarize() 61 | 62 | def prepare(self, predictions, iou_type): 63 | if iou_type == "bbox": 64 | return self.prepare_for_coco_detection(predictions) 65 | elif iou_type == "segm": 66 | return self.prepare_for_coco_segmentation(predictions) 67 | elif iou_type == "keypoints": 68 | return self.prepare_for_coco_keypoint(predictions) 69 | else: 70 | raise ValueError("Unknown iou type {}".format(iou_type)) 71 | 72 | def prepare_for_coco_detection(self, predictions): 73 | coco_results = [] 74 | for original_id, prediction in predictions.items(): 75 | if len(prediction) == 0: 76 | continue 77 | 78 | boxes = prediction["boxes"] 79 | boxes = convert_to_xywh(boxes).tolist() 80 | scores = prediction["scores"].tolist() 81 | labels = prediction["labels"].tolist() 82 | 83 | coco_results.extend( 84 | [ 85 | { 86 | "image_id": original_id, 87 | "category_id": labels[k], 88 | "bbox": box, 89 | "score": scores[k], 90 | } 91 | for k, box in enumerate(boxes) 92 | ] 93 | ) 94 | return coco_results 95 | 96 | def prepare_for_coco_segmentation(self, predictions): 97 | coco_results = [] 98 | for original_id, prediction in predictions.items(): 99 | if len(prediction) == 0: 100 | continue 101 | 102 | scores = prediction["scores"] 103 | labels = prediction["labels"] 104 | masks = prediction["masks"] 105 | 106 | masks = masks > 0.5 107 | 108 | scores = prediction["scores"].tolist() 109 | labels = prediction["labels"].tolist() 110 | 111 | rles = [ 112 | mask_util.encode(np.array(mask[0, :, :, np.newaxis], order="F"))[0] 113 | for mask in masks 114 | ] 115 | for rle in rles: 116 | rle["counts"] = rle["counts"].decode("utf-8") 117 | 118 | coco_results.extend( 119 | [ 120 | { 121 | "image_id": original_id, 122 | "category_id": labels[k], 123 | "segmentation": rle, 124 | "score": scores[k], 125 | } 126 | for k, rle in enumerate(rles) 127 | ] 128 | ) 129 | return coco_results 130 | 131 | def prepare_for_coco_keypoint(self, predictions): 132 | coco_results = [] 133 | for original_id, prediction in predictions.items(): 134 | if len(prediction) == 0: 135 | continue 136 | 137 | boxes = prediction["boxes"] 138 | boxes = convert_to_xywh(boxes).tolist() 139 | scores = prediction["scores"].tolist() 140 | labels = prediction["labels"].tolist() 141 | keypoints = prediction["keypoints"] 142 | keypoints = keypoints.flatten(start_dim=1).tolist() 143 | 144 | coco_results.extend( 145 | [ 146 | { 147 | "image_id": original_id, 148 | "category_id": labels[k], 149 | 'keypoints': keypoint, 150 | "score": scores[k], 151 | } 152 | for k, keypoint in enumerate(keypoints) 153 | ] 154 | ) 155 | return coco_results 156 | 157 | 158 | def convert_to_xywh(boxes): 159 | xmin, ymin, xmax, ymax = boxes.unbind(1) 160 | return torch.stack((xmin, ymin, xmax - xmin, ymax - ymin), dim=1) 161 | 162 | 163 | def merge(img_ids, eval_imgs): 164 | all_img_ids = utils.all_gather(img_ids) 165 | all_eval_imgs = utils.all_gather(eval_imgs) 166 | 167 | merged_img_ids = [] 168 | for p in all_img_ids: 169 | merged_img_ids.extend(p) 170 | 171 | merged_eval_imgs = [] 172 | for p in all_eval_imgs: 173 | merged_eval_imgs.append(p) 174 | 175 | merged_img_ids = np.array(merged_img_ids) 176 | merged_eval_imgs = np.concatenate(merged_eval_imgs, 2) 177 | 178 | # keep only unique (and in sorted order) images 179 | merged_img_ids, idx = np.unique(merged_img_ids, return_index=True) 180 | merged_eval_imgs = merged_eval_imgs[..., idx] 181 | 182 | return merged_img_ids, merged_eval_imgs 183 | 184 | 185 | def create_common_coco_eval(coco_eval, img_ids, eval_imgs): 186 | img_ids, eval_imgs = merge(img_ids, eval_imgs) 187 | img_ids = list(img_ids) 188 | eval_imgs = list(eval_imgs.flatten()) 189 | 190 | coco_eval.evalImgs = eval_imgs 191 | coco_eval.params.imgIds = img_ids 192 | coco_eval._paramsEval = copy.deepcopy(coco_eval.params) 193 | 194 | 195 | ################################################################# 196 | # From pycocotools, just removed the prints and fixed 197 | # a Python3 bug about unicode not defined 198 | ################################################################# 199 | 200 | # Ideally, pycocotools wouldn't have hard-coded prints 201 | # so that we could avoid copy-pasting those two functions 202 | 203 | def createIndex(self): 204 | # create index 205 | # print('creating index...') 206 | anns, cats, imgs = {}, {}, {} 207 | imgToAnns, catToImgs = defaultdict(list), defaultdict(list) 208 | if 'annotations' in self.dataset: 209 | for ann in self.dataset['annotations']: 210 | imgToAnns[ann['image_id']].append(ann) 211 | anns[ann['id']] = ann 212 | 213 | if 'images' in self.dataset: 214 | for img in self.dataset['images']: 215 | imgs[img['id']] = img 216 | 217 | if 'categories' in self.dataset: 218 | for cat in self.dataset['categories']: 219 | cats[cat['id']] = cat 220 | 221 | if 'annotations' in self.dataset and 'categories' in self.dataset: 222 | for ann in self.dataset['annotations']: 223 | catToImgs[ann['category_id']].append(ann['image_id']) 224 | 225 | # print('index created!') 226 | 227 | # create class members 228 | self.anns = anns 229 | self.imgToAnns = imgToAnns 230 | self.catToImgs = catToImgs 231 | self.imgs = imgs 232 | self.cats = cats 233 | 234 | 235 | maskUtils = mask_util 236 | 237 | 238 | def loadRes(self, resFile): 239 | """ 240 | Load result file and return a result api object. 241 | :param resFile (str) : file name of result file 242 | :return: res (obj) : result api object 243 | """ 244 | res = COCO() 245 | res.dataset['images'] = [img for img in self.dataset['images']] 246 | 247 | # print('Loading and preparing results...') 248 | # tic = time.time() 249 | if isinstance(resFile, torch._six.string_classes): 250 | anns = json.load(open(resFile)) 251 | elif type(resFile) == np.ndarray: 252 | anns = self.loadNumpyAnnotations(resFile) 253 | else: 254 | anns = resFile 255 | assert type(anns) == list, 'results in not an array of objects' 256 | annsImgIds = [ann['image_id'] for ann in anns] 257 | assert set(annsImgIds) == (set(annsImgIds) & set(self.getImgIds())), \ 258 | 'Results do not correspond to current coco set' 259 | if 'caption' in anns[0]: 260 | imgIds = set([img['id'] for img in res.dataset['images']]) & set([ann['image_id'] for ann in anns]) 261 | res.dataset['images'] = [img for img in res.dataset['images'] if img['id'] in imgIds] 262 | for id, ann in enumerate(anns): 263 | ann['id'] = id + 1 264 | elif 'bbox' in anns[0] and not anns[0]['bbox'] == []: 265 | res.dataset['categories'] = copy.deepcopy(self.dataset['categories']) 266 | for id, ann in enumerate(anns): 267 | bb = ann['bbox'] 268 | x1, x2, y1, y2 = [bb[0], bb[0] + bb[2], bb[1], bb[1] + bb[3]] 269 | if 'segmentation' not in ann: 270 | ann['segmentation'] = [[x1, y1, x1, y2, x2, y2, x2, y1]] 271 | ann['area'] = bb[2] * bb[3] 272 | ann['id'] = id + 1 273 | ann['iscrowd'] = 0 274 | elif 'segmentation' in anns[0]: 275 | res.dataset['categories'] = copy.deepcopy(self.dataset['categories']) 276 | for id, ann in enumerate(anns): 277 | # now only support compressed RLE format as segmentation results 278 | ann['area'] = maskUtils.area(ann['segmentation']) 279 | if 'bbox' not in ann: 280 | ann['bbox'] = maskUtils.toBbox(ann['segmentation']) 281 | ann['id'] = id + 1 282 | ann['iscrowd'] = 0 283 | elif 'keypoints' in anns[0]: 284 | res.dataset['categories'] = copy.deepcopy(self.dataset['categories']) 285 | for id, ann in enumerate(anns): 286 | s = ann['keypoints'] 287 | x = s[0::3] 288 | y = s[1::3] 289 | x0, x1, y0, y1 = np.min(x), np.max(x), np.min(y), np.max(y) 290 | ann['area'] = (x1 - x0) * (y1 - y0) 291 | ann['id'] = id + 1 292 | ann['bbox'] = [x0, y0, x1 - x0, y1 - y0] 293 | # print('DONE (t={:0.2f}s)'.format(time.time()- tic)) 294 | 295 | res.dataset['annotations'] = anns 296 | createIndex(res) 297 | return res 298 | 299 | 300 | def evaluate(self): 301 | ''' 302 | Run per image evaluation on given images and store results (a list of dict) in self.evalImgs 303 | :return: None 304 | ''' 305 | # tic = time.time() 306 | # print('Running per image evaluation...') 307 | p = self.params 308 | # add backward compatibility if useSegm is specified in params 309 | if p.useSegm is not None: 310 | p.iouType = 'segm' if p.useSegm == 1 else 'bbox' 311 | print('useSegm (deprecated) is not None. Running {} evaluation'.format(p.iouType)) 312 | # print('Evaluate annotation type *{}*'.format(p.iouType)) 313 | p.imgIds = list(np.unique(p.imgIds)) 314 | if p.useCats: 315 | p.catIds = list(np.unique(p.catIds)) 316 | p.maxDets = sorted(p.maxDets) 317 | self.params = p 318 | 319 | self._prepare() 320 | # loop through images, area range, max detection number 321 | catIds = p.catIds if p.useCats else [-1] 322 | 323 | if p.iouType == 'segm' or p.iouType == 'bbox': 324 | computeIoU = self.computeIoU 325 | elif p.iouType == 'keypoints': 326 | computeIoU = self.computeOks 327 | self.ious = { 328 | (imgId, catId): computeIoU(imgId, catId) 329 | for imgId in p.imgIds 330 | for catId in catIds} 331 | 332 | evaluateImg = self.evaluateImg 333 | maxDet = p.maxDets[-1] 334 | evalImgs = [ 335 | evaluateImg(imgId, catId, areaRng, maxDet) 336 | for catId in catIds 337 | for areaRng in p.areaRng 338 | for imgId in p.imgIds 339 | ] 340 | # this is NOT in the pycocotools code, but could be done outside 341 | evalImgs = np.asarray(evalImgs).reshape(len(catIds), len(p.areaRng), len(p.imgIds)) 342 | self._paramsEval = copy.deepcopy(self.params) 343 | # toc = time.time() 344 | # print('DONE (t={:0.2f}s).'.format(toc-tic)) 345 | return p.imgIds, evalImgs 346 | 347 | ################################################################# 348 | # end of straight copy from pycocotools, just removing the prints 349 | ################################################################# 350 | -------------------------------------------------------------------------------- /coco_utils.py: -------------------------------------------------------------------------------- 1 | import copy 2 | import os 3 | from PIL import Image 4 | 5 | import torch 6 | import torch.utils.data 7 | import torchvision 8 | 9 | from pycocotools import mask as coco_mask 10 | from pycocotools.coco import COCO 11 | 12 | import transforms as T 13 | 14 | 15 | class FilterAndRemapCocoCategories(object): 16 | def __init__(self, categories, remap=True): 17 | self.categories = categories 18 | self.remap = remap 19 | 20 | def __call__(self, image, target): 21 | anno = target["annotations"] 22 | anno = [obj for obj in anno if obj["category_id"] in self.categories] 23 | if not self.remap: 24 | target["annotations"] = anno 25 | return image, target 26 | anno = copy.deepcopy(anno) 27 | for obj in anno: 28 | obj["category_id"] = self.categories.index(obj["category_id"]) 29 | target["annotations"] = anno 30 | return image, target 31 | 32 | 33 | def convert_coco_poly_to_mask(segmentations, height, width): 34 | masks = [] 35 | for polygons in segmentations: 36 | rles = coco_mask.frPyObjects(polygons, height, width) 37 | mask = coco_mask.decode(rles) 38 | if len(mask.shape) < 3: 39 | mask = mask[..., None] 40 | mask = torch.as_tensor(mask, dtype=torch.uint8) 41 | mask = mask.any(dim=2) 42 | masks.append(mask) 43 | if masks: 44 | masks = torch.stack(masks, dim=0) 45 | else: 46 | masks = torch.zeros((0, height, width), dtype=torch.uint8) 47 | return masks 48 | 49 | 50 | class ConvertCocoPolysToMask(object): 51 | def __call__(self, image, target): 52 | w, h = image.size 53 | 54 | image_id = target["image_id"] 55 | image_id = torch.tensor([image_id]) 56 | 57 | anno = target["annotations"] 58 | 59 | anno = [obj for obj in anno if obj['iscrowd'] == 0] 60 | 61 | boxes = [obj["bbox"] for obj in anno] 62 | # guard against no boxes via resizing 63 | boxes = torch.as_tensor(boxes, dtype=torch.float32).reshape(-1, 4) 64 | boxes[:, 2:] += boxes[:, :2] 65 | boxes[:, 0::2].clamp_(min=0, max=w) 66 | boxes[:, 1::2].clamp_(min=0, max=h) 67 | 68 | classes = [obj["category_id"] for obj in anno] 69 | classes = torch.tensor(classes, dtype=torch.int64) 70 | 71 | segmentations = [obj["segmentation"] for obj in anno] 72 | masks = convert_coco_poly_to_mask(segmentations, h, w) 73 | 74 | keypoints = None 75 | if anno and "keypoints" in anno[0]: 76 | keypoints = [obj["keypoints"] for obj in anno] 77 | keypoints = torch.as_tensor(keypoints, dtype=torch.float32) 78 | num_keypoints = keypoints.shape[0] 79 | if num_keypoints: 80 | keypoints = keypoints.view(num_keypoints, -1, 3) 81 | 82 | keep = (boxes[:, 3] > boxes[:, 1]) & (boxes[:, 2] > boxes[:, 0]) 83 | boxes = boxes[keep] 84 | classes = classes[keep] 85 | masks = masks[keep] 86 | if keypoints is not None: 87 | keypoints = keypoints[keep] 88 | 89 | target = {} 90 | target["boxes"] = boxes 91 | target["labels"] = classes 92 | target["masks"] = masks 93 | target["image_id"] = image_id 94 | if keypoints is not None: 95 | target["keypoints"] = keypoints 96 | 97 | # for conversion to coco api 98 | area = torch.tensor([obj["area"] for obj in anno]) 99 | iscrowd = torch.tensor([obj["iscrowd"] for obj in anno]) 100 | target["area"] = area 101 | target["iscrowd"] = iscrowd 102 | 103 | return image, target 104 | 105 | 106 | def _coco_remove_images_without_annotations(dataset, cat_list=None): 107 | def _has_only_empty_bbox(anno): 108 | return all(any(o <= 1 for o in obj["bbox"][2:]) for obj in anno) 109 | 110 | def _count_visible_keypoints(anno): 111 | return sum(sum(1 for v in ann["keypoints"][2::3] if v > 0) for ann in anno) 112 | 113 | min_keypoints_per_image = 10 114 | 115 | def _has_valid_annotation(anno): 116 | # if it's empty, there is no annotation 117 | if len(anno) == 0: 118 | return False 119 | # if all boxes have close to zero area, there is no annotation 120 | if _has_only_empty_bbox(anno): 121 | return False 122 | # keypoints task have a slight different critera for considering 123 | # if an annotation is valid 124 | if "keypoints" not in anno[0]: 125 | return True 126 | # for keypoint detection tasks, only consider valid images those 127 | # containing at least min_keypoints_per_image 128 | if _count_visible_keypoints(anno) >= min_keypoints_per_image: 129 | return True 130 | return False 131 | 132 | assert isinstance(dataset, torchvision.datasets.CocoDetection) 133 | ids = [] 134 | for ds_idx, img_id in enumerate(dataset.ids): 135 | ann_ids = dataset.coco.getAnnIds(imgIds=img_id, iscrowd=None) 136 | anno = dataset.coco.loadAnns(ann_ids) 137 | if cat_list: 138 | anno = [obj for obj in anno if obj["category_id"] in cat_list] 139 | if _has_valid_annotation(anno): 140 | ids.append(ds_idx) 141 | 142 | dataset = torch.utils.data.Subset(dataset, ids) 143 | return dataset 144 | 145 | 146 | def convert_to_coco_api(ds): 147 | coco_ds = COCO() 148 | ann_id = 0 149 | dataset = {'images': [], 'categories': [], 'annotations': []} 150 | categories = set() 151 | for img_idx in range(len(ds)): 152 | # find better way to get target 153 | # targets = ds.get_annotations(img_idx) 154 | img, targets = ds[img_idx] 155 | image_id = targets["image_id"].item() 156 | img_dict = {} 157 | img_dict['id'] = image_id 158 | img_dict['height'] = img.shape[-2] 159 | img_dict['width'] = img.shape[-1] 160 | dataset['images'].append(img_dict) 161 | bboxes = targets["boxes"] 162 | bboxes[:, 2:] -= bboxes[:, :2] 163 | bboxes = bboxes.tolist() 164 | labels = targets['labels'].tolist() 165 | areas = targets['area'].tolist() 166 | iscrowd = targets['iscrowd'].tolist() 167 | if 'masks' in targets: 168 | masks = targets['masks'] 169 | # make masks Fortran contiguous for coco_mask 170 | masks = masks.permute(0, 2, 1).contiguous().permute(0, 2, 1) 171 | if 'keypoints' in targets: 172 | keypoints = targets['keypoints'] 173 | keypoints = keypoints.reshape(keypoints.shape[0], -1).tolist() 174 | num_objs = len(bboxes) 175 | for i in range(num_objs): 176 | ann = {} 177 | ann['image_id'] = image_id 178 | ann['bbox'] = bboxes[i] 179 | ann['category_id'] = labels[i] 180 | categories.add(labels[i]) 181 | ann['area'] = areas[i] 182 | ann['iscrowd'] = iscrowd[i] 183 | ann['id'] = ann_id 184 | if 'masks' in targets: 185 | ann["segmentation"] = coco_mask.encode(masks[i].numpy()) 186 | if 'keypoints' in targets: 187 | ann['keypoints'] = keypoints[i] 188 | ann['num_keypoints'] = sum(k != 0 for k in keypoints[i][2::3]) 189 | dataset['annotations'].append(ann) 190 | ann_id += 1 191 | dataset['categories'] = [{'id': i} for i in sorted(categories)] 192 | coco_ds.dataset = dataset 193 | coco_ds.createIndex() 194 | return coco_ds 195 | 196 | 197 | def get_coco_api_from_dataset(dataset): 198 | for i in range(10): 199 | if isinstance(dataset, torchvision.datasets.CocoDetection): 200 | break 201 | if isinstance(dataset, torch.utils.data.Subset): 202 | dataset = dataset.dataset 203 | if isinstance(dataset, torchvision.datasets.CocoDetection): 204 | return dataset.coco 205 | return convert_to_coco_api(dataset) 206 | 207 | 208 | class CocoDetection(torchvision.datasets.CocoDetection): 209 | def __init__(self, img_folder, ann_file, transforms): 210 | super(CocoDetection, self).__init__(img_folder, ann_file) 211 | self._transforms = transforms 212 | 213 | def __getitem__(self, idx): 214 | img, target = super(CocoDetection, self).__getitem__(idx) 215 | image_id = self.ids[idx] 216 | target = dict(image_id=image_id, annotations=target) 217 | if self._transforms is not None: 218 | img, target = self._transforms(img, target) 219 | return img, target 220 | 221 | 222 | def get_coco(root, image_set, transforms, mode='instances'): 223 | anno_file_template = "{}_{}2017.json" 224 | PATHS = { 225 | "train": ("train2017", os.path.join("annotations", anno_file_template.format(mode, "train"))), 226 | "val": ("val2017", os.path.join("annotations", anno_file_template.format(mode, "val"))), 227 | # "train": ("val2017", os.path.join("annotations", anno_file_template.format(mode, "val"))) 228 | } 229 | 230 | t = [ConvertCocoPolysToMask()] 231 | 232 | if transforms is not None: 233 | t.append(transforms) 234 | transforms = T.Compose(t) 235 | 236 | img_folder, ann_file = PATHS[image_set] 237 | img_folder = os.path.join(root, img_folder) 238 | ann_file = os.path.join(root, ann_file) 239 | 240 | dataset = CocoDetection(img_folder, ann_file, transforms=transforms) 241 | 242 | if image_set == "train": 243 | dataset = _coco_remove_images_without_annotations(dataset) 244 | 245 | # dataset = torch.utils.data.Subset(dataset, [i for i in range(500)]) 246 | 247 | return dataset 248 | 249 | 250 | def get_coco_kp(root, image_set, transforms): 251 | return get_coco(root, image_set, transforms, mode="person_keypoints") 252 | -------------------------------------------------------------------------------- /engine.py: -------------------------------------------------------------------------------- 1 | import math 2 | import sys 3 | import time 4 | import torch 5 | 6 | import torchvision.models.detection.mask_rcnn 7 | 8 | from coco_utils import get_coco_api_from_dataset 9 | from coco_eval import CocoEvaluator 10 | import utils 11 | 12 | 13 | def train_one_epoch(model, optimizer, data_loader, device, epoch, print_freq): 14 | model.train() 15 | metric_logger = utils.MetricLogger(delimiter=" ") 16 | metric_logger.add_meter('lr', utils.SmoothedValue(window_size=1, fmt='{value:.6f}')) 17 | header = 'Epoch: [{}]'.format(epoch) 18 | 19 | lr_scheduler = None 20 | if epoch == 0: 21 | warmup_factor = 1. / 1000 22 | warmup_iters = min(1000, len(data_loader) - 1) 23 | 24 | lr_scheduler = utils.warmup_lr_scheduler(optimizer, warmup_iters, warmup_factor) 25 | 26 | for images, targets in metric_logger.log_every(data_loader, print_freq, header): 27 | images = list(image.to(device) for image in images) 28 | targets = [{k: v.to(device) for k, v in t.items()} for t in targets] 29 | 30 | loss_dict = model(images, targets) 31 | 32 | losses = sum(loss for loss in loss_dict.values()) 33 | 34 | # reduce losses over all GPUs for logging purposes 35 | loss_dict_reduced = utils.reduce_dict(loss_dict) 36 | losses_reduced = sum(loss for loss in loss_dict_reduced.values()) 37 | 38 | loss_value = losses_reduced.item() 39 | 40 | if not math.isfinite(loss_value): 41 | print("Loss is {}, stopping training".format(loss_value)) 42 | print(loss_dict_reduced) 43 | sys.exit(1) 44 | 45 | optimizer.zero_grad() 46 | losses.backward() 47 | optimizer.step() 48 | 49 | if lr_scheduler is not None: 50 | lr_scheduler.step() 51 | 52 | metric_logger.update(loss=losses_reduced, **loss_dict_reduced) 53 | metric_logger.update(lr=optimizer.param_groups[0]["lr"]) 54 | 55 | 56 | def _get_iou_types(model): 57 | model_without_ddp = model 58 | if isinstance(model, torch.nn.parallel.DistributedDataParallel): 59 | model_without_ddp = model.module 60 | iou_types = ["bbox"] 61 | if isinstance(model_without_ddp, torchvision.models.detection.MaskRCNN): 62 | iou_types.append("segm") 63 | if isinstance(model_without_ddp, torchvision.models.detection.KeypointRCNN): 64 | iou_types.append("keypoints") 65 | return iou_types 66 | 67 | 68 | @torch.no_grad() 69 | def evaluate(model, data_loader, device): 70 | n_threads = torch.get_num_threads() 71 | # FIXME remove this and make paste_masks_in_image run on the GPU 72 | torch.set_num_threads(1) 73 | cpu_device = torch.device("cpu") 74 | model.eval() 75 | metric_logger = utils.MetricLogger(delimiter=" ") 76 | header = 'Test:' 77 | 78 | coco = get_coco_api_from_dataset(data_loader.dataset) 79 | iou_types = _get_iou_types(model) 80 | coco_evaluator = CocoEvaluator(coco, iou_types) 81 | 82 | for image, targets in metric_logger.log_every(data_loader, 100, header): 83 | image = list(img.to(device) for img in image) 84 | targets = [{k: v.to(device) for k, v in t.items()} for t in targets] 85 | 86 | torch.cuda.synchronize() 87 | model_time = time.time() 88 | outputs = model(image) 89 | 90 | outputs = [{k: v.to(cpu_device) for k, v in t.items()} for t in outputs] 91 | model_time = time.time() - model_time 92 | 93 | res = {target["image_id"].item(): output for target, output in zip(targets, outputs)} 94 | evaluator_time = time.time() 95 | coco_evaluator.update(res) 96 | evaluator_time = time.time() - evaluator_time 97 | metric_logger.update(model_time=model_time, evaluator_time=evaluator_time) 98 | 99 | # gather the stats from all processes 100 | metric_logger.synchronize_between_processes() 101 | print("Averaged stats:", metric_logger) 102 | coco_evaluator.synchronize_between_processes() 103 | 104 | # accumulate predictions from all images 105 | coco_evaluator.accumulate() 106 | coco_evaluator.summarize() 107 | torch.set_num_threads(n_threads) 108 | return coco_evaluator 109 | -------------------------------------------------------------------------------- /images/image1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/images/image1.jpg -------------------------------------------------------------------------------- /images/image2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/images/image2.jpg -------------------------------------------------------------------------------- /images/image3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harshatejas/pytorch_custom_object_detection/6348f562e75222d64b7130f1159279b5b45e5eeb/images/image3.jpg -------------------------------------------------------------------------------- /predict.py: -------------------------------------------------------------------------------- 1 | import torch 2 | import numpy as np 3 | import cv2 4 | import os 5 | import pandas as pd 6 | import torchvision 7 | from torchvision.models.detection.faster_rcnn import FastRCNNPredictor 8 | 9 | saved_model = "saved_model" # Output directory of the save the model 10 | filename = "IMG_2558.JPG" # Image filename 11 | img_path = "cards_dataset/validation/" + filename 12 | 13 | with open('labels.txt', 'r') as f: 14 | string = f.read() 15 | labels_dict = eval(string) 16 | 17 | def get_model(num_classes): 18 | 19 | # Load an pre-trained object detectin model (in this case faster-rcnn) 20 | model = torchvision.models.detection.fasterrcnn_resnet50_fpn(pretrained = True) 21 | 22 | # Number of input features 23 | in_features = model.roi_heads.box_predictor.cls_score.in_features 24 | 25 | # Replace the pre-trained head with a new head 26 | model.roi_heads.box_predictor = FastRCNNPredictor(in_features, num_classes) 27 | 28 | return model 29 | 30 | image = cv2.imread(img_path) 31 | img = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) 32 | img = torchvision.transforms.ToTensor()(img) 33 | 34 | loaded_model = get_model(6) 35 | loaded_model.load_state_dict(torch.load(os.path.join(saved_model, 'model'), map_location = 'cpu')) 36 | 37 | loaded_model.eval() 38 | with torch.no_grad(): 39 | prediction = loaded_model([img]) 40 | 41 | for element in range(len(prediction[0]['boxes'])): 42 | x, y, w, h = prediction[0]['boxes'][element].numpy().astype(int) 43 | score = np.round(prediction[0]['scores'][element].numpy(), decimals = 3) 44 | label_index = prediction[0]['labels'][element].numpy() 45 | label = labels_dict[int(label_index)] 46 | 47 | if score > 0.7: 48 | cv2.rectangle(image, (x, y), (w, h), (0, 0, 255), 2) 49 | text = str(label) + " " + str(score) 50 | cv2.putText(image, text, (x, y), cv2.FONT_HERSHEY_SIMPLEX, 0.5, 51 | (255, 255, 255), 1) 52 | 53 | cv2.imshow("Predictions", image) 54 | cv2.waitKey(0) -------------------------------------------------------------------------------- /saved_model/model: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:2eb0630cb06b7b938f7f08963f5dd9b7cbe586462cf599e1eea998e02e10e894 3 | size 165814926 4 | -------------------------------------------------------------------------------- /train.py: -------------------------------------------------------------------------------- 1 | # Imports 2 | import os 3 | import numpy as np 4 | import pandas as pd 5 | import cv2 6 | 7 | import torch 8 | import torchvision 9 | from torchvision.models.detection.faster_rcnn import FastRCNNPredictor 10 | 11 | from engine import train_one_epoch, evaluate 12 | import utils 13 | import transforms as T 14 | 15 | # Hyperparameters 16 | test_set_length = 40 # Test set (number of images) 17 | train_batch_size = 2 # Train batch size 18 | test_batch_size = 1 # Test batch size 19 | num_classes = 6 # Number of classes 20 | learning_rate = 0.005 # Learning rate 21 | num_epochs = 10 # Number of epochs 22 | output_dir = "saved_model" # Output directory to save the model 23 | 24 | def create_label_txt(path_to_csv): 25 | 26 | data = pd.read_csv(path_to_csv) 27 | labels = data['class'].unique() 28 | 29 | labels_dict = {} 30 | 31 | # Creat dictionary from array 32 | for index, label in enumerate(labels): 33 | labels_dict.__setitem__(index, label) 34 | 35 | # We need to create labels.txt and write labels dictionary into it 36 | with open('labels.txt', 'w') as f: 37 | f.write(str(labels_dict)) 38 | 39 | return labels_dict 40 | 41 | 42 | def parse_one_annot(path, filename, labels_dict): 43 | 44 | data = pd.read_csv(path) 45 | 46 | class_names = data['class'].unique() 47 | classes_df = data[data["filename"] == filename]["class"] 48 | classes_array = classes_df.to_numpy() 49 | 50 | boxes_df = data[data["filename"] == filename][["xmin", "ymin", "xmax", "ymax"]] 51 | boxes_array = boxes_df.to_numpy() 52 | 53 | classes = [] 54 | for key, value in labels_dict.items(): 55 | for i in classes_array: 56 | if i == value: 57 | classes.append(key) 58 | 59 | # Convert list to tuple 60 | classes = tuple(classes) 61 | 62 | return boxes_array, classes 63 | 64 | 65 | class CardsDataset(torch.utils.data.Dataset): 66 | 67 | """ The dataset contains images of playing cards 68 | The dataset includes images of king, queen, jack, ten, nine and ace playing cards""" 69 | 70 | def __init__(self, dataset_dir, csv_file, labels_dict, transforms = None): 71 | 72 | self.dataset_dir = dataset_dir 73 | self.csv_file = csv_file 74 | self.transforms = transforms 75 | self.labels_dict = labels_dict 76 | self.image_names = [file for file in sorted(os.listdir(os.path.join(dataset_dir))) if file.endswith('.jpg') or file.endswith('.JPG')] 77 | 78 | def __getitem__(self, index): 79 | 80 | image_path = os.path.join(self.dataset_dir, self.image_names[index]) 81 | image = cv2.imread(image_path) 82 | # Convert BGR to RGB 83 | image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) 84 | 85 | box_array, classes = parse_one_annot(self.csv_file, self.image_names[index], self.labels_dict) 86 | boxes = torch.as_tensor(box_array, dtype = torch.float32) 87 | 88 | labels = torch.tensor(classes, dtype=torch.int64) 89 | 90 | image_id = torch.tensor([index]) 91 | area = (boxes[:, 3] - boxes[:, 1]) * (boxes[:, 2] - boxes[:, 0]) 92 | 93 | iscrowd = torch.tensor(classes, dtype=torch.int64) 94 | target = {} 95 | target["boxes"] = boxes 96 | target["labels"] = labels 97 | target["image_id"] = image_id 98 | target["area"] = area 99 | target["iscrowd"] = iscrowd 100 | 101 | if self.transforms is not None: 102 | image, target = self.transforms(image, target) 103 | 104 | return image, target 105 | 106 | def __len__(self): 107 | 108 | return len(self.image_names) 109 | 110 | 111 | def get_model(num_classes): 112 | 113 | # Load an pre-trained object detectin model (in this case faster-rcnn) 114 | model = torchvision.models.detection.fasterrcnn_resnet50_fpn(pretrained = True) 115 | 116 | # Number of input features 117 | in_features = model.roi_heads.box_predictor.cls_score.in_features 118 | 119 | # Replace the pre-trained head with a new head 120 | model.roi_heads.box_predictor = FastRCNNPredictor(in_features, num_classes) 121 | 122 | return model 123 | 124 | 125 | def get_transforms(train): 126 | 127 | transforms = [] 128 | 129 | # Convert numpy image to PyTorch Tensor 130 | transforms.append(T.ToTensor()) 131 | 132 | if train: 133 | # Data augmentation 134 | transforms.append(T.RandomHorizontalFlip(0.5)) 135 | 136 | return T.Compose(transforms) 137 | 138 | 139 | if __name__ == '__main__': 140 | 141 | # Setting up the device 142 | device = torch.device("cuda") if torch.cuda.is_available() else torch.device("cpu") 143 | 144 | labels_dict = create_label_txt("cards_dataset/train_labels.csv") 145 | 146 | # Define train and test dataset 147 | dataset = CardsDataset(dataset_dir = "cards_dataset/train/", csv_file = "cards_dataset/train_labels.csv", 148 | labels_dict = labels_dict, transforms = get_transforms(train = True)) 149 | 150 | dataset_test = CardsDataset(dataset_dir = "cards_dataset/train/", csv_file = "cards_dataset/train_labels.csv", 151 | labels_dict = labels_dict, transforms = get_transforms(train = False)) 152 | 153 | # Split the dataset into train and test 154 | torch.manual_seed(1) 155 | indices = torch.randperm(len(dataset)).tolist() 156 | dataset = torch.utils.data.Subset(dataset, indices[:-test_set_length]) 157 | dataset_test = torch.utils.data.Subset(dataset_test, indices[-test_set_length:]) 158 | 159 | # Define train and test dataloaders 160 | data_loader = torch.utils.data.DataLoader(dataset, batch_size = train_batch_size, shuffle = True, 161 | num_workers = 4, collate_fn = utils.collate_fn) 162 | 163 | data_loader_test = torch.utils.data.DataLoader(dataset_test, batch_size = test_batch_size, shuffle = False, 164 | num_workers = 4, collate_fn = utils.collate_fn) 165 | 166 | print(f"We have: {len(indices)} images in the dataset, {len(dataset)} are training images and {len(dataset_test)} are test images") 167 | 168 | 169 | # Get the model using helper function 170 | model = get_model(num_classes) 171 | model.to(device = device) 172 | 173 | # Construct the optimizer 174 | params = [p for p in model.parameters() if p.requires_grad] 175 | optimizer = torch.optim.SGD(params, lr = learning_rate, momentum = 0.9, weight_decay = 0.0005) 176 | 177 | # Learning rate scheduler decreases the learning rate by 10x every 3 epochs 178 | lr_scheduler = torch.optim.lr_scheduler.StepLR(optimizer, step_size = 3, gamma = 0.1) 179 | 180 | for epoch in range(num_epochs): 181 | 182 | train_one_epoch(model, optimizer, data_loader, device, epoch, print_freq = 10) 183 | lr_scheduler.step() 184 | # Evaluate on the test dataset 185 | evaluate(model, data_loader_test, device = device) 186 | 187 | if not os.path.exists(output_dir): 188 | os.mkdir(output_dir) 189 | 190 | # Save the model state 191 | torch.save(model.state_dict(), output_dir + "/model") 192 | -------------------------------------------------------------------------------- /transforms.py: -------------------------------------------------------------------------------- 1 | import random 2 | import torch 3 | 4 | from torchvision.transforms import functional as F 5 | 6 | 7 | def _flip_coco_person_keypoints(kps, width): 8 | flip_inds = [0, 2, 1, 4, 3, 6, 5, 8, 7, 10, 9, 12, 11, 14, 13, 16, 15] 9 | flipped_data = kps[:, flip_inds] 10 | flipped_data[..., 0] = width - flipped_data[..., 0] 11 | # Maintain COCO convention that if visibility == 0, then x, y = 0 12 | inds = flipped_data[..., 2] == 0 13 | flipped_data[inds] = 0 14 | return flipped_data 15 | 16 | 17 | class Compose(object): 18 | def __init__(self, transforms): 19 | self.transforms = transforms 20 | 21 | def __call__(self, image, target): 22 | for t in self.transforms: 23 | image, target = t(image, target) 24 | return image, target 25 | 26 | 27 | class RandomHorizontalFlip(object): 28 | def __init__(self, prob): 29 | self.prob = prob 30 | 31 | def __call__(self, image, target): 32 | if random.random() < self.prob: 33 | height, width = image.shape[-2:] 34 | image = image.flip(-1) 35 | bbox = target["boxes"] 36 | bbox[:, [0, 2]] = width - bbox[:, [2, 0]] 37 | target["boxes"] = bbox 38 | if "masks" in target: 39 | target["masks"] = target["masks"].flip(-1) 40 | if "keypoints" in target: 41 | keypoints = target["keypoints"] 42 | keypoints = _flip_coco_person_keypoints(keypoints, width) 43 | target["keypoints"] = keypoints 44 | return image, target 45 | 46 | 47 | class ToTensor(object): 48 | def __call__(self, image, target): 49 | image = F.to_tensor(image) 50 | return image, target 51 | -------------------------------------------------------------------------------- /utils.py: -------------------------------------------------------------------------------- 1 | from __future__ import print_function 2 | 3 | from collections import defaultdict, deque 4 | import datetime 5 | import pickle 6 | import time 7 | 8 | import torch 9 | import torch.distributed as dist 10 | 11 | import errno 12 | import os 13 | 14 | 15 | class SmoothedValue(object): 16 | """Track a series of values and provide access to smoothed values over a 17 | window or the global series average. 18 | """ 19 | 20 | def __init__(self, window_size=20, fmt=None): 21 | if fmt is None: 22 | fmt = "{median:.4f} ({global_avg:.4f})" 23 | self.deque = deque(maxlen=window_size) 24 | self.total = 0.0 25 | self.count = 0 26 | self.fmt = fmt 27 | 28 | def update(self, value, n=1): 29 | self.deque.append(value) 30 | self.count += n 31 | self.total += value * n 32 | 33 | def synchronize_between_processes(self): 34 | """ 35 | Warning: does not synchronize the deque! 36 | """ 37 | if not is_dist_avail_and_initialized(): 38 | return 39 | t = torch.tensor([self.count, self.total], dtype=torch.float64, device='cuda') 40 | dist.barrier() 41 | dist.all_reduce(t) 42 | t = t.tolist() 43 | self.count = int(t[0]) 44 | self.total = t[1] 45 | 46 | @property 47 | def median(self): 48 | d = torch.tensor(list(self.deque)) 49 | return d.median().item() 50 | 51 | @property 52 | def avg(self): 53 | d = torch.tensor(list(self.deque), dtype=torch.float32) 54 | return d.mean().item() 55 | 56 | @property 57 | def global_avg(self): 58 | return self.total / self.count 59 | 60 | @property 61 | def max(self): 62 | return max(self.deque) 63 | 64 | @property 65 | def value(self): 66 | return self.deque[-1] 67 | 68 | def __str__(self): 69 | return self.fmt.format( 70 | median=self.median, 71 | avg=self.avg, 72 | global_avg=self.global_avg, 73 | max=self.max, 74 | value=self.value) 75 | 76 | 77 | def all_gather(data): 78 | """ 79 | Run all_gather on arbitrary picklable data (not necessarily tensors) 80 | Args: 81 | data: any picklable object 82 | Returns: 83 | list[data]: list of data gathered from each rank 84 | """ 85 | world_size = get_world_size() 86 | if world_size == 1: 87 | return [data] 88 | 89 | # serialized to a Tensor 90 | buffer = pickle.dumps(data) 91 | storage = torch.ByteStorage.from_buffer(buffer) 92 | tensor = torch.ByteTensor(storage).to("cuda") 93 | 94 | # obtain Tensor size of each rank 95 | local_size = torch.tensor([tensor.numel()], device="cuda") 96 | size_list = [torch.tensor([0], device="cuda") for _ in range(world_size)] 97 | dist.all_gather(size_list, local_size) 98 | size_list = [int(size.item()) for size in size_list] 99 | max_size = max(size_list) 100 | 101 | # receiving Tensor from all ranks 102 | # we pad the tensor because torch all_gather does not support 103 | # gathering tensors of different shapes 104 | tensor_list = [] 105 | for _ in size_list: 106 | tensor_list.append(torch.empty((max_size,), dtype=torch.uint8, device="cuda")) 107 | if local_size != max_size: 108 | padding = torch.empty(size=(max_size - local_size,), dtype=torch.uint8, device="cuda") 109 | tensor = torch.cat((tensor, padding), dim=0) 110 | dist.all_gather(tensor_list, tensor) 111 | 112 | data_list = [] 113 | for size, tensor in zip(size_list, tensor_list): 114 | buffer = tensor.cpu().numpy().tobytes()[:size] 115 | data_list.append(pickle.loads(buffer)) 116 | 117 | return data_list 118 | 119 | 120 | def reduce_dict(input_dict, average=True): 121 | """ 122 | Args: 123 | input_dict (dict): all the values will be reduced 124 | average (bool): whether to do average or sum 125 | Reduce the values in the dictionary from all processes so that all processes 126 | have the averaged results. Returns a dict with the same fields as 127 | input_dict, after reduction. 128 | """ 129 | world_size = get_world_size() 130 | if world_size < 2: 131 | return input_dict 132 | with torch.no_grad(): 133 | names = [] 134 | values = [] 135 | # sort the keys so that they are consistent across processes 136 | for k in sorted(input_dict.keys()): 137 | names.append(k) 138 | values.append(input_dict[k]) 139 | values = torch.stack(values, dim=0) 140 | dist.all_reduce(values) 141 | if average: 142 | values /= world_size 143 | reduced_dict = {k: v for k, v in zip(names, values)} 144 | return reduced_dict 145 | 146 | 147 | class MetricLogger(object): 148 | def __init__(self, delimiter="\t"): 149 | self.meters = defaultdict(SmoothedValue) 150 | self.delimiter = delimiter 151 | 152 | def update(self, **kwargs): 153 | for k, v in kwargs.items(): 154 | if isinstance(v, torch.Tensor): 155 | v = v.item() 156 | assert isinstance(v, (float, int)) 157 | self.meters[k].update(v) 158 | 159 | def __getattr__(self, attr): 160 | if attr in self.meters: 161 | return self.meters[attr] 162 | if attr in self.__dict__: 163 | return self.__dict__[attr] 164 | raise AttributeError("'{}' object has no attribute '{}'".format( 165 | type(self).__name__, attr)) 166 | 167 | def __str__(self): 168 | loss_str = [] 169 | for name, meter in self.meters.items(): 170 | loss_str.append( 171 | "{}: {}".format(name, str(meter)) 172 | ) 173 | return self.delimiter.join(loss_str) 174 | 175 | def synchronize_between_processes(self): 176 | for meter in self.meters.values(): 177 | meter.synchronize_between_processes() 178 | 179 | def add_meter(self, name, meter): 180 | self.meters[name] = meter 181 | 182 | def log_every(self, iterable, print_freq, header=None): 183 | i = 0 184 | if not header: 185 | header = '' 186 | start_time = time.time() 187 | end = time.time() 188 | iter_time = SmoothedValue(fmt='{avg:.4f}') 189 | data_time = SmoothedValue(fmt='{avg:.4f}') 190 | space_fmt = ':' + str(len(str(len(iterable)))) + 'd' 191 | log_msg = self.delimiter.join([ 192 | header, 193 | '[{0' + space_fmt + '}/{1}]', 194 | 'eta: {eta}', 195 | '{meters}', 196 | 'time: {time}', 197 | 'data: {data}', 198 | 'max mem: {memory:.0f}' 199 | ]) 200 | MB = 1024.0 * 1024.0 201 | for obj in iterable: 202 | data_time.update(time.time() - end) 203 | yield obj 204 | iter_time.update(time.time() - end) 205 | if i % print_freq == 0 or i == len(iterable) - 1: 206 | eta_seconds = iter_time.global_avg * (len(iterable) - i) 207 | eta_string = str(datetime.timedelta(seconds=int(eta_seconds))) 208 | print(log_msg.format( 209 | i, len(iterable), eta=eta_string, 210 | meters=str(self), 211 | time=str(iter_time), data=str(data_time), 212 | memory=torch.cuda.max_memory_allocated() / MB)) 213 | i += 1 214 | end = time.time() 215 | total_time = time.time() - start_time 216 | total_time_str = str(datetime.timedelta(seconds=int(total_time))) 217 | print('{} Total time: {} ({:.4f} s / it)'.format( 218 | header, total_time_str, total_time / len(iterable))) 219 | 220 | 221 | def collate_fn(batch): 222 | return tuple(zip(*batch)) 223 | 224 | 225 | def warmup_lr_scheduler(optimizer, warmup_iters, warmup_factor): 226 | 227 | def f(x): 228 | if x >= warmup_iters: 229 | return 1 230 | alpha = float(x) / warmup_iters 231 | return warmup_factor * (1 - alpha) + alpha 232 | 233 | return torch.optim.lr_scheduler.LambdaLR(optimizer, f) 234 | 235 | 236 | def mkdir(path): 237 | try: 238 | os.makedirs(path) 239 | except OSError as e: 240 | if e.errno != errno.EEXIST: 241 | raise 242 | 243 | 244 | def setup_for_distributed(is_master): 245 | """ 246 | This function disables printing when not in master process 247 | """ 248 | import builtins as __builtin__ 249 | builtin_print = __builtin__.print 250 | 251 | def print(*args, **kwargs): 252 | force = kwargs.pop('force', False) 253 | if is_master or force: 254 | builtin_print(*args, **kwargs) 255 | 256 | __builtin__.print = print 257 | 258 | 259 | def is_dist_avail_and_initialized(): 260 | if not dist.is_available(): 261 | return False 262 | if not dist.is_initialized(): 263 | return False 264 | return True 265 | 266 | 267 | def get_world_size(): 268 | if not is_dist_avail_and_initialized(): 269 | return 1 270 | return dist.get_world_size() 271 | 272 | 273 | def get_rank(): 274 | if not is_dist_avail_and_initialized(): 275 | return 0 276 | return dist.get_rank() 277 | 278 | 279 | def is_main_process(): 280 | return get_rank() == 0 281 | 282 | 283 | def save_on_master(*args, **kwargs): 284 | if is_main_process(): 285 | torch.save(*args, **kwargs) 286 | 287 | 288 | def init_distributed_mode(args): 289 | if 'RANK' in os.environ and 'WORLD_SIZE' in os.environ: 290 | args.rank = int(os.environ["RANK"]) 291 | args.world_size = int(os.environ['WORLD_SIZE']) 292 | args.gpu = int(os.environ['LOCAL_RANK']) 293 | elif 'SLURM_PROCID' in os.environ: 294 | args.rank = int(os.environ['SLURM_PROCID']) 295 | args.gpu = args.rank % torch.cuda.device_count() 296 | else: 297 | print('Not using distributed mode') 298 | args.distributed = False 299 | return 300 | 301 | args.distributed = True 302 | 303 | torch.cuda.set_device(args.gpu) 304 | args.dist_backend = 'nccl' 305 | print('| distributed init (rank {}): {}'.format( 306 | args.rank, args.dist_url), flush=True) 307 | torch.distributed.init_process_group(backend=args.dist_backend, init_method=args.dist_url, 308 | world_size=args.world_size, rank=args.rank) 309 | torch.distributed.barrier() 310 | setup_for_distributed(args.rank == 0) 311 | --------------------------------------------------------------------------------