How did you make the environment.yml file ? You just export it from your current environment ?
hmm… actually are we supposed to train the model or can we upload our own model ?
just exported yml with conda. train locally and inference in docker
The weight of my model is 600 Mo…
@amapic in case your files are larger then 30-50 MB, you will need to use git-lfs for uploading those files. Please read about it here: How to upload large files (size) to your submission
@shivam Hi, thanks for that. Git lfs is working for me but what is git lfs migrate for ? Where must I store the real model ? Is there something to adapt in the submission for that ?
Hi git lfs migrate
is for transferring any older commit to start using lfs. This is useful in case you have lots of older commit (intended/unintended) and want those files to migrate to LFS based in future.
What must we keep from the initial file env.yml (besides aicrowd-api) ?
What’s wrong with my yml file ??
@amapic Your master branch contains the aicrowd-api but you submission branch does not. The environment.yml file in submission-v0.22 does not contain the api.
Could you please clarify on the last date for the contest? On the home page it shows “2 days remaining” but Timeline mentions Jan,17,2020.
Hi @gokuleloop,
Thanks for pointing it out. We have updated the last date to Jan 17, 2020 on website as well.
@ignasimg Hi,thanks for providing your help. What value did you set for AICROWD_TEST_IMAGES_PATH and AICROWD_PREDICTIONS_OUTPUT_PATH ?
do not change the default
What test did you use to detect corrupt images ?
@amapic in the sample submission from starter kit you can find:
AICROWD_TEST_IMAGES_PATH = os.getenv("AICROWD_TEST_IMAGES_PATH", "./data/test_images_small/")
AICROWD_TEST_METADATA_PATH = os.getenv("AICROWD_TEST_METADATA_PATH", "./data/test_metadata_small.csv")
AICROWD_PREDICTIONS_OUTPUT_PATH = os.getenv("AICROWD_PREDICTIONS_OUTPUT_PATH", "random_prediction.csv")
as @ValAn told you, it’s better if you don’t change the defaults. But if you still need to change, make sure to just change the second parameter from the call to os.getenv.
This is because when you submit your code aicrowd expects you to “read” those paths from environment variables they’ve set.
For you to test that it works on your local machine it should be enough with the default values and uncompressing both test_metadata_small.tar.gz
and test_images_small.tar.gz
in the data
folder. You can download both of those files in the resources page
As for dealing with corrupt files you can see how @gokuleloop did it for round 2 @ https://github.com/GokulEpiphany/contests-final-code/blob/master/aicrowd-snake-species/inference/run.py#L196
Disclaimer: It’s impossible to use his same idea, due to now we don’t have a sample submission .csv file, but you can get an idea of how to deal with those.
Personally what I do is simply generate a “fake” random image, but I guess there are better ways (more efficient / scoring higher) my pseudocode would be like:
try :
image = read(file)
except :
image = random
Final tip: Be sure to add a line with a corrupt / non-existent image file to the test_metadata_small.csv mentioned earlier, so you can also be sure your code can handle errors when reading the images.
Best of luck!
Thank you. Can you give me a yml file with keras and tensorflow 1 ?