In [1]:
from tqdm import tqdm
import pandas as pd


/home/titan/env/plate/lib/python3.6/importlib/_bootstrap.py:219: RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility. Expected 96, got 88
  return f(*args, **kwds)

In [2]:
from app.models import Label,Image

In [3]:
Label.objects.all()


Out[3]:
<QuerySet [<Label: LID0106660>, <Label: LID0106661>, <Label: LID0106662>, <Label: LID0106663>, <Label: LID0106664>, <Label: LID0106665>, <Label: LID0106666>, <Label: LID0106667>, <Label: LID0106668>, <Label: LID0106669>, <Label: LID0106670>, <Label: LID0106671>, <Label: LID0106672>, <Label: LID0106673>, <Label: LID0106674>, <Label: LID0106675>, <Label: LID0106676>, <Label: LID0106677>, <Label: LID0106678>, <Label: LID0106679>, '...(remaining elements truncated)...']>

In [4]:
data=pd.read_csv("out.csv")

In [5]:
data


Out[5]:
Unnamed: 0 cls h path w x y
0 0 กระบะ 806.638000 dca7efc8-afd5-410a-8bf4-a0f42d3e2073.png 1130.761230 566.879028 151.358978
1 1 รถราง 528.294495 4921b2c5-dea8-4dd2-b72b-7d8f5394030c.png 671.113525 206.831238 34.127380
2 2 กระบะ 878.787109 3ec5a0c5-cfe5-4ab9-a989-cd9d341d3513.png 955.596863 723.057037 -66.184723
3 3 ป้ายทะเบียน 91.521790 3ec5a0c5-cfe5-4ab9-a989-cd9d341d3513.png 120.156944 944.127216 603.249786
4 4 บรรทุก 935.142822 3ec5a0c5-cfe5-4ab9-a989-cd9d341d3513.png 954.868103 774.330841 -69.271942
5 5 รถราง 1093.994629 85949b5c-7087-41eb-b07b-18ca0f30ba91.png 1643.469238 116.325500 -31.858887
6 6 ตู้ 507.779785 17f8737c-fe30-4346-8713-087e47d063cf.png 516.319641 1239.601654 145.801147
7 7 กระบะ 271.373016 17f8737c-fe30-4346-8713-087e47d063cf.png 444.721985 824.654022 263.010147
8 8 ป้ายทะเบียน 56.624271 17f8737c-fe30-4346-8713-087e47d063cf.png 98.914902 1355.027046 440.860258
9 9 ป้ายทะเบียน 37.460938 17f8737c-fe30-4346-8713-087e47d063cf.png 60.310814 911.929676 439.317017
10 10 มอเตอร์ไซต์ 227.906815 17f8737c-fe30-4346-8713-087e47d063cf.png 182.451447 697.814804 399.786888
11 11 ป้ายทะเบียน 49.020844 17f8737c-fe30-4346-8713-087e47d063cf.png 54.492912 811.923100 485.740128
12 12 เก๋ง 788.325073 e135840b-4c4a-414e-b966-321530c191f8.png 1535.960693 -19.866272 280.876038
13 13 เก๋ง 239.336182 9c980edd-6ac3-4404-a7de-26f2a9aa8cca.png 333.975922 1421.053177 334.635468
14 14 ป้ายทะเบียน 42.351765 9c980edd-6ac3-4404-a7de-26f2a9aa8cca.png 68.241234 1500.169178 439.170553
15 15 กระบะ 406.738708 d46d3f31-c2a3-4334-8fd5-6f6cba8300f2.png 494.864960 1250.189957 251.229950
16 16 กระบะ 282.398956 d46d3f31-c2a3-4334-8fd5-6f6cba8300f2.png 488.829987 823.798874 260.420303
17 17 ป้ายทะเบียน 67.836479 d46d3f31-c2a3-4334-8fd5-6f6cba8300f2.png 100.198784 1310.189182 506.537327
18 18 มอเตอร์ไซต์ 233.706589 d46d3f31-c2a3-4334-8fd5-6f6cba8300f2.png 181.827850 687.482986 389.273323
19 19 ป้ายทะเบียน 53.426842 d46d3f31-c2a3-4334-8fd5-6f6cba8300f2.png 55.708179 810.491735 480.003040
20 20 ป้ายทะเบียน 36.425232 d46d3f31-c2a3-4334-8fd5-6f6cba8300f2.png 59.776680 906.934475 444.664520
21 21 เอสยูวี 448.518494 f529a9c7-2bfa-404a-8037-2d724320c61e.png 492.684509 1241.386749 170.028687
22 22 ป้ายทะเบียน 44.650349 f529a9c7-2bfa-404a-8037-2d724320c61e.png 87.778175 1382.712231 357.585165
23 23 รถราง 1118.819336 07723ec3-0627-488d-8d7f-ff504a291af9.png 1651.418213 -71.061829 -19.446289
24 24 เก๋ง 165.528290 07723ec3-0627-488d-8d7f-ff504a291af9.png 144.218933 1505.144196 336.700607
25 25 เก๋ง 881.125000 5f5f1088-f242-4f95-8232-273a10e13019.png 1493.973267 295.103577 198.459656
26 26 ป้ายทะเบียน 141.755173 5f5f1088-f242-4f95-8232-273a10e13019.png 189.703903 1410.287697 895.786049
27 27 เอสยูวี 1041.037476 c2487e65-f36f-45ff-806b-4aabb32bd1bc.png 1440.313843 -35.100952 95.602112
28 28 เก๋ง 138.286041 c2487e65-f36f-45ff-806b-4aabb32bd1bc.png 165.120438 1410.440514 313.576706
29 29 ตู้ 1055.916992 c2487e65-f36f-45ff-806b-4aabb32bd1bc.png 1527.159790 49.139893 41.096924
... ... ... ... ... ... ... ...
36345 36345 เก๋ง 599.005676 4d8fdc96-663e-4bf5-a421-1edd3ae061a9.png 831.781738 681.517212 304.672760
36346 36346 ป้ายทะเบียน 87.635773 4d8fdc96-663e-4bf5-a421-1edd3ae061a9.png 122.834030 797.136208 539.629257
36347 36347 เก๋ง 459.085236 897ef534-7365-4f9d-8f5d-f0afea47cdda.png 669.423950 1062.135803 280.604843
36348 36348 ป้ายทะเบียน 66.056061 897ef534-7365-4f9d-8f5d-f0afea47cdda.png 109.417374 1219.867851 483.485336
36349 36349 จักรยาน 247.150436 897ef534-7365-4f9d-8f5d-f0afea47cdda.png 209.604889 284.104660 478.066078
36350 36350 กระบะ 384.608734 1a959273-dee7-4f34-996d-5bb6e51b1150.png 414.271667 1360.357208 150.956589
36351 36351 ป้ายทะเบียน 57.290752 1a959273-dee7-4f34-996d-5bb6e51b1150.png 94.453491 1461.819519 413.184732
36352 36352 คน 324.213074 1a959273-dee7-4f34-996d-5bb6e51b1150.png 175.765900 397.484055 280.793579
36353 36353 รถราง 304.342377 9d1408b6-56db-482b-99ae-addbfa4c9cec.png 199.829773 281.733887 88.462128
36354 36354 รถราง 1107.565918 8be825c7-0c78-47c7-b102-dccf60da37eb.png 1693.668945 88.155823 -38.128845
36355 36355 เก๋ง 144.084198 8be825c7-0c78-47c7-b102-dccf60da37eb.png 132.176117 1675.333450 334.174423
36356 36356 กระบะ 313.000854 c9e2b625-6476-4111-b9db-26e990937735.png 296.282806 1487.066238 162.345520
36357 36357 เก๋ง 702.586304 3a6ddcff-ad4c-4256-9c22-3a048ee09cc6.png 1124.426147 523.628723 281.333252
36358 36358 ป้ายทะเบียน 112.626205 3a6ddcff-ad4c-4256-9c22-3a048ee09cc6.png 144.315872 691.662987 572.946358
36359 36359 เก๋ง 435.777802 3c92eab2-0d01-4a11-b051-cc27248b0910.png 610.376892 1116.550812 209.346725
36360 36360 ป้ายทะเบียน 64.646652 3c92eab2-0d01-4a11-b051-cc27248b0910.png 111.558899 1248.294037 418.090401
36361 36361 กระบะ 299.140045 bbe6bc74-b638-4f59-bada-7c17103d37c9.png 507.210785 827.180618 256.201431
36362 36362 เก๋ง 382.586548 bbe6bc74-b638-4f59-bada-7c17103d37c9.png 575.173462 1158.949158 315.703064
36363 36363 ป้ายทะเบียน 59.984577 bbe6bc74-b638-4f59-bada-7c17103d37c9.png 101.002785 1299.109081 478.584036
36364 36364 ป้ายทะเบียน 34.454010 bbe6bc74-b638-4f59-bada-7c17103d37c9.png 60.209820 901.984140 445.450241
36365 36365 มอเตอร์ไซต์ 183.993652 bbe6bc74-b638-4f59-bada-7c17103d37c9.png 121.452972 697.317520 439.818176
36366 36366 ป้ายทะเบียน 46.112190 bbe6bc74-b638-4f59-bada-7c17103d37c9.png 62.825638 758.314232 493.674435
36367 36367 มอเตอร์ไซต์ 564.362183 e371ac3b-2200-45ec-b598-1179217ad001.png 525.100891 1381.093842 531.451721
36368 36368 รถราง 641.862427 edb94b02-533b-48e5-a9b5-a018aed0aa25.png 562.180359 1191.108185 -27.726776
36369 36369 เก๋ง 855.774963 31ac2915-b460-4d4d-806d-6f354ca4e93d.png 1301.895508 333.946899 196.617157
36370 36370 ป้ายทะเบียน 143.634399 31ac2915-b460-4d4d-806d-6f354ca4e93d.png 231.214874 1311.208237 943.394226
36371 36371 เก๋ง 184.118088 af7a5e51-a0f6-458a-9cff-6f2614914139.png 314.182648 478.010178 198.590218
36372 36372 แท็กซี่ 188.893326 af7a5e51-a0f6-458a-9cff-6f2614914139.png 412.205383 452.428131 181.119011
36373 36373 แท็กซี่ 692.936523 86c62f53-3d65-446b-8e4e-3c06b3b50544.png 912.225769 974.246246 182.689514
36374 36374 ป้ายทะเบียน 97.995712 86c62f53-3d65-446b-8e4e-3c06b3b50544.png 145.635284 1155.742783 538.983345

