Unofficial repository for ViT-RefineNet and Dataset Google Drive link to the synthetic dataset: N/A until publish
To run multiple test instances simultaneously (e.g., with a different number of sampled points), you can use seq and xargs. This is significantly faster than running each test manually. Example Command
seq 20 20 100 | xargs -n 1 -P 5 python3 test_ViTRefineNet.py
Command Breakdown This command will automatically spawn up to 5 processes, executing your Python script in parallel with the numbers generated by seq as arguments.
seq 20 20 100
Generates a sequence of numbers starting from 20, with an increment (step) of 20, up to 100.
Output: 20 40 60 80 100.(Number of sampled points)
| (Pipe)
Takes the output from the command on the left (seq) and "pipes" it as the input to the command on the right (xargs).
xargs -n 1 -P 5
xargs reads the incoming sequence of numbers.
-n 1: Tells xargs to use only 1 argument from the sequence at a time (e.g., just 20).
-P 5: Tells xargs to run up to 5 parallel processes at once.
python3 test_ViTRefineNet.py
This is the base command that xargs will execute. The argument it picked (e.g., 20) is automatically appended to the end of this command.
Result The command above will execute the following commands in parallel (in batches of up to 5):
python3 test_ViTRefineNet.py 20 python3 test_ViTRefineNet.py 40 python3 test_ViTRefineNet.py 60 python3 test_ViTRefineNet.py 80 python3 test_ViTRefineNet.py 100 You can customize this command as needed:
To change the sampled points: Modify seq 20 20 100 with your desired start, step, and end values.
To change the number of processes: Modify -P 5 to your desired number of parallel jobs (e.g., -P 8 for 8 processes).
#Note on Positional Embedding
Please note that the description of the positional embedding in the paper is not fully accurate. For the correct implementation details, please refer to the code in this repository, which reflects the actual design used in all experiments.