Combine all PDPD model generation scripts into one python command (#7349)
This commit is contained in:
parent
bf8113c056
commit
1eca8a6e49
@ -30,23 +30,16 @@ target_compile_definitions(${TARGET_NAME} PRIVATE -D TEST_PADDLE_MODELS_DIRNAME=
|
|||||||
if (paddlepaddle_FOUND)
|
if (paddlepaddle_FOUND)
|
||||||
set(TEST_PADDLE_MODELS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${TEST_PADDLE_MODELS_DIRNAME}/)
|
set(TEST_PADDLE_MODELS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${TEST_PADDLE_MODELS_DIRNAME}/)
|
||||||
|
|
||||||
file(GLOB_RECURSE PADDLE_GEN_SCRIPTS ${CMAKE_CURRENT_SOURCE_DIR}/test_models/gen_scripts/generate_*.py)
|
|
||||||
file(GLOB_RECURSE PADDLE_ALL_SCRIPTS ${CMAKE_CURRENT_SOURCE_DIR}/*.py)
|
file(GLOB_RECURSE PADDLE_ALL_SCRIPTS ${CMAKE_CURRENT_SOURCE_DIR}/*.py)
|
||||||
set(OUT_FILES "")
|
set(OUT_FILE ${TEST_PADDLE_MODELS}/generate_done.txt)
|
||||||
foreach(GEN_SCRIPT ${PADDLE_GEN_SCRIPTS})
|
add_custom_command(OUTPUT ${OUT_FILE}
|
||||||
get_filename_component(FILE_WE ${GEN_SCRIPT} NAME_WE)
|
|
||||||
set(OUT_DONE_FILE ${TEST_PADDLE_MODELS}/${FILE_WE}_done.txt)
|
|
||||||
set(OUT_FILES ${OUT_DONE_FILE} ${OUT_FILES})
|
|
||||||
add_custom_command(OUTPUT ${OUT_DONE_FILE}
|
|
||||||
COMMAND ${PYTHON_EXECUTABLE}
|
COMMAND ${PYTHON_EXECUTABLE}
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/test_models/gen_wrapper.py
|
${CMAKE_CURRENT_SOURCE_DIR}/test_models/gen_wrapper.py
|
||||||
${GEN_SCRIPT}
|
${CMAKE_CURRENT_SOURCE_DIR}/test_models/gen_scripts
|
||||||
${TEST_PADDLE_MODELS}
|
${TEST_PADDLE_MODELS}
|
||||||
${OUT_DONE_FILE}
|
|
||||||
DEPENDS ${PADDLE_ALL_SCRIPTS}
|
DEPENDS ${PADDLE_ALL_SCRIPTS}
|
||||||
)
|
)
|
||||||
endforeach()
|
add_custom_target(paddlepaddle_test_models DEPENDS ${OUT_FILE})
|
||||||
add_custom_target(paddlepaddle_test_models DEPENDS ${OUT_FILES})
|
|
||||||
|
|
||||||
install(DIRECTORY ${TEST_PADDLE_MODELS}
|
install(DIRECTORY ${TEST_PADDLE_MODELS}
|
||||||
DESTINATION tests/${TEST_PADDLE_MODELS_DIRNAME}
|
DESTINATION tests/${TEST_PADDLE_MODELS_DIRNAME}
|
||||||
|
@ -1,19 +1,25 @@
|
|||||||
|
import glob
|
||||||
import os
|
import os
|
||||||
import subprocess
|
import subprocess
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
print(sys.argv)
|
print(sys.argv)
|
||||||
if len(sys.argv) < 4:
|
if len(sys.argv) < 3:
|
||||||
print("Script, output folder and mark file must be specified as arguments")
|
print("Gen folder and output folder must be specified as arguments")
|
||||||
exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
gen_script = sys.argv[1]
|
gen_folder = sys.argv[1]
|
||||||
out_folder = sys.argv[2]
|
out_folder = sys.argv[2]
|
||||||
mark_file = sys.argv[3]
|
mark_file = os.path.join(out_folder, "generate_done.txt")
|
||||||
|
|
||||||
|
gen_files = glob.glob(os.path.join(gen_folder, '**/generate_*.py'), recursive=True)
|
||||||
|
|
||||||
|
for gen_script in gen_files:
|
||||||
print("Processing: {} ".format(gen_script))
|
print("Processing: {} ".format(gen_script))
|
||||||
subprocess.run([sys.executable, gen_script, out_folder], env=os.environ)
|
status = subprocess.run([sys.executable, gen_script, out_folder], env=os.environ)
|
||||||
|
if status.returncode != 0:
|
||||||
|
print("ERROR: PaddlePaddle model gen script FAILED: {}".format(gen_script))
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
# Create mark file indicating that script was executed
|
# Create mark file indicating that script was executed
|
||||||
with open(mark_file, "w") as fp:
|
with open(mark_file, "w") as fp:
|
||||||
|
Loading…
Reference in New Issue
Block a user