36375 rows × 7 columns


In [6]:
data.head


Out[6]:
<bound method NDFrame.head of        Unnamed: 0          cls            h  \
0               0        กระบะ   806.638000   
1               1        รถราง   528.294495   
2               2        กระบะ   878.787109   
3               3  ป้ายทะเบียน    91.521790   
4               4       บรรทุก   935.142822   
5               5        รถราง  1093.994629   
6               6          ตู้   507.779785   
7               7        กระบะ   271.373016   
8               8  ป้ายทะเบียน    56.624271   
9               9  ป้ายทะเบียน    37.460938   
10             10  มอเตอร์ไซต์   227.906815   
11             11  ป้ายทะเบียน    49.020844   
12             12         เก๋ง   788.325073   
13             13         เก๋ง   239.336182   
14             14  ป้ายทะเบียน    42.351765   
15             15        กระบะ   406.738708   
16             16        กระบะ   282.398956   
17             17  ป้ายทะเบียน    67.836479   
18             18  มอเตอร์ไซต์   233.706589   
19             19  ป้ายทะเบียน    53.426842   
20             20  ป้ายทะเบียน    36.425232   
21             21      เอสยูวี   448.518494   
22             22  ป้ายทะเบียน    44.650349   
23             23        รถราง  1118.819336   
24             24         เก๋ง   165.528290   
25             25         เก๋ง   881.125000   
26             26  ป้ายทะเบียน   141.755173   
27             27      เอสยูวี  1041.037476   
28             28         เก๋ง   138.286041   
29             29          ตู้  1055.916992   
...           ...          ...          ...   
36345       36345         เก๋ง   599.005676   
36346       36346  ป้ายทะเบียน    87.635773   
36347       36347         เก๋ง   459.085236   
36348       36348  ป้ายทะเบียน    66.056061   
36349       36349      จักรยาน   247.150436   
36350       36350        กระบะ   384.608734   
36351       36351  ป้ายทะเบียน    57.290752   
36352       36352           คน   324.213074   
36353       36353        รถราง   304.342377   
36354       36354        รถราง  1107.565918   
36355       36355         เก๋ง   144.084198   
36356       36356        กระบะ   313.000854   
36357       36357         เก๋ง   702.586304   
36358       36358  ป้ายทะเบียน   112.626205   
36359       36359         เก๋ง   435.777802   
36360       36360  ป้ายทะเบียน    64.646652   
36361       36361        กระบะ   299.140045   
36362       36362         เก๋ง   382.586548   
36363       36363  ป้ายทะเบียน    59.984577   
36364       36364  ป้ายทะเบียน    34.454010   
36365       36365  มอเตอร์ไซต์   183.993652   
36366       36366  ป้ายทะเบียน    46.112190   
36367       36367  มอเตอร์ไซต์   564.362183   
36368       36368        รถราง   641.862427   
36369       36369         เก๋ง   855.774963   
36370       36370  ป้ายทะเบียน   143.634399   
36371       36371         เก๋ง   184.118088   
36372       36372      แท็กซี่   188.893326   
36373       36373      แท็กซี่   692.936523   
36374       36374  ป้ายทะเบียน    97.995712   

                                           path            w            x  \
