rakib72642 commited on
Commit
16d8635
·
1 Parent(s): 06a62e3

updated marchent data

Browse files
AI_Model/marchent_v12.1.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d6f218f1b9de20c260c4784830f0c9aac878ab7ffa2b0c8340886f52d15dabaf
3
+ size 195268753
AI_Model/uddokta_v11.1.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b3ff3a12195c52341aff9fe5944e53ec1fa181c594a6d7174e4ad1e495e45fbf
3
+ size 195543441
Data/__init__.py ADDED
File without changes
Data/__pycache__/__init__.cpython-311.pyc ADDED
Binary file (173 Bytes). View file
 
Data/__pycache__/data.cpython-311.pyc ADDED
Binary file (5.28 kB). View file
 
Data/__pycache__/model.cpython-311.pyc ADDED
Binary file (382 Bytes). View file
 
Data/data.py ADDED
@@ -0,0 +1,377 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ NBRTU_val = [
3
+ "nagad_festoon_nagad_sheba",
4
+ "nagad_festoon_bmet",
5
+ "nagad_festoon_indian_visa",
6
+ "nagad_shop_banner_customized",
7
+ "nagad_shop_banner_nagad_sheba",
8
+ "nagad_sticker_running",
9
+ "nagad_sticker_shutter",
10
+ "nagad_sticker_table_3",
11
+ "nagad_sticker_table_2",
12
+ "nagad_sticker_table_1",
13
+ "nagad_sticker_customized_table",
14
+ "nagad_sticker_remittance_1_large",
15
+ "nagad_sticker_remittance_2",
16
+ "nagad_sticker_fraud_awareness",
17
+ "nagad_sticker_qr_code",
18
+ "nagad_sticker_hotline",
19
+ "nagad_sticker_hotline_file_folder",
20
+ "nagad_identifier_nagad",
21
+ "nagad_board_back_lit_1_with_picture",
22
+ "nagad_back_lit_2",
23
+ "nagad_table_top_qr_wooden_base_old",
24
+ "nagad_table_top_qr_wooden_base_new",
25
+ "nagad_table_top_qr_pvc",
26
+ "nagad_sticker_qr_horizontal_new",
27
+ "nagad_sticker_qr_horizontal_old",
28
+ "nagad_sticker_qr_vertical",
29
+ "nagad_sticker_push_pull_door",
30
+ "nagad_board_open_close_pvc",
31
+ "nagad_sticker_payment",
32
+ "nagad_sticker_payment_accepted_here",
33
+ "nagad_hanging_display",
34
+ "nagad_x_banner",
35
+ "nagad_ms_standee",
36
+ "nagad_sticker_shutter_panel", # new v5
37
+ "rocket_sticker_qr_code",
38
+ "rocket_sticker_shutter",
39
+ "rocket_sticker_running",
40
+ "rocket_sticker_table",
41
+ "rocket_sticker_table_price",
42
+ "rocket_table_top_qr_1_pvc",
43
+ "tap_table_top_qr",
44
+ "bkash_sticker_table",
45
+ "bkash_sticker_bill_pay_table",
46
+ "bkash_sticker_running",
47
+ "bkash_sticker_qr_code",
48
+ "bkash_sticker_transaction",
49
+ "bkash_sticker_price",
50
+ "bkash_sticker_mask_bangla",
51
+ "bkash_sticker_fraud_awareness",
52
+ "bkash_sticker_shutter",
53
+ "bkash_board_back_lit_1_with_image",
54
+ "bkash_table_top_qr_pvc_running",
55
+ "bkash_table_top_qr_pvc_dai_cut",
56
+ "bkash_table_top_qr_smart",
57
+ "bkash_sticker_qr_vertical_1",
58
+ "bkash_sticker_payment_running",
59
+ "bkash_sticker_payment_dai_cut",
60
+ "bkash_sticker_payment_large",
61
+ "bkash_sticker_push-pull_door",
62
+ "bkash_sticker_mask_english",
63
+ "bkash_hanger_push-pull_door",
64
+ "bkash_pos_pointer_back_led",
65
+ "bkash_hanging_board_open-close",
66
+ "upay_sticker_shutter",
67
+ "upay_sticker_qr_code_1",
68
+ "upay_sticker_qr_code_2",
69
+ ]
70
+
71
+
72
+
73
+ nagad_items = [
74
+ "nagad_festoon_indian_visa",
75
+ "nagad_festoon_islamic",
76
+ "nagad_festoon_lenden_1",
77
+ "nagad_festoon_lenden_2",
78
+ "nagad_festoon_price_1",
79
+ "nagad_festoon_price_2",
80
+ "nagad_festoon_price_3", # conflicted item
81
+ "nagad_festoon_remittance",
82
+ "nagad_hanging_display",
83
+ "nagad_ms_standee",
84
+ "nagad_poster_fraud_awareness_1",
85
+ "nagad_poster_fraud_awareness_2",
86
+ "nagad_poster_islamic",
87
+ "nagad_poster_mobile_recharge_shakib",
88
+ "nagad_poster_remittance_2",
89
+ "nagad_shop_banner_lenden",
90
+ "nagad_shop_banner_price_1",
91
+ "nagad_shop_banner_price_2",
92
+ "nagad_sticker_customized_table",
93
+ "nagad_sticker_fraud_awareness",
94
+ "nagad_sticker_hotline",
95
+ "nagad_sticker_hotline_file_folder",
96
+ "nagad_sticker_payment",
97
+ "nagad_sticker_payment_accepted_here",
98
+ "nagad_sticker_push_pull_door",
99
+ "nagad_sticker_qr_code",
100
+ "nagad_sticker_qr_horizontal_new",
101
+ "nagad_sticker_qr_horizontal_old",
102
+ "nagad_sticker_qr_vertical",
103
+ "nagad_sticker_remittance_1_large",
104
+ "nagad_sticker_remittance_2",
105
+ "nagad_sticker_running",
106
+ "nagad_sticker_shutter",
107
+ "nagad_sticker_table_1",
108
+ "nagad_sticker_table_2",
109
+ "nagad_sticker_table_3",
110
+ "nagad_table_top_qr_pvc",
111
+ "nagad_table_top_qr_wooden_base_new",
112
+ "nagad_table_top_qr_wooden_base_old",
113
+ "nagad_shop_banner_cash_out", # new v5
114
+ "nagad_festoon_send_money_free", # new v5
115
+ "nagad_poster_pdb", # new v5
116
+ "nagad_sticker_shutter_panel", # new v5
117
+ "nagad_poster_all_service", # new v5
118
+ "nagad_polli_biddut_poster_mushfiq", # new v7
119
+ "nagad_board_open_close_pvc", # new v8
120
+ ]
121
+
122
+ ndel_items = [
123
+ "nagad_festoon_bmet",
124
+ "nagad_identifier_nagad",
125
+ "nagad_poster_1000_cashback",
126
+ "nagad_poster_ananto_bmw",
127
+ "nagad_table_talker",
128
+ "nagad_sticker_payment_bangla",
129
+ "nagad_shop_banner_nagad_sheba",
130
+ "nagad_festoon_nagad_sheba",
131
+ "nagad_poster_mobile_recharge",
132
+ "nagad_back_lit_2",
133
+ "nagad_board_back_lit_1_with_picture",
134
+ "nagad_x_banner",
135
+ "bkash_table_top_qr_smart",
136
+ "nagad_shop_banner_customized", # new add v5
137
+ "rocket_shop_banner_price", # add new v6
138
+ "nagad_festoon_send_money", # new add v6
139
+ "bkash_shop_banner_price_mehajabin", # new v9 discard the material in v10
140
+ ]
141
+
142
+
143
+
144
+ bkash_items = [
145
+ "bkash_festoon_bill_pay",
146
+ "bkash_festoon_digital",
147
+ "bkash_festoon_price", # updated v4 added yellow also
148
+ "bkash_festoon_qr",
149
+ "bkash_festoon_remittance",
150
+ "bkash_festoon_savings",
151
+ "bkash_hanging_board_open-close",
152
+ "bkash_pos_pointer_back_led",
153
+ "bkash_poster_islamic",
154
+ "bkash_poster_mobile_recharge",
155
+ "bkash_poster_remittance",
156
+ "bkash_poster_savings",
157
+ "bkash_festoon_savings_new", # new v4
158
+ "bkash_poster_send_money",
159
+ "bkash_poster_table_messi",
160
+ "bkash_poster_western_union",
161
+ "bkash_shop_banner_price", # updated v4 added yellow also
162
+ "bkash_sticker_bill_pay_table",
163
+ "bkash_sticker_fraud_awareness",
164
+ "bkash_sticker_mask_bangla",
165
+ "bkash_sticker_mask_english",
166
+ "bkash_sticker_payment_dai_cut",
167
+ "bkash_sticker_payment_large",
168
+ "bkash_sticker_payment_running",
169
+ "bkash_sticker_price",
170
+ "bkash_sticker_push-pull_door",
171
+ "bkash_sticker_qr_code",
172
+ "bkash_sticker_qr_vertical_1",
173
+ "bkash_sticker_running",
174
+ "bkash_sticker_shutter",
175
+ "bkash_sticker_table",
176
+ "bkash_sticker_transaction",
177
+ "bkash_table_top_qr_pvc_dai_cut",
178
+ "bkash_table_top_qr_pvc_running",
179
+ "bkash_shop_banner_price_new", # new v8 and updated v10
180
+ "bkash_table_top_qr_pvc_taskin", # new v12 marchent
181
+ ]
182
+
183
+
184
+
185
+
186
+ rocket_items = [
187
+ "rocket_sticker_qr_code",
188
+ "rocket_festoon_bill_pay",
189
+ "rocket_festoon_lenden",
190
+ "rocket_festoon_price",
191
+ "rocket_festoon_send_money",
192
+ "rocket_poster_add_money",
193
+ "rocket_poster_insurance",
194
+ "rocket_shop_banner_bill_pay",
195
+ "rocket_shop_banner_lenden",
196
+ "rocket_shop_banner_send_money",
197
+ "rocket_sticker_running",
198
+ "rocket_sticker_shutter",
199
+ "rocket_sticker_table",
200
+ "rocket_sticker_table_price",
201
+ "rocket_table_top_qr_1_pvc",
202
+ "rocket_poster_isnsurance",
203
+ "rocket_fastoon_wasa_bill", # new v5
204
+ "rocket_fastoon_bill_pay_new", # new v5
205
+ "rocket_fastoon_pdb_bill", # new v5
206
+ "rocket_fastoon_lenden_new", # new v5
207
+ "rocket_fastoon_polli_biddut", # new v5
208
+ "rocket_fastoon_remittance", # new v5
209
+ ]
210
+
211
+
212
+
213
+ tap_items = [
214
+ "tap_table_top_qr"
215
+ ]
216
+
217
+
218
+
219
+ upay_items = [
220
+ "upay_festoon_price",
221
+ "upay_festoon_traffic_1",
222
+ "upay_festoon_traffic_2",
223
+ "upay_poster_lenden",
224
+ "upay_shop_banner",
225
+ "upay_sticker_qr_code_1",
226
+ "upay_sticker_qr_code_2",
227
+ "upay_sticker_shutter",
228
+ "upay_table_top_qr_pvc",
229
+ "upay_fastoon_dpdc", # new v5
230
+ "upay_fastoon_price_new", # new v5
231
+ "upay_fastoon_water_bill", # new v5
232
+ ]
233
+
234
+
235
+
236
+ uddoktaSKU = [
237
+ "nagad_festoon_bmet",
238
+ "nagad_festoon_indian_visa",
239
+ "nagad_festoon_islamic",
240
+ "nagad_festoon_lenden_1",
241
+ "nagad_festoon_lenden_2",
242
+ "nagad_festoon_nagad_sheba",
243
+ "nagad_festoon_price_1",
244
+ "nagad_festoon_price_2",
245
+ "nagad_festoon_price_3",
246
+ "nagad_festoon_remittance",
247
+ "nagad_festoon_send_money",
248
+ "nagad_festoon_send_money_free",
249
+ "nagad_sticker_customized_table",
250
+ "nagad_sticker_fraud_awareness",
251
+ "nagad_sticker_hotline",
252
+ "nagad_sticker_hotline_file_folder",
253
+ "nagad_sticker_qr_code",
254
+ "nagad_sticker_remittance_1_large",
255
+ "nagad_sticker_remittance_2",
256
+ "nagad_sticker_running",
257
+ "nagad_sticker_shutter",
258
+ "nagad_sticker_table_1",
259
+ "nagad_sticker_table_2",
260
+ "nagad_sticker_table_3",
261
+ "nagad_sticker_shutter_panel",
262
+ "nagad_poster_fraud_awareness_1",
263
+ "nagad_poster_fraud_awareness_2",
264
+ "nagad_poster_islamic",
265
+ "nagad_poster_mobile_recharge",
266
+ "nagad_poster_remittance_2",
267
+ "nagad_poster_mobile_recharge_shakib",
268
+ "nagad_poster_all_service",
269
+ "nagad_poster_pdb",
270
+ "nagad_polli_biddut_poster_mushfiq",
271
+ "nagad_shop_banner_customized",
272
+ "nagad_shop_banner_lenden",
273
+ "nagad_shop_banner_nagad_sheba",
274
+ "nagad_shop_banner_price_1",
275
+ "nagad_shop_banner_price_2",
276
+ "nagad_shop_banner_cash_out",
277
+ "nagad_back_lit_2",
278
+ "nagad_board_back_lit_1_with_picture",
279
+ "nagad_identifier_nagad",
280
+ "bkash_festoon_bill_pay",
281
+ "bkash_festoon_digital",
282
+ "bkash_festoon_price",
283
+ "bkash_festoon_qr",
284
+ "bkash_festoon_remittance",
285
+ "bkash_festoon_savings",
286
+ "bkash_festoon_savings_new",
287
+ "bkash_sticker_bill_pay_table",
288
+ "bkash_sticker_fraud_awareness",
289
+ "bkash_sticker_mask_bangla",
290
+ "bkash_sticker_price",
291
+ "bkash_sticker_qr_code",
292
+ "bkash_sticker_running",
293
+ "bkash_sticker_shutter",
294
+ "bkash_sticker_table",
295
+ "bkash_sticker_transaction",
296
+ "bkash_poster_islamic",
297
+ "bkash_poster_mobile_recharge",
298
+ "bkash_poster_remittance",
299
+ "bkash_poster_remittance_2",
300
+ "bkash_poster_savings",
301
+ "bkash_poster_send_money",
302
+ "bkash_poster_table_messi",
303
+ "bkash_poster_western_union",
304
+ "bkash_shop_banner_price",
305
+ "bkash_shop_banner_price_new",
306
+ "bkash_board_back_lit_1_with_image",
307
+ "rocket_festoon_bill_pay",
308
+ "rocket_fastoon_bill_pay_new",
309
+ "rocket_festoon_lenden",
310
+ "rocket_fastoon_lenden_new" ,
311
+ "rocket_festoon_price",
312
+ "rocket_festoon_send_money",
313
+ "rocket_fastoon_merchant_pay",
314
+ "rocket_fastoon_titas_gas_bill",
315
+ "rocket_fastoon_wasa_bill",
316
+ "rocket_fastoon_pdb_bill",
317
+ "rocket_fastoon_polli_biddut",
318
+ "rocket_fastoon_remittance",
319
+ "rocket_sticker_qr_code",
320
+ "rocket_sticker_running",
321
+ "rocket_sticker_shutter",
322
+ "rocket_sticker_table",
323
+ "rocket_sticker_table_price",
324
+ "rocket_poster_add_money",
325
+ "rocket_poster_isnsurance",
326
+ "rocket_shop_banner_bill_pay",
327
+ "rocket_shop_banner_bill_pay_2",
328
+ "rocket_shop_banner_lenden",
329
+ "rocket_shop_banner_lenden_2",
330
+ "rocket_shop_banner_price",
331
+ "rocket_shop_banner_send_money",
332
+ "rocket_shop_banner_send _money_2",
333
+ "rocket_shop_banner_polly_biddut_bill",
334
+ "rocket_shop_banner_remittance",
335
+ "upay_festoon_price",
336
+ "upay_fastoon_price_new",
337
+ "upay_festoon_traffic_1",
338
+ "upay_festoon_traffic_2",
339
+ "upay_fastoon_dpdc",
340
+ "upay_fastoon_water_bill",
341
+ "upay_sticker_qr_code_1",
342
+ "upay_sticker_shutter",
343
+ "upay_poster_lenden",
344
+ "upay_shop_banner",
345
+ ]
346
+
347
+ marchentSKU = [
348
+ "nagad_table_top_qr_wooden_base_old",
349
+ "nagad_table_top_qr_wooden_base_new",
350
+ "nagad_table_top_qr_pvc",
351
+ "nagad_sticker_qr_horizontal_new",
352
+ "nagad_sticker_qr_horizontal_old",
353
+ "nagad_sticker_qr_vertical",
354
+ "nagad_sticker_push_pull_door",
355
+ "nagad_board_open_close_pvc",
356
+ "nagad_sticker_payment",
357
+ "nagad_sticker_payment_accepted_here",
358
+ "nagad_hanging_display",
359
+ "nagad_x_banner",
360
+ "nagad_ms_standee",
361
+ "rocket_table_top_qr_1_pvc",
362
+ "tap_table_top_qr",
363
+ "bkash_table_top_qr_pvc_running",
364
+ "bkash_table_top_qr_pvc_dai_cut",
365
+ "bkash_table_top_qr_smart",
366
+ "bkash_sticker_qr_vertical_1",
367
+ "bkash_sticker_payment_running",
368
+ "bkash_sticker_payment_dai_cut",
369
+ "bkash_sticker_payment_large",
370
+ "bkash_sticker_push-pull_door",
371
+ "bkash_sticker_mask_english",
372
+ "bkash_hanger_push-pull_door",
373
+ "bkash_pos_pointer_back_led",
374
+ "bkash_hanging_board_open-close",
375
+ "upay_sticker_qr_code_2",
376
+ "bkash_table_top_qr_pvc_taskin",
377
+ ]
Data/model.py ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ from ultralytics import YOLO
2
+ uddoktaModel = YOLO('AI_Model/uddokta_v11.1.pt').cuda()
3
+ marchentModel = YOLO('AI_Model/marchent_v12.1.pt').cuda()
4
+
5
+ uddoktaModel.to(device=0)
6
+ marchentModel.to(device=0)
README.md ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # nagad_version_12_splitted_model
2
+ # Github: https://github.com/RH-NAYM/nagad_version_12.git
3
+ # HuggingFace : https://huggingface.co/rakib72642/nagad_version_12
4
+
5
+ # sudo apt install iproute2 && sudo apt install wget && sudo apt install unzip && apt install nvtop && sudo apt-get install git-lfs && apt-get update && apt-get install libgl1 && sudo apt update && sudo apt upgrade && curl -s https://ngrok-agent.s3.amazonaws.com/ngrok.asc | sudo tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null && echo "deb https://ngrok-agent.s3.amazonaws.com buster main" | sudo tee /etc/apt/sources.list.d/ngrok.list && sudo apt update && sudo apt install ngrok && ngrok config add-authtoken 2Qm8hS1zPhVXiLjEdlI4738tLzF_2QJwGJMK5oTbQD33QSVXS && sudo apt update && sudo apt upgrade && ngrok http --domain=hasb.nagadpulse.com 4444
6
+
7
+ # git clone https://huggingface.co/rakib72642/nagad_version_12 && cd nagad_version_12 && pip install -r requirements.txt && sudo apt update && sudo apt upgrade
8
+
9
+ # cd nagad_version_12 && python nagad_main_API.py
10
+
11
+ # hypercorn nagad_main_API:app --bind 127.0.0.1:4444 --workers 4
12
+
13
+
14
+ # **********************************************************************************
15
+
nagad_main_API.py ADDED
@@ -0,0 +1,87 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from fastapi import FastAPI
2
+ from pydantic import BaseModel
3
+ import asyncio
4
+ from typing import List, Union
5
+ from nagad_main_function import *
6
+ import uvicorn
7
+ import logging
8
+ from datetime import datetime
9
+ import pytz
10
+ import torch
11
+
12
+ logging.basicConfig(filename="NagadLog.log",
13
+ filemode='w')
14
+ logger = logging.getLogger("Nagad")
15
+ logger.setLevel(logging.DEBUG)
16
+ file_handler = logging.FileHandler("NagadLog.log")
17
+ logger.addHandler(file_handler)
18
+ total_done = 0
19
+ total_error = 0
20
+
21
+ app = FastAPI()
22
+
23
+ class Item(BaseModel):
24
+ url: str
25
+
26
+ def get_bd_time():
27
+ bd_timezone = pytz.timezone("Asia/Dhaka")
28
+ time_now = datetime.now(bd_timezone)
29
+ current_time = time_now.strftime("%I:%M:%S %p")
30
+ return current_time
31
+
32
+
33
+ async def process_item(item: Item):
34
+ try:
35
+ result = await mainDet(item.url)
36
+ result = json.loads(result)
37
+ return result
38
+ finally:
39
+ torch.cuda.empty_cache()
40
+ pass
41
+
42
+ async def process_items(items: Union[Item, List[Item]]):
43
+ print(type(items))
44
+ if type(items)==list:
45
+ coroutines = [process_item(item) for item in items]
46
+ results = await asyncio.gather(*coroutines)
47
+ print("multi : ",results)
48
+ else:
49
+ results = await process_item(items)
50
+ print("single : ", results)
51
+ return results
52
+
53
+ @app.get("/status")
54
+ async def status():
55
+ return "AI Server in running"
56
+
57
+ @app.post("/testing")
58
+ async def create_items(items: Union[Item, List[Item]]):
59
+ try:
60
+ # global total_done
61
+ # total_done +=1
62
+ results = await process_items(items)
63
+ print("Result Sent to User:", results)
64
+ print("###################################################################################################")
65
+ print(items)
66
+ print("Last Execution Time : ", get_bd_time())
67
+ # logger.info(f"Time:{get_bd_time()}, Execution Done and Total Successfull Execution : {total_done}")
68
+ return results
69
+ except Exception as e:
70
+ global total_error
71
+ total_error += 1
72
+ logger.info(f"Time:{get_bd_time()}, Execution Failed and Total Failed Execution : {total_error}, Payload:{items}")
73
+ logger.error(str(e))
74
+ return {"AI": f"Error: {str(e)}"}
75
+ finally:
76
+ global total_done
77
+ total_done +=1
78
+ logger.info(f"Time:{get_bd_time()}, Execution Done and Total Successfull Execution : {total_done}, Payload:{items}")
79
+ torch.cuda.empty_cache()
80
+ pass
81
+
82
+ if __name__ == "__main__":
83
+ try:
84
+ # del nbrtuModel
85
+ uvicorn.run(app, host="127.0.0.1", port=4444)
86
+ finally:
87
+ torch.cuda.empty_cache()
nagad_main_function.py ADDED
@@ -0,0 +1,146 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import json
2
+ import pandas as pd
3
+ from PIL import Image
4
+ from aiohttp import ClientSession
5
+ from io import BytesIO
6
+ import asyncio
7
+ from Data.data import *
8
+ from Data.model import uddoktaModel, marchentModel
9
+
10
+
11
+
12
+
13
+ # Nagad Split Function
14
+ async def process_nagad_item(nagad_item, nbrtuDict, nagad):
15
+ if nagad_item in nbrtuDict:
16
+ n = {nagad_item: nbrtuDict[nagad_item]}
17
+ nagad.update(n)
18
+
19
+
20
+ # Bkash Split Function
21
+ async def process_bkash_item(bkash_item, nbrtuDict, bkash):
22
+ if bkash_item in nbrtuDict:
23
+ b = {bkash_item: nbrtuDict[bkash_item]}
24
+ bkash.update(b)
25
+
26
+
27
+ # Rocket Split Function
28
+ async def process_rocket_item(rocket_item, nbrtuDict, rocket):
29
+ if rocket_item in nbrtuDict:
30
+ r = {rocket_item: nbrtuDict[rocket_item]}
31
+ rocket.update(r)
32
+
33
+
34
+ # Tap Split Function
35
+ async def process_tap_item(tap_item, nbrtuDict, tap):
36
+ if tap_item in nbrtuDict:
37
+ t = {tap_item: nbrtuDict[tap_item]}
38
+ tap.update(t)
39
+
40
+
41
+ # Upay Split Function
42
+ async def process_upay_item(upay_item, nbrtuDict, upay):
43
+ if upay_item in nbrtuDict:
44
+ u = {upay_item: nbrtuDict[upay_item]}
45
+ upay.update(u)
46
+
47
+
48
+ async def getImage(img_url, session):
49
+ async with session.get(img_url) as response:
50
+ img_data = await response.read()
51
+ return BytesIO(img_data)
52
+
53
+
54
+ async def detection(model,img_content,confidence):
55
+ img = Image.open(img_content)
56
+ # result = model(img)
57
+ result = model(source=img,device=0,conf=confidence)
58
+ detection = {}
59
+ data = json.loads(result[0].tojson())
60
+ if len(data) == 0:
61
+ res = {"AI": "No Detection"}
62
+ detection.update(res)
63
+ else:
64
+ df = pd.DataFrame(data)
65
+ name_counts = df['name'].value_counts().sort_index()
66
+
67
+ for name, count in name_counts.items():
68
+ res = {name: count}
69
+ detection.update(res)
70
+ return detection
71
+
72
+
73
+ async def combineAllResult(uddoktaData,marchentData):
74
+ all_result = {}
75
+ all_result.update(uddoktaData)
76
+ all_result.update(marchentData)
77
+ return all_result
78
+
79
+
80
+ async def prepareUddokta(uddoktaData):
81
+ all_uddokta = {}
82
+ for sku in uddoktaSKU:
83
+ if sku in uddoktaData:
84
+ all_uddokta.update({sku:uddoktaData[sku]})
85
+ return all_uddokta
86
+
87
+
88
+ async def prepareMarchent(marchentData):
89
+ all_marchent = {}
90
+ for sku in marchentSKU:
91
+ if sku in marchentData:
92
+ all_marchent.update({sku:marchentData[sku]})
93
+ return all_marchent
94
+
95
+
96
+ async def prepareResult(uddoktaData,marchentData):
97
+ uddokta = await prepareUddokta(uddoktaData)
98
+ marchent = await prepareMarchent(marchentData)
99
+ allResult = await combineAllResult(uddokta,marchent)
100
+ return allResult
101
+
102
+ async def mainDet(url):
103
+ async with ClientSession() as session:
104
+ image = await asyncio.create_task(getImage(url, session))
105
+ Tasks = [
106
+ asyncio.create_task(detection(uddoktaModel, image,0.7)),
107
+ asyncio.create_task(detection(marchentModel, image,0.8))
108
+ ]
109
+ uddokta,marchent = await asyncio.gather(*Tasks)
110
+ nbrtuDict = await prepareResult(uddokta,marchent)
111
+ for val_item in NBRTU_val:
112
+ if val_item in nbrtuDict:
113
+ nbrtu_validation_single = {val_item: "yes"}
114
+ nbrtuDict.update(nbrtu_validation_single)
115
+ # Remove Extra Items :
116
+ for nagad_remove_item in ndel_items:
117
+ if nagad_remove_item in nbrtuDict:
118
+ del nbrtuDict[nagad_remove_item]
119
+ nagad = {}
120
+ bkash = {}
121
+ rocket = {}
122
+ tap = {}
123
+ upay = {}
124
+ # Using asyncio.gather to await multiple process functions concurrently
125
+ process_nagad_tasks = [process_nagad_item(nagad_item, nbrtuDict, nagad) for nagad_item in nagad_items]
126
+ process_bkash_tasks = [process_bkash_item(bkash_item, nbrtuDict, bkash) for bkash_item in bkash_items]
127
+ process_rocket_tasks = [process_rocket_item(rocket_item, nbrtuDict, rocket) for rocket_item in rocket_items]
128
+ process_tap_tasks = [process_tap_item(tap_item, nbrtuDict, tap) for tap_item in tap_items]
129
+ process_upay_tasks = [process_upay_item(upay_item, nbrtuDict, upay) for upay_item in upay_items]
130
+
131
+
132
+ await asyncio.gather(*process_nagad_tasks, *process_bkash_tasks, *process_rocket_tasks, *process_tap_tasks, *process_upay_tasks)
133
+
134
+
135
+ nagad_detection = {
136
+ 'nagad': nagad,
137
+ 'bkash': bkash,
138
+ 'rocket': rocket,
139
+ 'tap': tap,
140
+ 'upay': upay
141
+ }
142
+
143
+ nagad_result = json.dumps(nagad_detection)
144
+
145
+
146
+ return nagad_result
requirements.txt ADDED
Binary file (134 Bytes). View file