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

Hi,

I’m stuck on run.py on gitlab. I have absolutely no idea of what to do and how to get out of it.
I tried with the option “debug” :true on aicrowd.json but sometimes it works, sometimes not.
Can I have an example of a code which is running ?

Cheers,

Hello Amapic!

I struggled with the same few days ago. Here are some notes:

  • I suggest you turn off debug. Sometimes works, sometimes it doesn’t is just the long version for it doesn’t work, and I suspect the administrators don’t look into the issues which are debug: true.

  • Use conda and check your basic setup, aside from aicrowd api, works fine.

  • Remember the test is offline so you won’t be able to download anything once it started, everything (including your model) should be on the repo, and likely will need to use git-lfs.

  • Remember there are some corrupt files in the testing dataset, just like in the training one. BUT you still have to throw predictions for those.

  • If your solution needs gpu (likely) remember to set gpu: true on aicrowd.json

You can use the basic submission structure from the starter kit @ https://github.com/AIcrowd/snake-species-identification-challenge-starter-kit
You can also check the submission from @gokuleloop for round 2 @ https://github.com/GokulEpiphany/contests-final-code/tree/master/aicrowd-snake-species/inference

Best of luck! :smile:

4 Likes

Hi,
Thanks again for your help. If debug was not running, how did you know what was wrong in your code ? You only tried it in your own conda env ?

At the end yes.

Only problem which I had and I guess I wouldn’t have been able to solve it blindly debugging if it was not for @ashivani is that a pip package (opencv-python==4.1.2.30) seems to have some problem with aicrowd servers (and not in my machine) and you need to include a file apt.txt with the following contents:
libglib2.0
libsm6
libxext6
libxrender1
libfontconfig1

You can find why you need this file @ https://discourse.aicrowd.com/t/how-to-specify-runtime-environment-for-your-submission/2274

You can find why you need these lines @ https://stackoverflow.com/questions/53359649/from-cv2-import-importerror-libgthread-2-0-so-0-cannot-open-shared-object-f?noredirect=1

another “minimal” debugging guideline is in which stage you get your error?

Does your image build successfully? (For me it’s always been like that but if not then probably there’s some shit going on with your environment files - the ones listed on the first link)
Does it fail immediately after evaluation started? If so, it’s likely an issue with your code, or your imports.
Does it FAIL after a while has past since evaluation started? If so, it’s likely you have some problem with reading corrupted images.
Does it ABORT after a while has past since evaluation started? If so, it’s likely it’s taking too long, remember to use GPU.

Again, I don’t have any privileged knowledge of how aicrowd internally works, so it would be nice for an admin to add more information to the subject, but I suspect those are the most usual stones people meet along the path.

Sorry for the late reply, I wasn’t home and I wanted to post a proper reply with all the details, although I don’t know for sure whether those are your problems I hope it can help anyone in the future.

If I can help you with anything else let me know, I believe submitting is truly something that should be made easier. :slight_smile:

1 Like

Thanks for all. I didn’t expect that was the way to do but I will spend the whole day on it.

I agree, it should be ok

No problem, thanks for all

frustration is the word that describes my participation in this challenge. I spent around 1h to build the actual model but days to make a successful submission. Participation should definitely be more straightforward. A must is to enable “debug” with instant error logs. Besides

  • submitting the same code sometimes failed and sometimes went through.
  • sometimes I would get timeout error after 10h and sometimes not
  • it doesn’t make sense to me why the evaluation is so slow when we should have <40 000 images
  • it also doesn’t make sense to me to organize a challenge and then remain silent
4 Likes

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