0      dca7efc8-afd5-410a-8bf4-a0f42d3e2073.png  1130.761230   566.879028   
1      4921b2c5-dea8-4dd2-b72b-7d8f5394030c.png   671.113525   206.831238   
2      3ec5a0c5-cfe5-4ab9-a989-cd9d341d3513.png   955.596863   723.057037   
3      3ec5a0c5-cfe5-4ab9-a989-cd9d341d3513.png   120.156944   944.127216   
4      3ec5a0c5-cfe5-4ab9-a989-cd9d341d3513.png   954.868103   774.330841   
5      85949b5c-7087-41eb-b07b-18ca0f30ba91.png  1643.469238   116.325500   
6      17f8737c-fe30-4346-8713-087e47d063cf.png   516.319641  1239.601654   
7      17f8737c-fe30-4346-8713-087e47d063cf.png   444.721985   824.654022   
8      17f8737c-fe30-4346-8713-087e47d063cf.png    98.914902  1355.027046   
9      17f8737c-fe30-4346-8713-087e47d063cf.png    60.310814   911.929676   
10     17f8737c-fe30-4346-8713-087e47d063cf.png   182.451447   697.814804   
11     17f8737c-fe30-4346-8713-087e47d063cf.png    54.492912   811.923100   
12     e135840b-4c4a-414e-b966-321530c191f8.png  1535.960693   -19.866272   
13     9c980edd-6ac3-4404-a7de-26f2a9aa8cca.png   333.975922  1421.053177   
14     9c980edd-6ac3-4404-a7de-26f2a9aa8cca.png    68.241234  1500.169178   
15     d46d3f31-c2a3-4334-8fd5-6f6cba8300f2.png   494.864960  1250.189957   
16     d46d3f31-c2a3-4334-8fd5-6f6cba8300f2.png   488.829987   823.798874   
17     d46d3f31-c2a3-4334-8fd5-6f6cba8300f2.png   100.198784  1310.189182   
18     d46d3f31-c2a3-4334-8fd5-6f6cba8300f2.png   181.827850   687.482986   
19     d46d3f31-c2a3-4334-8fd5-6f6cba8300f2.png    55.708179   810.491735   
20     d46d3f31-c2a3-4334-8fd5-6f6cba8300f2.png    59.776680   906.934475   
21     f529a9c7-2bfa-404a-8037-2d724320c61e.png   492.684509  1241.386749   
22     f529a9c7-2bfa-404a-8037-2d724320c61e.png    87.778175  1382.712231   
23     07723ec3-0627-488d-8d7f-ff504a291af9.png  1651.418213   -71.061829   
24     07723ec3-0627-488d-8d7f-ff504a291af9.png   144.218933  1505.144196   
25     5f5f1088-f242-4f95-8232-273a10e13019.png  1493.973267   295.103577   
26     5f5f1088-f242-4f95-8232-273a10e13019.png   189.703903  1410.287697   
27     c2487e65-f36f-45ff-806b-4aabb32bd1bc.png  1440.313843   -35.100952   
28     c2487e65-f36f-45ff-806b-4aabb32bd1bc.png   165.120438  1410.440514   
29     c2487e65-f36f-45ff-806b-4aabb32bd1bc.png  1527.159790    49.139893   
...                                         ...          ...          ...   
36345  4d8fdc96-663e-4bf5-a421-1edd3ae061a9.png   831.781738   681.517212   
36346  4d8fdc96-663e-4bf5-a421-1edd3ae061a9.png   122.834030   797.136208   
36347  897ef534-7365-4f9d-8f5d-f0afea47cdda.png   669.423950  1062.135803   
36348  897ef534-7365-4f9d-8f5d-f0afea47cdda.png   109.417374  1219.867851   
36349  897ef534-7365-4f9d-8f5d-f0afea47cdda.png   209.604889   284.104660   
36350  1a959273-dee7-4f34-996d-5bb6e51b1150.png   414.271667  1360.357208   
36351  1a959273-dee7-4f34-996d-5bb6e51b1150.png    94.453491  1461.819519   
36352  1a959273-dee7-4f34-996d-5bb6e51b1150.png   175.765900   397.484055   
36353  9d1408b6-56db-482b-99ae-addbfa4c9cec.png   199.829773   281.733887   
36354  8be825c7-0c78-47c7-b102-dccf60da37eb.png  1693.668945    88.155823   
36355  8be825c7-0c78-47c7-b102-dccf60da37eb.png   132.176117  1675.333450   
36356  c9e2b625-6476-4111-b9db-26e990937735.png   296.282806  1487.066238   
36357  3a6ddcff-ad4c-4256-9c22-3a048ee09cc6.png  1124.426147   523.628723   
36358  3a6ddcff-ad4c-4256-9c22-3a048ee09cc6.png   144.315872   691.662987   
36359  3c92eab2-0d01-4a11-b051-cc27248b0910.png   610.376892  1116.550812   
36360  3c92eab2-0d01-4a11-b051-cc27248b0910.png   111.558899  1248.294037   
36361  bbe6bc74-b638-4f59-bada-7c17103d37c9.png   507.210785   827.180618   
36362  bbe6bc74-b638-4f59-bada-7c17103d37c9.png   575.173462  1158.949158   
36363  bbe6bc74-b638-4f59-bada-7c17103d37c9.png   101.002785  1299.109081   
36364  bbe6bc74-b638-4f59-bada-7c17103d37c9.png    60.209820   901.984140   
36365  bbe6bc74-b638-4f59-bada-7c17103d37c9.png   121.452972   697.317520   
36366  bbe6bc74-b638-4f59-bada-7c17103d37c9.png    62.825638   758.314232   
36367  e371ac3b-2200-45ec-b598-1179217ad001.png   525.100891  1381.093842   
36368  edb94b02-533b-48e5-a9b5-a018aed0aa25.png   562.180359  1191.108185   
36369  31ac2915-b460-4d4d-806d-6f354ca4e93d.png  1301.895508   333.946899   
36370  31ac2915-b460-4d4d-806d-6f354ca4e93d.png   231.214874  1311.208237   
36371  af7a5e51-a0f6-458a-9cff-6f2614914139.png   314.182648   478.010178   
36372  af7a5e51-a0f6-458a-9cff-6f2614914139.png   412.205383   452.428131   
36373  86c62f53-3d65-446b-8e4e-3c06b3b50544.png   912.225769   974.246246   
36374  86c62f53-3d65-446b-8e4e-3c06b3b50544.png   145.635284  1155.742783   

                y  
