We missed to submit the docker on the mentioned deadline , any chance if we can validate our result on validation dataset?
Created by Taurus Hi @Taurus,
Currently, we are not evaluating on the validation dataset. We will follow up on this at the conclusion of the challenge (after RSNA2021). Hi @Taurus ,
Our sincerest apologies that we could not help you and your team with submitting a Docker model for the final evaluation.
I will forward your request to @ujjwalbaid regarding the re-evaluation of the validation results. Hello @vchung , unfortunately we are facing same problem while executing docker. We will not be able to submit on time.
Any chance if you can allow us to re-evaluate validation result or you can evaluate for us? That will help us. @Taurus ,
Is `output/unet/ID.nii.gz` your final predictions file? If so, it will need to be written to `/output` instead of `/output/unet`, as that is where the automated workflow is expecting the output file.
Other than that, your container can utilize any temporary directories and/or files as required! Please note that `/input` is read-only, so no modifications may be done in that directory. @vchung My script is writing to output directory and mapping to output directory :
docker run --rm --name your_container_name -v /input1/:/input:ro -v /output/:/output:rw docker.synapse.org/syn25829067/my-model:version3
My output directory structure should be : output/unet/probs/ID.hdf5 and output/unet/ID.nii.gz , this can be done while executing docker? @Taurus ,
Ah, I think that could be where your error lies. As mentioned above, this part of the Docker run command:
```bash
-v /output1/:/output:rw \
```
indicates that `output1` is a directory on your local machine, and it will be mounted as `/output` when your container runs. Therefore, your script(s) will need to write to `/output/`, since that is the directory that is made available to your container, not `/output1`.
@vchung my script is writing to output1 and I am not using absolute path. I am creating docker in present working directory which is /home/user1/RAK folder. @vchung Also I am using ensemble of 3 different network which include 3 different script , 1 script for preprocessing and 5th script for merging all the output. So, this is my docker script.
ENTRYPOINT ["bash","run.sh"]
CMD ["python3.7", "./merge_segmentation_results.py" , "output1/", "input1/"] where run.sh include all the 4 script - i.e preprocessing followed by 3 network script. which is :
#!/bin/bash
python3 preprocessing.py;
python3 main_segmentation_unet.py;
python3 main_segmentation_resnet.py;
python3 main_segmentation_resdnet.py;
is this correct? @Taurus ,
> output1 is output directory where script writes output and output1 is mapping directory
Can you clarify here? Your script is writing to `/output` or `/output1`? When you open the files (either for reading or writing), do you use the absolute paths? @vchung , input1 is the input directory with only 4 .nii files whereas input is mapping directory for container . similarly output1 is output directory where script writes output and output1 is mapping directory. I have created all the 4 directory in the local machine as well i.e input1, input and output1 and output. Hi @Taurus ,
The command looks correct, that is, you are mounting one directory from your local machine named `/input1/`, which will be `/input` in the container, and another directory from your local machine named `/output1`, which will be `/output` in the container. Is your script reading files from a directory called `/input1` or `/input`? And is it writing files to `/output1` or `/output`? Perhaps that is where the confusion is coming from?
Let me know. Hello @vchung Yes we will be submitting it. The problem we are facing that the output file is visible when running on local system whereas it don't reflect when we run docker. I am using:
docker run -it --rm --name your_container_name -v "/input1/":"/input" -v "/output1/":"/output" docker.synapse.org/syn id/my-model:version1 .
where input folder contains 4 input .nii files .
Please check if I am making any mistake?
Thanks Hi @Taurus ,
I wanted to follow-up one more time on whether your team would like to submit a model for final evaluation against the test data. If so, please provide us with the image name and tag, and I will add your model to the final queue.
Thank you! Hi @Taurus ,
Unfortunately, the queue for running Docker submissions against the validation data is now closed. We can, however, accept your Docker model for the final run against the test data. Please note, however, that we will not be providing any information or details for debugging if the container fails. You will only be notified of the number of successful cases evaluated. I highly recommend running your container locally first to ensure that it will run, e.g.
CPU:
```bash
docker run --rm \
--network none
--name your_container_name \
-v /your/input/folder/:/input:ro \
-v /your/output/folder/:/output:rw \
your_application_name
```
GPU:
```bash
docker run --rm \
--network none
--gpus device=0 \
--name your_container_name \
-v /your/input/folder/:/input:ro \
-v /your/output/folder/:/output:rw \
your_application_name
```
where `/your/input/folder/` is the absolute path to one of the validation case folders, e.g. `$PWD/BraTS2021_00001` and `/your/output/folder/` is the absolute path to an output folder, like the current working directory.
If you and your team would like to proceed, please provide us with the image name and tag that you would like to be considered as your final submission, and I will add it to the queue for the final test data.