66import requests
77import tarfile
88import shutil
9+ import concurrent .futures
910'''
1011{package_name}_{version}-{revision}_{architecture}.deb
1112lib-llm_1.0-m5stack1_arm64.deb
2021
2122def create_lib_deb (package_name , version , src_folder , revision = 'm5stack1' ):
2223 deb_file = f"{ package_name } _{ version } -{ revision } _arm64.deb"
23- deb_folder = os .path .join (os .path .dirname (os .path .abspath (__file__ )), 'debian' )
24+ deb_folder = os .path .join (os .path .dirname (os .path .abspath (__file__ )), 'debian-{}' . format ( package_name ) )
2425 if os .path .exists (deb_folder ):
2526 shutil .rmtree (deb_folder )
2627 os .makedirs (deb_folder , exist_ok = True )
@@ -131,10 +132,11 @@ def create_lib_deb(package_name, version, src_folder, revision = 'm5stack1'):
131132 subprocess .run (["dpkg-deb" , "-b" , deb_folder , deb_file ], check = True )
132133 print (f"Debian package created: { deb_file } " )
133134 shutil .rmtree (deb_folder )
135+ return package_name + " creat success!"
134136
135137def create_data_deb (package_name , version , src_folder , revision = 'm5stack1' ):
136138 deb_file = f"{ package_name } _{ version } -{ revision } _arm64.deb"
137- deb_folder = os .path .join (os .path .dirname (os .path .abspath (__file__ )), 'debian' )
139+ deb_folder = os .path .join (os .path .dirname (os .path .abspath (__file__ )), 'debian-{}' . format ( package_name ) )
138140 if os .path .exists (deb_folder ):
139141 shutil .rmtree (deb_folder )
140142 os .makedirs (deb_folder , exist_ok = True )
@@ -188,10 +190,11 @@ def create_data_deb(package_name, version, src_folder, revision = 'm5stack1'):
188190 subprocess .run (["dpkg-deb" , "-b" , deb_folder , deb_file ], check = True )
189191 print (f"Debian package created: { deb_file } " )
190192 shutil .rmtree (deb_folder )
193+ return package_name + " creat success!"
191194
192195def create_bin_deb (package_name , version , src_folder , revision = 'm5stack1' ):
193196 deb_file = f"{ package_name } _{ version } -{ revision } _arm64.deb"
194- deb_folder = os .path .join (os .path .dirname (os .path .abspath (__file__ )), 'debian' )
197+ deb_folder = os .path .join (os .path .dirname (os .path .abspath (__file__ )), 'debian-{}' . format ( package_name ) )
195198 # os.makedirs(deb_folder, exist_ok=True)
196199 if os .path .exists (deb_folder ):
197200 shutil .rmtree (deb_folder )
@@ -246,6 +249,7 @@ def create_bin_deb(package_name, version, src_folder, revision = 'm5stack1'):
246249 subprocess .run (["dpkg-deb" , "-b" , deb_folder , deb_file ], check = True )
247250 print (f"Debian package created: { deb_file } " )
248251 shutil .rmtree (deb_folder )
252+ return package_name + " creat success!"
249253
250254if __name__ == "__main__" :
251255
@@ -265,43 +269,95 @@ def create_bin_deb(package_name, version, src_folder, revision = 'm5stack1'):
265269 create_data = True
266270 if len (sys .argv ) > 1 :
267271 src_folder = sys .argv [1 ]
268- if (create_lib ):
269- create_lib_deb ('lib-llm' , version , src_folder , revision )
270- if (create_bin ):
271- create_bin_deb ('llm-sys' , version , src_folder , revision )
272- create_bin_deb ('llm-audio' , version , src_folder , revision )
273- create_bin_deb ('llm-kws' , version , src_folder , revision )
274- create_bin_deb ('llm-asr' , version , src_folder , revision )
275- create_bin_deb ('llm-llm' , version , src_folder , revision )
276- create_bin_deb ('llm-tts' , version , src_folder , revision )
277- create_bin_deb ('llm-melotts' , version , src_folder , revision )
278- create_bin_deb ('llm-camera' , version , src_folder , revision )
279- create_bin_deb ('llm-vlm' , version , src_folder , revision )
280- create_bin_deb ('llm-yolo' , version , src_folder , revision )
281- create_bin_deb ('llm-skel' , version , src_folder , revision )
282- create_bin_deb ('llm-depth-anything' , version , src_folder , revision )
283- # create_bin_deb('llm-tokenizer', version, src_folder, revision)
272+ cpu_count = os .cpu_count ()
273+ if cpu_count - 2 < 1 :
274+ cpu_count = 2
275+ else :
276+ cpu_count = cpu_count - 2
277+ # cpu_count = 10
278+ with concurrent .futures .ThreadPoolExecutor (max_workers = cpu_count ) as executor :
279+ futures = []
280+ if (create_lib ):
281+ futures .append (executor .submit (create_lib_deb , 'lib-llm' , version , src_folder , revision ))
282+ if (create_bin ):
283+ futures .append (executor .submit (create_bin_deb ,'llm-sys' , version , src_folder , revision ))
284+ futures .append (executor .submit (create_bin_deb ,'llm-audio' , version , src_folder , revision ))
285+ futures .append (executor .submit (create_bin_deb ,'llm-kws' , version , src_folder , revision ))
286+ futures .append (executor .submit (create_bin_deb ,'llm-asr' , version , src_folder , revision ))
287+ futures .append (executor .submit (create_bin_deb ,'llm-llm' , version , src_folder , revision ))
288+ futures .append (executor .submit (create_bin_deb ,'llm-tts' , version , src_folder , revision ))
289+ futures .append (executor .submit (create_bin_deb ,'llm-melotts' , version , src_folder , revision ))
290+ futures .append (executor .submit (create_bin_deb ,'llm-camera' , version , src_folder , revision ))
291+ futures .append (executor .submit (create_bin_deb ,'llm-vlm' , version , src_folder , revision ))
292+ futures .append (executor .submit (create_bin_deb ,'llm-yolo' , version , src_folder , revision ))
293+ futures .append (executor .submit (create_bin_deb ,'llm-skel' , version , src_folder , revision ))
294+ futures .append (executor .submit (create_bin_deb ,'llm-depth-anything' , version , src_folder , revision ))
295+ if (create_data ):
296+ futures .append (executor .submit (create_data_deb ,'llm-audio-en-us' , data_version , src_folder , revision ))
297+ futures .append (executor .submit (create_data_deb ,'llm-audio-zh-cn' , data_version , src_folder , revision ))
298+ futures .append (executor .submit (create_data_deb ,'llm-sherpa-ncnn-streaming-zipformer-20M-2023-02-17' , data_version , src_folder , revision ))
299+ futures .append (executor .submit (create_data_deb ,'llm-sherpa-ncnn-streaming-zipformer-zh-14M-2023-02-23' , data_version , src_folder , revision ))
300+ futures .append (executor .submit (create_data_deb ,'llm-sherpa-onnx-kws-zipformer-gigaspeech-3.3M-2024-01-01' , '0.3' , src_folder , revision ))
301+ futures .append (executor .submit (create_data_deb ,'llm-sherpa-onnx-kws-zipformer-wenetspeech-3.3M-2024-01-01' , '0.3' , src_folder , revision ))
302+ # futures.append(executor.submit(create_data_deb,'llm-qwen2-0.5B-prefill-20e', data_version, src_folder, revision))
303+ # futures.append(executor.submit(create_data_deb,'llm-qwen2-1.5B-prefill-20e', data_version, src_folder, revision))
304+ futures .append (executor .submit (create_data_deb ,'llm-qwen2.5-0.5B-prefill-20e' , data_version , src_folder , revision ))
305+ futures .append (executor .submit (create_data_deb ,'llm-qwen2.5-1.5B-ax630c' , '0.3' , src_folder , revision ))
306+ futures .append (executor .submit (create_data_deb ,'llm-single-speaker-english-fast' , data_version , src_folder , revision ))
307+ futures .append (executor .submit (create_data_deb ,'llm-single-speaker-fast' , data_version , src_folder , revision ))
308+ futures .append (executor .submit (create_data_deb ,'llm-melotts-zh-cn' , '0.3' , src_folder , revision ))
309+ futures .append (executor .submit (create_data_deb ,'llm-yolo11n' , data_version , src_folder , revision ))
310+ futures .append (executor .submit (create_data_deb ,'llm-yolo11n-pose' , '0.3' , src_folder , revision ))
311+ futures .append (executor .submit (create_data_deb ,'llm-yolo11n-hand-pose' , '0.3' , src_folder , revision ))
312+ futures .append (executor .submit (create_data_deb ,'llm-yolo11n-seg' , data_version , src_folder , revision ))
313+ futures .append (executor .submit (create_data_deb ,'llm-qwen2.5-coder-0.5B-ax630c' , data_version , src_folder , revision ))
314+ futures .append (executor .submit (create_data_deb ,'llm-llama3.2-1B-prefill-ax630c' , data_version , src_folder , revision ))
315+ futures .append (executor .submit (create_data_deb ,'llm-openbuddy-llama3.2-1B-ax630c' , data_version , src_folder , revision ))
316+ futures .append (executor .submit (create_data_deb ,'llm-internvl2.5-1B-ax630c' , '0.3' , src_folder , revision ))
317+ futures .append (executor .submit (create_data_deb ,'llm-depth-anything-ax630c' , '0.3' , src_folder , revision ))
318+ for future in concurrent .futures .as_completed (futures ):
319+ result = future .result ()
320+ print (result )
321+
322+
323+
324+ # if (create_lib):
325+ # create_lib_deb('lib-llm', version, src_folder, revision)
326+ # if (create_bin):
327+ # create_bin_deb('llm-sys', version, src_folder, revision)
328+ # create_bin_deb('llm-audio', version, src_folder, revision)
329+ # create_bin_deb('llm-kws', version, src_folder, revision)
330+ # create_bin_deb('llm-asr', version, src_folder, revision)
331+ # create_bin_deb('llm-llm', version, src_folder, revision)
332+ # create_bin_deb('llm-tts', version, src_folder, revision)
333+ # create_bin_deb('llm-melotts', version, src_folder, revision)
334+ # create_bin_deb('llm-camera', version, src_folder, revision)
335+ # create_bin_deb('llm-vlm', version, src_folder, revision)
336+ # create_bin_deb('llm-yolo', version, src_folder, revision)
337+ # create_bin_deb('llm-skel', version, src_folder, revision)
338+ # create_bin_deb('llm-depth-anything', version, src_folder, revision)
339+ # # create_bin_deb('llm-tokenizer', version, src_folder, revision)
284340
285- if (create_data ):
286- create_data_deb ('llm-audio-en-us' , data_version , src_folder , revision )
287- create_data_deb ('llm-audio-zh-cn' , data_version , src_folder , revision )
288- create_data_deb ('llm-sherpa-ncnn-streaming-zipformer-20M-2023-02-17' , data_version , src_folder , revision )
289- create_data_deb ('llm-sherpa-ncnn-streaming-zipformer-zh-14M-2023-02-23' , data_version , src_folder , revision )
290- create_data_deb ('llm-sherpa-onnx-kws-zipformer-gigaspeech-3.3M-2024-01-01' , '0.3' , src_folder , revision )
291- create_data_deb ('llm-sherpa-onnx-kws-zipformer-wenetspeech-3.3M-2024-01-01' , '0.3' , src_folder , revision )
292- # create_data_deb('llm-qwen2-0.5B-prefill-20e', data_version, src_folder, revision)
293- # create_data_deb('llm-qwen2-1.5B-prefill-20e', data_version, src_folder, revision)
294- create_data_deb ('llm-qwen2.5-0.5B-prefill-20e' , data_version , src_folder , revision )
295- create_data_deb ('llm-qwen2.5-1.5B-ax630c' , '0.3' , src_folder , revision )
296- create_data_deb ('llm-single-speaker-english-fast' , data_version , src_folder , revision )
297- create_data_deb ('llm-single-speaker-fast' , data_version , src_folder , revision )
298- create_data_deb ('llm-melotts-zh-cn' , '0.3' , src_folder , revision )
299- create_data_deb ('llm-yolo11n' , data_version , src_folder , revision )
300- create_data_deb ('llm-yolo11n-pose' , '0.3' , src_folder , revision )
301- create_data_deb ('llm-yolo11n-hand-pose' , '0.3' , src_folder , revision )
302- create_data_deb ('llm-yolo11n-seg' , data_version , src_folder , revision )
303- create_data_deb ('llm-qwen2.5-coder-0.5B-ax630c' , data_version , src_folder , revision )
304- create_data_deb ('llm-llama3.2-1B-prefill-ax630c' , data_version , src_folder , revision )
305- create_data_deb ('llm-openbuddy-llama3.2-1B-ax630c' , data_version , src_folder , revision )
306- create_data_deb ('llm-internvl2.5-1B-ax630c' , '0.3' , src_folder , revision )
307- create_data_deb ('llm-depth-anything-ax630c' , '0.3' , src_folder , revision )
341+ # if (create_data):
342+ # create_data_deb('llm-audio-en-us', data_version, src_folder, revision)
343+ # create_data_deb('llm-audio-zh-cn', data_version, src_folder, revision)
344+ # create_data_deb('llm-sherpa-ncnn-streaming-zipformer-20M-2023-02-17', data_version, src_folder, revision)
345+ # create_data_deb('llm-sherpa-ncnn-streaming-zipformer-zh-14M-2023-02-23', data_version, src_folder, revision)
346+ # create_data_deb('llm-sherpa-onnx-kws-zipformer-gigaspeech-3.3M-2024-01-01', '0.3', src_folder, revision)
347+ # create_data_deb('llm-sherpa-onnx-kws-zipformer-wenetspeech-3.3M-2024-01-01', '0.3', src_folder, revision)
348+ # # create_data_deb('llm-qwen2-0.5B-prefill-20e', data_version, src_folder, revision)
349+ # # create_data_deb('llm-qwen2-1.5B-prefill-20e', data_version, src_folder, revision)
350+ # create_data_deb('llm-qwen2.5-0.5B-prefill-20e', data_version, src_folder, revision)
351+ # create_data_deb('llm-qwen2.5-1.5B-ax630c', '0.3', src_folder, revision)
352+ # create_data_deb('llm-single-speaker-english-fast', data_version, src_folder, revision)
353+ # create_data_deb('llm-single-speaker-fast', data_version, src_folder, revision)
354+ # create_data_deb('llm-melotts-zh-cn', '0.3', src_folder, revision)
355+ # create_data_deb('llm-yolo11n', data_version, src_folder, revision)
356+ # create_data_deb('llm-yolo11n-pose', '0.3', src_folder, revision)
357+ # create_data_deb('llm-yolo11n-hand-pose', '0.3', src_folder, revision)
358+ # create_data_deb('llm-yolo11n-seg', data_version, src_folder, revision)
359+ # create_data_deb('llm-qwen2.5-coder-0.5B-ax630c', data_version, src_folder, revision)
360+ # create_data_deb('llm-llama3.2-1B-prefill-ax630c', data_version, src_folder, revision)
361+ # create_data_deb('llm-openbuddy-llama3.2-1B-ax630c', data_version, src_folder, revision)
362+ # create_data_deb('llm-internvl2.5-1B-ax630c', '0.3', src_folder, revision)
363+ # create_data_deb('llm-depth-anything-ax630c', '0.3', src_folder, revision)
0 commit comments