0      151.358978  
1       34.127380  
2      -66.184723  
3      603.249786  
4      -69.271942  
5      -31.858887  
6      145.801147  
7      263.010147  
8      440.860258  
9      439.317017  
10     399.786888  
11     485.740128  
12     280.876038  
13     334.635468  
14     439.170553  
15     251.229950  
16     260.420303  
17     506.537327  
18     389.273323  
19     480.003040  
20     444.664520  
21     170.028687  
22     357.585165  
23     -19.446289  
24     336.700607  
25     198.459656  
26     895.786049  
27      95.602112  
28     313.576706  
29      41.096924  
...           ...  
36345  304.672760  
36346  539.629257  
36347  280.604843  
36348  483.485336  
36349  478.066078  
36350  150.956589  
36351  413.184732  
36352  280.793579  
36353   88.462128  
36354  -38.128845  
36355  334.174423  
36356  162.345520  
36357  281.333252  
36358  572.946358  
36359  209.346725  
36360  418.090401  
36361  256.201431  
36362  315.703064  
36363  478.584036  
36364  445.450241  
36365  439.818176  
36366  493.674435  
36367  531.451721  
36368  -27.726776  
36369  196.617157  
36370  943.394226  
36371  198.590218  
36372  181.119011  
36373  182.689514  
36374  538.983345  

[36375 rows x 7 columns]>

In [7]:
for i in data:
# path = x['path'][1]
    print(i)


Unnamed: 0
cls
h
path
w
x
y

In [8]:
path = data['path'][1]

In [9]:
Image.objects.filter(src_path=path)


Out[9]:
<QuerySet [<Image: 4921b2c5-dea8-4dd2-b72b-7d8f5394030c.png>]>

In [13]:
with transaction.atomic():
    for i in tqdm(range(len(data)-1)):
#     for i in tqdm(range(100)):
        path = data['path'][i]
        cls = data['cls'][i]
        x = data['x'][i]
        y = data['y'][i]
        w = data['w'][i]
        h = data['h'][i]
    #     print(path,cls,x,y,w,h)
#         print(i)
        img = Image.objects.filter(src_path=path)[0]
        lable = Label.objects.update_or_create(
            image=img,
            x=x,
            y=y,
            width=w,
            height=h,
            brand=cls,
        )


100%|██████████| 36374/36374 [01:10<00:00, 516.37it/s]

In [14]:
len(data)


Out[14]:
36375

In [12]:
# x = Label.objects.all().delete()

In [15]:
from app.models import Batch

In [17]:
Batch.objects.all()


Out[17]:
<QuerySet [<Batch: BID000001>, <Batch: BID000002>, <Batch: BID000003>, <Batch: BID000004>, <Batch: BID000005>, <Batch: BID000006>, <Batch: BID000007>, <Batch: BID000008>, <Batch: BID000009>, <Batch: BID000010>, <Batch: BID000011>, <Batch: BID000012>, <Batch: BID000013>, <Batch: BID000014>, <Batch: BID000015>, <Batch: BID000016>, <Batch: BID000017>, <Batch: BID000018>, <Batch: BID000019>, <Batch: BID000020>, '...(remaining elements truncated)...']>

In [31]:
labelled = Batch.objects.filter(status=3)

In [32]:
len(labelled)


Out[32]:
2

In [33]:
rework = Batch.objects.update(status=1)

In [ ]: