Skip to content
Snippets Groups Projects
Commit a7ed0103 authored by spmohanty's avatar spmohanty
Browse files

Add README.md

parent 92e274bb
No related branches found
No related tags found
No related merge requests found
README.md 0 → 100644
This diff is collapsed.
{
"challenge_id": "user-behavior-alignment",
"authors": [
"aicrowd-bot"
],
"gpu": true,
"description": "(optional) description about your awesome agent"
"challenge_id": "amazon-kdd-cup-24-understanding-shopping-concepts",
"authors": [
"your-aicrowd-username"
],
"gpu": false,
"description": "(optional) description about your custom model"
}
\ No newline at end of file
## Adding your runtime
This repository is a valid submission (and submission structure).
You can simply add your dependencies on top of this repository.
Few of the most common ways are as follows:
* `requirements.txt` -- The `pip3` packages used by your inference code. As you add new pip3 packages to your inference procedure either manually add them to `requirements.txt` or if your software runtime is simple, perform:
```
# Put ALL of the current pip3 packages on your system in the submission
>> pip3 freeze >> requirements.txt
>> cat requirements.txt
aicrowd_api
coloredlogs
matplotlib
pandas
[...]
```
* `apt.txt` -- The Debian packages (via aptitude) used by your inference code!
These files are used to construct your **AIcrowd submission docker containers** in which your code will run.
* `Dockerfile` -- **For advanced users only**. `Dockerfile` gives you more flexibility on defining the software runtime used during evaluations.
----
To test your image builds locally, you can use [repo2docker](https://github.com/jupyterhub/repo2docker)
# Making submission
This file will help you in making your first submission.
## Submission Entrypoint
The evaluator will create an instance of a Model specified in from `models/user_config.py` to run the evaluation.
## Setting up SSH keys
You will have to add your SSH Keys to your GitLab account by going to your profile settings [here](https://gitlab.aicrowd.com/profile/keys). If you do not have SSH Keys, you will first need to [generate one](https://docs.gitlab.com/ee/ssh/README.html#generating-a-new-ssh-key-pair).
### IMPORTANT: Checking in your Models before submission!
Before you submit make sure that you have saved your models, which are needed by your inference code.
Lnowing your model weights will be significantly large files, you can use `git-lfs` to upload them. More details [here](https://discourse.aicrowd.com/t/how-to-upload-large-files-size-to-your-submission/2304).
**Note**: If you check in your models directly into your git repo **without** using `git-lfs`, you may see errors like:
- `fatal: the remote end hung up unexpectedly`
- `remote: fatal: pack exceeds maximum allowed size`
Sometimes, the reason could also be a large file checked in directly into git, and even if not available in current working directory, but present in git history.
If that happens, please ensure the model is also removed from git history, and then check in the model again using `git-lfs`.
## How to submit your code?
You can create a submission by making a _tag push_ to your repository on [https://gitlab.aicrowd.com/](https://gitlab.aicrowd.com/).
**Any tag push (where the tag name begins with "submission-") to your private repository is considered as a submission**
```bash
cd amazon-kdd-cup-2024-starter-kit
# Add AIcrowd git remote endpoint
git remote add aicrowd git@gitlab.aicrowd.com:<YOUR_AICROWD_USER_NAME>/amazon-kdd-cup-2024-starter-kit.git
git push aicrowd master
```
```bash
# Commit All your changes
git commit -am "My commit message"
# Create a tag for your submission and push
git tag -am "submission-v0.1" submission-v0.1
git push aicrowd master
git push aicrowd submission-v0.1
# Note : If the contents of your repository (latest commit hash) does not change,
# then pushing a new tag will **not** trigger a new evaluation.
```
You now should be able to see the details of your submission at:
`https://gitlab.aicrowd.com/<YOUR_AICROWD_USER_NAME>/amazon-kdd-cup-2024-starter-kit/issues`
**NOTE**: Please remember to update your username instead of `<YOUR_AICROWD_USER_NAME>` in the above link
\ No newline at end of file
## This is an example Dokerfile you can change to make submissions on aicrowd
## To use it, place it in the base of the repo, and remove the underscore (_) from the filename
FROM nvidia/cuda:11.8.0-cudnn8-runtime-ubuntu20.04
ENV DEBIAN_FRONTEND=noninteractive
COPY apt.txt /tmp/apt.txt
RUN apt -qq update && apt -qq install -y --no-install-recommends `cat /tmp/apt.txt` \
&& rm -rf /var/cache/*
RUN apt install -y locales wget
# Unicode support:
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
# Create user home directory - This is needed for aicrowd submissions
ENV USER_NAME aicrowd
ENV HOME_DIR /home/$USER_NAME
# Replace HOST_UID/HOST_GUID with your user / group id
ENV HOST_UID 1001
ENV HOST_GID 1001
# Use bash as default shell, rather than sh
ENV SHELL /bin/bash
# Set up user
RUN adduser --disabled-password \
--gecos "Default user" \
--uid ${HOST_UID} \
${USER_NAME}
USER ${USER_NAME}
WORKDIR ${HOME_DIR}
ENV CONDA_DIR ${HOME_DIR}/.conda
RUN wget -nv -O miniconda.sh https://repo.anaconda.com/miniconda/Miniconda3-py38_22.11.1-1-Linux-x86_64.sh \
&& bash miniconda.sh -b -p ${CONDA_DIR} \
&& . ${CONDA_DIR}/etc/profile.d/conda.sh \
&& conda clean -y -a \
&& rm -rf miniconda.sh
ENV PATH ${CONDA_DIR}/bin:${PATH}
RUN conda install cmake -y && conda clean -y -a
COPY --chown=1001:1001 requirements.txt ${HOME_DIR}/requirements.txt
RUN pip install -r requirements.txt --no-cache-dir
COPY --chown=1001:1001 . ${HOME_DIR}
## Add your custom commands below
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment