Spaces:
Running
on
Zero
Running
on
Zero
# Initialize variables | |
prompts=() | |
asset_types=() | |
output_root="" | |
seed=0 | |
# Parse arguments | |
while [[ $# -gt 0 ]]; do | |
case "$1" in | |
--prompts) | |
shift | |
while [[ $# -gt 0 && ! "$1" =~ ^-- ]]; do | |
prompts+=("$1") | |
shift | |
done | |
;; | |
--asset_types) | |
shift | |
while [[ $# -gt 0 && ! "$1" =~ ^-- ]]; do | |
asset_types+=("$1") | |
shift | |
done | |
;; | |
--output_root) | |
output_root="$2" | |
shift 2 | |
;; | |
--seed) | |
seed="$2" | |
shift 2 | |
;; | |
*) | |
echo "Unknown argument: $1" | |
exit 1 | |
;; | |
esac | |
done | |
# Validate required arguments | |
if [[ ${#prompts[@]} -eq 0 || -z "$output_root" ]]; then | |
echo "Missing required arguments." | |
echo "Usage: bash run_text2asset3d.sh --prompts \"Prompt1\" \"Prompt2\" \ | |
--asset_types \"type1\" \"type2\" --seed <seed_value> --output_root <path>" | |
exit 1 | |
fi | |
# If no asset_types provided, default to "" | |
if [[ ${#asset_types[@]} -eq 0 ]]; then | |
for (( i=0; i<${#prompts[@]}; i++ )); do | |
asset_types+=("") | |
done | |
fi | |
# Ensure the number of asset_types matches the number of prompts | |
if [[ ${#prompts[@]} -ne ${#asset_types[@]} ]]; then | |
echo "The number of asset types must match the number of prompts." | |
exit 1 | |
fi | |
# Print arguments (for debugging) | |
echo "Prompts:" | |
for p in "${prompts[@]}"; do | |
echo " - $p" | |
done | |
# echo "Asset types:" | |
# for at in "${asset_types[@]}"; do | |
# echo " - $at" | |
# done | |
echo "Output root: ${output_root}" | |
echo "Seed: ${seed}" | |
# Concatenate prompts and asset types for Python command | |
prompt_args="" | |
asset_type_args="" | |
for i in "${!prompts[@]}"; do | |
prompt_args+="\"${prompts[$i]}\" " | |
asset_type_args+="\"${asset_types[$i]}\" " | |
done | |
# Step 1: Text-to-Image | |
eval python3 embodied_gen/scripts/text2image.py \ | |
--prompts ${prompt_args} \ | |
--output_root "${output_root}/images" \ | |
--seed ${seed} | |
# Step 2: Image-to-3D | |
python3 embodied_gen/scripts/imageto3d.py \ | |
--image_root "${output_root}/images" \ | |
--output_root "${output_root}/asset3d" \ | |
--asset_type ${asset_type_args} | |