-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathrun_real.sh
74 lines (62 loc) · 2.17 KB
/
run_real.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#!/bin/bash
if [ -z "${ROOT_DIR}" ]; then
echo "Error, need \${ROOT_DIR} to be set!"
echo "E.g. ROOT_DIR=\"$(pwd)/data/object-removal-custom\""
exit 1
fi
if [ -z "${OUTPUT_DIR}" ]; then
echo "Error, need \${OUTPUT_DIR} to be set!"
echo "E.g. OUTPUT_DIR=\"$(pwd)/experiments/object-removal-custom/real\""
exit 1
fi
sed -i.bak \
-E "[email protected]_dir = \".*@Config.data_dir = \"${ROOT_DIR}\"@1" \
model/configs/custom/default.gin
sed -i.bak \
-E "[email protected]_dir = \".*@Config.checkpoint_dir = \"${OUTPUT_DIR}/default\"@1" \
model/configs/custom/default.gin
CONFIG="$1"
SCENE="$2"
NAME="$3"
# ROOT_DIR=/mnt/res_nas/silvanweder/datasets/object-removal-custom-clean
# OUTPUT_DIR="$(pwd)"/tests
HOME_DIR="$(pwd)"
# make sure this works with an absolute path
# OUTPUT_DIR=/home/ext_silvan_weder_gmail_com/experiments
# setup experiment folder and symlink raw data
mkdir -p "${OUTPUT_DIR}/${SCENE}/data"
cd "${OUTPUT_DIR}/${SCENE}/data"
find "${ROOT_DIR}/${SCENE}" -maxdepth 1 ! -name "$(basename ${ROOT_DIR}/${SCENE})" -exec ln -s {} \;
cd "${HOME_DIR}"
# compute transforms files
python preprocessing/convert_colmap_to_nerf.py \
--data_path "${OUTPUT_DIR}/${SCENE}/data/" \
--out ../transforms.json \
--split
# run lama inpainting
# we assume we have the following folders in the dataset
cd external/lama
bash run.sh "${OUTPUT_DIR}/${SCENE}/data" "${OUTPUT_DIR}" "${SCENE}" '_real'
cd ../..
# run nerf optimization
export CUDA_VISIBLE_DEVICES=0;
export PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python;
python model/train.py \
--gin_configs "${CONFIG}" \
--scene "${SCENE}" \
--data_dir "${OUTPUT_DIR}/${SCENE}/data" \
--checkpoint_dir ${OUTPUT_DIR}/$SCENE
python model/eval_train.py \
--gin_configs $CONFIG \
--scene $SCENE \
--data_dir ${OUTPUT_DIR}/$SCENE/data \
--checkpoint_dir ${OUTPUT_DIR}/$SCENE
python model/eval.py \
--gin_configs $CONFIG \
--scene $SCENE \
--data_dir ${OUTPUT_DIR}/$SCENE/data \
--checkpoint_dir ${OUTPUT_DIR}/$SCENE
# remove raw data symlink
cd "${OUTPUT_DIR}/${SCENE}/data"
# rm *
find "${OUTPUT_DIR}/${SCENE}/data" -type l -delete