Can I have an example of a code which is working to make a submission on gitlab?

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

1 Like

@ignasimg Hi,
For which purpose did you use git lfs ?

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

1 Like

@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.

1 Like

What must we keep from the initial file env.yml (besides aicrowd-api) ?

What’s wrong with my yml file ??

@ashivani Can you look at my yml file ? aicrowd-api is in

@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.

1 Like

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.

1 Like

@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

“try except” is the easiest one.

https://docs.python.org/3/tutorial/errors.html

1 Like

@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! :slight_smile:

1 Like

Thank you. Can you give me a yml file with keras and tensorflow 1 ?