# Welcome to Dockship!

Online Challenges and pre-trained AI Model Marketplace

### About

We are really glad that you have joined Dockship!

Dockship is data science platform where we host online  Challenges to skill up or get hired. Dockship also allows data scientists or companies to list and sell their pre-trained AI model in the marketplace.

Have a look around and get your self familiar with Dockship!


# Creating a User Account

You can create your account on Dockship by visiting this [page](https://dockship.io/auth/register). You can use your social accounts to Sign Up. Please enable pops in your browser to complete the registration process.

We do not allow registration via an email ID and password to prevent spam.

{% hint style="info" %}
If you wish to create a recruiter/organization account please register [here](https://dockship.io/recruiter).
{% endhint %}


# Creating a Recruiter or Organization Account

You can create your account on Dockship by visiting this [page](https://dockship.io/recruiter). You can use your social accounts or business email to Sign Up.&#x20;

Please enable pops in your browser to complete the registration process.

{% hint style="info" %}
If you wish to sign up as a user then please register through this [page](https://dockship.io/auth/login).
{% endhint %}


# Completing Your Profile

It's a good idea to keep your Dockship profile updated as the organisations may peek into your profile and reach out to you with some opportunity.

In order to update your profile, go to the top right of the page and click your Account Name. From the drop-down menu click "**Edit Profile**". \
\
Alternatively, go to the **Dashboard -> Profile** tab in the sidebar.

In your profile page, you can add your **Avatar** and **Cover Photo** along with a short bio, skills and social media handles.

Click on **Save Profile** to save your changes. Then you get a permalink to share for your profile which can be used as a resume to send to recruiters and fellow data scientists.


# Updating your Dockship Username

Dockship allows you to set custom usernames for your account. Usernames are publicly visible and allow you to create memorable public profile links such as <https://dockship.io/author/**Your-User-Name>\*\*

In order to set your username on Dockship, follow these steps:

1. Log in to your Dockship account and go to your Dashboard.
2. Click on the settings from **Sidebar -> Settings** and you will be redirected to the settings page.
3. On the page, you will find a section for updating your username.

{% hint style="info" %}
Username must be at **least 3 characters** long and can only start with an alphabet, contain alphanumeric characters or single hyphens. The usernames cannot begin or end with a hyphen.
{% endhint %}

{% hint style="warning" %}
**Note:** Changing usernames often will result in lower visibility of your profile on Google search.
{% endhint %}


# Completing your KYC

KYC or Know Your Customer is a process by which Dockship establishes your profile authenticity. It is recommended. Please follow the steps below to complete your KYC.

1. Goto you Dashboard
2. From the sidebar, select **"KYC".**
3. On the next page fill-up the form. Hints have been provided to help you understand the fields.

{% hint style="danger" %}
Your KYC will be rejected if the fields are not filled correctly.
{% endhint %}

### **Benefits of KYC**

1. Gives you a verified badge - This instils confidence in the viewer of your profile.
2. Profiles with verified badge have a higher chance of getting accepted for a Challenge whenever approval for participation is required.
3. Enables Payout in your Dockship account. Payout is the amount transferred to your bank account whenever you earn money via Dockship.


# Messaging

On Dockship you can message your fellow Dockshippers. There are two ways to message someone on Dockship:

1. By clicking the **"Message"** button on their profile page. - You can lookup users from the search bar.
2. By entering their Dockship account email in the message Dashboard.

To message from the **Message Dashboard** click on **Messages** tab on the top-right drop-down.

![Messages Dashboard](/files/-MNi7E25N06RoIuWkdkm)

Enter the **Email** of the Dockship user you want to message, currently we don't support search by Name to prevent spam. The Message system allows you to attach images and certain files as well.


# Types of Challenges

Dockship hosts three types of challenges in which users can participate:

### A. Hiring Challenges

Hiring challenges are organized by Startups that are looking to hire interns or full-time employees. Hiring challenges may or may not be accompanied by a bounty - Bounty is the prize money awarded to the rank 1 holder in a Challenge.

### B. Community Challenges

Community Challenges are organized by communities that wish to engage their members actively using a Challenge.

### C. Practice Challenges

Practice challenges are organized by the admins of the Dockship platform. These challenges are meant for participants to polish their skills.


# Participating in a Challenge

{% hint style="danger" %}
Only users can take part in the challenges. Organizations are barred.
{% endhint %}

Participating in a challenge is easy and takes a few seconds. Click on the Challenge Link and on the next page click on **"Participate"** or **"Apply Now"** the Green Butto&#x6E;**.**

**Participate** appears when your participation does not require approval from the organizer. **Apply Now** appears when your participation must be approved by the organizer.

If the participation requires approval, the organizers will look into your Dockship Profile to approve your participation. It's a good idea to keep your Dockship Profile updated.

{% hint style="info" %}
You can take part in a challenge as long as the application date has not passed.
{% endhint %}


# Downloading a Dataset

This page describes how to download the dataset of a challenge.

{% hint style="warning" %}

1. You must be a participant of the challenge to download the dataset.
2. The challenge must be started before the dataset can be downlaoded.
   {% endhint %}

A challenge on Dockship may provide a dataset for you to create your solution. In order to download the dataset follow these steps:

1. Goto to the challenge page
2. Click on the "**Download Dataset"** button and a prompt will open.
3. On the prompt, there are three ways to download a dataset
   1. Command Line
   2. In your Notebook
   3. Direct Download

You are free to use the type of Download Method.

{% hint style="info" %}
The download link is valid for 30 minutes only. If the link expires, follow the above steps again to generate a new link.
{% endhint %}


# Making a submission

{% hint style="info" %}
You must be a participant of the challenge before you can make a submission.
{% endhint %}

Once the challenge has started, you can start making submissions. Follow the steps to make your first submission:

1. Goto to the challenge page.
2. Click on "**My Submission**" and you will be redirected to the submission page.
3. On this page, click on "**+ New Submission**" and follow the on-screen steps.
4. After successful submission, you will be able to see your score (if the challenge has enabled auto-grading).

{% hint style="warning" %}
If a challenge has **disabled auto-grading** the submission will be graded by the organizer manually.
{% endhint %}

Some important points regarding your submission:

1. Make sure you read the submission guidelines of the challenge carefully.
2. The submissions are usually auto-graded. If the submissions are not auto-graded, it may take up to a day to see your score.
3. You must abide by the rules of the challenge.
4. You can make up to 20 submissions every day.


# Leaderboard

Every challenge maintains a leaderboard that ranks participants in the challenge. The ranking is based on the best score achieved by the participants.  For challenges such as Time Series Prediction having Root Mean Square Error (RMSE) based error the less the error score, the higher your rank is.

The leaderboard is usually publically visible and can be accessed by going to the challenge page and clicking in the "**Leaderboard**" tab.

Sometimes the leaderboard may not be made visible to the public by the organizer. In that case, you will be able to see your current rank in the "**My Submission**" page. You will also be able to see the score of the rank 1 holder.

The leaderboard is updated every time a submission is made by any of the participants.


# Public - Private Leaderboard

Some challenges on Dockship maintain public private leaderboard. Only the public leaderboard is visibile throughout the duratuon of the challenge. The private leaderboard remains a secret until the results are declared. The results are declared based on the private leaderboard.

### Public Leaderboard

This leaderboard is calculated with approximately **X%** of the test data. The final results will be based on the other **(100 - X)%**, so the final standings may be different. These results will be visible in the private leaderboard once the winner is announced by the organizers.

### Private Leaderboard

This leaderboard is calculated with approximately **(100-X)%** of the test data. The final results will be based on this leaderboard.

**X%** is defined by the organizer and can vary from challenge to challenge.


# Discussion

Discussion is a great way to get instant help from the fellow participants of the challenge. You can access discussion by going the challenge page and clicking on the "**Discussion**" tab.

Sometimes the discussion tab can be disabled by the organizer.


# Notebooks

If you are a participant of a challenge and wish to share your codebase with fellow participants, you can do so by sharing your IPYNB (iPython Notebooks). The notebooks can be shared by following these steps:

1. Go to the challenge page.
2. Click on "**My Submissions**" and you will be redirected to your submissions page.
3. On this page, you can upload your Notebooks by dragging and dropping in the upload section.

Dockship maintains different versions of your notebooks. If you wish to update your notebook you can simply drag and drop a new notebook in the upload section.

Notebooks can be enabled and disabled fro public access by the organizer. If Notebooks are disabled from public access, the notebooks uploaded by you will only be visible to the organizer.

If the notebooks are public, you can hide its visibility by flipping the **"Public/Private" switch** above the upload section.

{% hint style="warning" %}
Only IPYNB (iPython Notebooks) are supported.
{% endhint %}


# About Gems

Gems are our virtual good, and you can use them to unlock certain items on Dockship such as profile effects, unlocking insights for your submission in Challenges and more. We’ll be adding cool new ways to spend your gems in the future.

### FAQ

#### I bought gems, how can I tell how many I have?

If you buy gems you will always have a balance associated with your Dockship account. You can view your balance on the top navigation bar by your name.

#### Can I transfer gems between Dockship accounts?

You cannot transfer your Dockship gem balance across accounts.

#### Can I get gems for free?

You can earn gems when you level up, publish an article, refer a friend, or by participating in challenges. We may give away gems on special occasions. Stay tuned!

#### I want a refund for my purchase of gems.

Gems are our virtual goods, gems once purchased cannot be refunded.


# About Articles

Articles are a great way to share your Data Science Knowledge and Dockship allows you to write articles that can be viewed publicly. Articles can be written by both Users and Organizations. To write your first article follow these steps:

1. Login to your Dockship account and go to your Dashboard.
2. Goto **Sidebar -> My Articles**
3. Click on **"+ New Article"** and enter the title (max 80 Characters )and subtitle (max 140 Characters) of the article and click **Create.**&#x20;

Upon clicking **Create** you will be redirected to the Article Writing section where you can start writing your Article.


# Using the Editor and Publishing your Article

Dockship includes a simple rich text editor that you can use to format your article. It's a good practice to format your article and make it easy to read for your readers. With this editor you can add:

1. Paragraph **T** - Default
2. Heading **H**
3. Quote **>>**
4. Code Block **{ }**
5. Image 🏞

Click on the **+** Icon and the inline formatting option will appear.

![The Inline Editor](/files/-MOt1EIf0gHo4Xunwsud)

You can always save your articles as **Draft** by clicking on the **"Save Draft"** button. This will save your article for editing later.

Once you are finished writing your article, click on the **"Submit for Review"** button. The Dockship review team will go through the article, and if found fit, will publish it.&#x20;


# Adding a Youtube Video in your Article

Adding a YouTube video in your article is simple. All you need to do is copy and paste the YouTube link in the Editor.

**Step 1: Copy the YouTube Video link**

![Copy the YouTube Video Link](/files/-MOq77xPaX-NTARrJE_x)

**Step 2: Paste the YouTube Video link in the editor**

![Ctrl + V or ⌘ + V (Mac)](/files/-MOq8hKwDe4AbJ5LJOEA)

{% hint style="info" %}
We currently support embedding videos from YouTube only. More services will follow soon.
{% endhint %}


# Moving, and Deleting a Section

The editor allows you to easily add, move, and delete a section of your article. Here's how you can do it.

**Moving a Section**

![Moving a Section](/files/-MOqCHjbKvSEnn9oXH6W)

**Deleting a Section**

![Deleting a section](/files/-MOqC_jVBd_WJgu4yief)


# Article Settings

Adding a featured image, tags, and more.

There are certain settings that you can change related to your article such as:

1. **Adding a Featured Image**\
   With a featured image, you can grab the attention of your potential readers.
2. **Adding Tags**\
   Adding tags will help Dockship to easily index your article.
3. **Disabling Comments**\
   This enables or disables the comment thread on your Article.

![](/files/-MP8tlcGadC28uqqkFfp)


# Monetizing your Article

By writing quality data science articles you can earn money on Dockship. If your article is of high quality and your account reputation is good your article can be marked as **premium** otherwise the articles will be marked as community. **Community articles cannot not earn money through our monetization program.**

{% hint style="warning" %}
Your article must be marked as **premium** by the Dockship team before you can start earning money.
{% endhint %}

Dockship will reward you for the number of likes/upvotes and views you get on your **premium** article in the form of real cash that will be credited to your bank account. Please check the **"My Article"** section to know the current monetization rate provided by Dockship.

Before you can monetize your article, you are required to complete your KYC. You can monetize your articles for up to 30 days from the date of publishing.

**Note:** The monetization on views is capped for the first 1000 views only.

{% hint style="danger" %}
Dockship can, at any time, demonetize your article. This can occur if the content of your article is plagiarized, contains copyrighted material, or violates the terms of use of Dockship.
{% endhint %}

The monetized amount will be credited to your bank account on the first or second week of every month. **The amount cannot be credited as per the request of the user.**

{% hint style="info" %}
Article monetization is only available for the citizens of India. More countries will follow soon. Organizations on Dockship cannot monetize their articles.&#x20;
{% endhint %}


# Article FAQs

### Why does my article require approval?

All the articles on Dockship must be reviewed by the editorial team at Dockship to ensure high standards of the content.

### When will my article be approved?

Once you submit an article for review, it will take up to 48 Hrs for our editorial team to review your article. After the team has reviewed your Article, you will get a response whether your article was approved or not.

### Why was my article rejected?

The reason for your article rejection will be mentioned in the response email. Some common reason why your article can get rejected:

* The article is highly plagiarised.
* The article is too generic or is not related to programming.
* Grammatical mistakes in the article - We advise you to install Grammar checking tools in your browser.
* Puntuation mistakes and excessive headlines, bold, itallics, and upercase usage.
* Articles that lack paragraphs and contain excessive bullet points.
* Using prfane language, inappropriate images, and copyrighted images.
* The article is too short - please make sure your articles are at least 350 Words.
* Too many links in the article - Please keep the external links in your article to a maximum of 5.

### How long can I monetize my article?

Articles are monetizable for up to 30 days from the date of publishing the article. Beyond that period, views and upvotes on your article will not earn you money.

### Why was my article Demonetized?

Dockship can at any time Demonetize your article. The reason will be mentioned in the response email. Some common reason for demonetization of articles:

* Getting fake likes
* Increasing views on your article via unethical means.
* The author has used profane language in the comment section.

### I've earned through my articles but the amount is not credited to my bank account

The payout for Articles happens within the first two weeks of every month. It's a set process and payout cannot be processed as per user request. In order to get payouts, please make sure your KYC is complete.&#x20;


# About Challenges

This page describes what challenges are on Dockship

Dockship provides a platform for startups and data science communities to host Challenges. Challenges are like a Hackathon where everyone is solving a given problem statement and achieving the highest possible grade.

Challenges on Dockship are of three types:

### A. Hiring Challenges

Hiring challenges are organized by Startups that are looking to hire interns or full-time employees. Hiring challenges may or may not be accompanied by a bounty - Bounty is the prize money awarded to the rank 1 holder in a Challenge.

### B. Community Challenges

Community Challenges are organized by communities that wish to engage their members actively using a Challenge.

### C. Practice Challenges

Practice challenges are organized by the admins of the Dockship platform. These challenges are meant for participants to polish their skills.


# Creating a New Challenge

This page describes how to create a new challenge on Dockship

{% hint style="info" %}
Only Recruiters/Organizations can create Challenges on Dockship.
{% endhint %}

Dockship allows you to host Challenges for hiring or to engage the data science community. Here are the steps that you need to take. Upon login, go to your Dockship account [Dashboard](https://dockship.io) and take the following steps:

1. Goto[ Challenges ](https://dockship.io/user/ai-challenges)from the sidebar menu.&#x20;
2. Click on "+ New Challenge" button on top.

![Click on "+ New Challenge](/files/-MNY2PLjpATkXn8g1yH7)

Upon clicking the button you will be presented with two options:

1. "Let Dockship Create it for you" (Recommended)
2. and "Create from Scratch"

![A. Let Dockship create it for you. B. Create from scratch.](/files/-MNY3X1whMcN3gLQkqmF)

#### A. Let Dockship Create it for you (Recommended)

If you are new to Dockship, you can ask Team Dockship to create a challenge for you. You will be asked for a few more details once you select this option. Our team will reach out to you within a few hours to understand your requirements.

**B. Create from Scratch**

Select this option if you wish to create a challenge from Scratch by following the on-screen steps.


# Automating Submission Grading

How to use the Auto Grade feature of Dockship.

### What is Auto Grade?

Turning this feature on will automatically grade the solutions submitted by the participants of your challenge. Auto grading currently **works for classification, multiclass classification, object detection, and time series prediction (RMSE) problems** \
\
Here’s how it works:

1. Break your dataset into train and test (80:20 ratio is recommended).
2. Upload a CSV file \[follow the guidelines below] in the adjacent "Upload Answer Key" section containing the correct labels for **only the test files/images** in the dataset.
3. Only supply labels for your training dataset when you upload the dataset in a zip file.
4. Ask the participants to train their model on the training dataset and evaluate it on the test dataset (that you have created).
5. Participants will submit their solutions in the form of CSV which will be graded automatically.

![](/files/-Mgu5xhj9K5qfboeTFlV)

Please follow the guidelines for creating your answers CSV:

#### A. Classification

This type of challenge takes as input a CSV consisting of two columns “filename” and “label” in the same order, changing the order of columns will lead to wrong results. The evaluation is done as a key-value pair, hence duplicate filenames are discarded. The label class may be either string for example “cat” or numeric based labels such as 0-9 for 10 classes.

Sample structure of the CSV.

![](/files/-Mgu3t5iA14mTzTiZaXF)

#### B. Multiclass Classification

This type of challenge takes input as a CSV consisting of two columns “filename” and “labels” in the same order. Changing the order of columns will lead to wrong results. The label is a string for example “car” for single class or “car, automobile” for multiple classes (comma separated).

Sample structure of the CSV.

![](/files/-Mgu45Pu0s9vWnPIPzlt)

#### C. Object Detection

This involves matching of the detected bounding boxes and the corresponding class of images. Each line of the answer key consists of these attributes “filename”, “width”, “height”, “class”, “xmin”, “ymin”, “xmax”, “ymax”

If there are multiple objects within in an image, they can be provided in different rows, hence the filename may be repeated. The submission file also includes the same attributes with an additional “conf” (confidence) attribute which implies the confidence of the prediction.

The evaluation criteria is mAP(mean Accuracy Precision) based on Intersection Over Union (IoU)

Sample structure of the CSV.

![](/files/-Mgu4Yskt4OlzG_mWJ2P)

#### D. Time Series Prediction (RMSE)

This challenge involves the prediction of data based on time series data. The answer and submission files have to be structured in a CSV. There is one fixed attribute in this challenge such as “date/datetime” as the first attribute. Additional attributes (columns) may be of type string or numeric (at least one numeric attribute is a must).

The evaluation criteria is Root Mean Square Error (RMSE) for the numeric attributes which is added in case of multiple numeric attributes. Also, all string based attributes (datetime, and additional attributes e.g. city) must be identical with the answer key and the only variation in numeric columns is calculated.

Two screenshots are provided to help understand the possible structures of the CSV file.

![](/files/-Mgu4rFo49-PSMLigKbi)

#### E. Non Time Series Prediction (RMSE)

This challenge involves prediction of data based on time series data. The answer and submission files have to be structured in a CSV. Additional attributes (columns) may be of type string or numeric (at least one numeric attribute is a must).

The evaluation criteria is Root Mean Square Error (RMSE) for the numeric attributes which is added in case of multiple numeric attributes. Also, all string based attributes (datetime, and additional attributes e.g. city) must be identical with the answer key and the only variation in numeric columns is calculated.

Two screenshots are provided to help understand the possible structures of the CSV file.

![](/files/-Mgu5ABFovT20CXc7X7v)


# Creating a Challenge From Scratch

This page describes how to create a Challenge from scratch.

In order to create a challenge from scratch, you need to follow the following steps. This process can take 30 - 90 minutes and includes writing content and uploading a dataset (optional).&#x20;

Once clicked on "Create from Scratch" (from the previous step) enter the preferred name of your challenge and a short description.

![Enter preferred name of your challenge and a short description.](/files/-MNY8b3s4p-alcOW3-hF)

On the next page, you can change the settings and add content.

### A. Settings

Dockship allows you to customize the Challenge as per your needs. Here are all the settings that can be changed while creating an Challenge. The settings have their hints next to this and will guide you while you change them.

Some important settings:

1. Select the type of challenge (Hiring/Community) - Hiring challenge must be selected if you wish to host a hiring challenge. Community challenges are used to engage the data science community.
2. Setting a bounty to the rank 1 holder - Bounty is a cash prize (min. INR 5000).
3. Reverse Scoring (If the dataset is not provided) - A Higher score means Lower Rank.
4. Invite only - Select this option if only the invited people can participants (via email address)

### B. Content

Content refers to the different sections of the Challenge. You can add the following details about your Challenge.

**About**\
This section consists of Title, Subtitle, and Long Description of the challenge.

**Submission Guidelines**\
Use this section to describe how the solution to be uploaded.

**Rewards and prizes**\
Describe what rewards will be giving to the participants. If a bounty was selected during the challenge creating process, that bounty will be awarded automatically to the rank 1 holder.

**Rules**\
Use this section to describe the rules of the challenge.

**FAQs**\
Your participants can have some question, you can answer some of the most common questions here.


# Purchasing the Developer Pass

In order to publish your AI model on Dockship, you need to purchase a developer pass. The developer pass can be purchased by following these steps:

1. Log into your Dockship account.
2. In your Dashboard go to **Sidebar -> My Models.**
3. On the next page, you can purchase the developer pass. If you have a referral, you can apply it on this page.

Developer pass has lifetime validity.

**Pro Tip:** You can get your Developer pass for FREE by referring your friends!


# Preparing your AI Model

This guide will help you in structuring your AI Model

Your model should have the following structure:

* *Input* (Directory)
* *Output* (Directory)
* *requirements.txt* (File)
* *README.md* (File)
* *src* (Directory)
* *src / run.py* (File)
* *stats* (Directory)

**Input** - 'Input' directory contains sample source images / Videos for inference.

**Output** - 'Output' directory contains sample outputs which were generated by inference on 'Input' directory.

**requirements.txt** - 'requirements.txt' should list all the python dependencies with versions. You can use: `pip freeze > requirements.txt` to generate this file.

**README.md** - This file tells other people why your project is useful, what they can do with your project, and how they can use it.

**src** - 'src' directory contains all the source code for I/O, pre-processing and post-processing along with the trained model.

**src/run.py** - This is the main python file that the user calls. It should be able to take at least 'input' (Input path) and 'output' (Output path) as arguments. Example -

`python src/run.py --input Input --output Output`

**stats** - This directory may contain one or more files. Each file stores inference time taken on particular hardware. Example - 'cpu.txt' stores inference time on CPU.

{% hint style="warning" %}
Above mentioned are the necessary files/directories which your model should have. It may contain additional files if your model requires.
{% endhint %}

Once you have structured your model according to the above template, compress the folder as a zip file.


# Submitting your AI Model

This guide will help you to upload your model

{% hint style="warning" %}
A developer pass is required to publish your AI models on Dockship. Please make sure you have purchased the pass.
{% endhint %}

Make sure you are logged in and are on the [Dashboard page](https://dockship.io/user/dashboard). Click on the "My Models" section in the left sidebar.

![](/files/-MNc1J867_fbaBIGc9XK)

1. Click on "Upload Model"
2. On the next page fill in the name and a short description of your AI model.
3. On the next page complete the form and click on "Submit for Review".

{% hint style="warning" %}
Our review team will evaluate your model by checking whether your model follows guidelines, have proper structure and test its performance. Once your model is accepted (or not), you will be notified.
{% endhint %}


# Preparing Dockerfile for your model

This guide will help you to create Dockerfile for your model in easy steps.

Using Docker can help the users to easily deploy your AI model. The best way to understand the process is to look at actual Dockerfile and break it down. Here, we will look at the Dockerfile of '[Summer to Winter GAN](https://dockship.io/model/5d89f596a0171346e315e542)' for reference.

```bash
1. FROM pytorch/pytorch
2. RUN apt-get update
3. RUN pip install certifi==2019.6.16 \
               chardet==3.0.4 \
               dominate==2.4.0 \
               idna==2.8 \
               numpy==1.17.1 \
               Pillow==6.1.0 \
               pyzmq==18.1.0 \
               requests==2.22.0 \
               scipy==1.3.1 \
               six==1.12.0 \
               torch==1.2.0 \
               torchfile==0.1.0 \
               torchvision==0.4.0 \
               tornado==6.0.3 \
               urllib3==1.25.3 \
               visdom==0.1.8.8 \
               websocket-client==0.56.0 \
               fire
4. ENV PYTHONPATH /usr/local:/model/:$PYTHONPATH
5. WORKDIR /model
6. COPY . .
```

{% hint style="danger" %}
Don't use line numbers in actual Dockerfile.
{% endhint %}

> Let's break it down 👇

#### Statement - 1

***FROM pytorch/pytorch***

FROM instruction defines the base image for your Dockerfile. In above Dockerfile we are using pytorch base image which itself uses ubuntu as base. If your model uses tensorflow, you can use `FROM tensorflow/tensorflow` instead or search for other available base images from [dockerhub](https://hub.docker.com) .

#### Statement -2

***RUN apt-get update***

RUN instruction lets you execute any command in your environment's CLI shell. Ex - If your model requires to install some additional package using *apt-get* , you can use -

```bash
 RUN apt-get update && apt-get install -y \
             <package 1> \
             <package 2> \
             <package 3>
```

#### Statement -3

Here RUN instruction is used to install pip packages.

#### Statement -4

ENV instruction allows to change environment variables. Most probably, you won't need ENV if you simply want to share model on Dockship.

#### Statement -5

***WORKDIR /model***

As the name suggests, WORKDIR changes work directory. Think of it as 'cd' command's alternative for Docker .

#### Statement-6

***COPY . .***

`COPY <src> <dest>` copies content from your filesystem's \ to Docker's filesystem's \\. In above example, `COPY . .` copies whole directory content into Docker's filesystem.

### Test it yourself

Once you have created Dockerfile for your model, build its image and run container to verify if it's working properly. `docker build -t <model_name> -f Dockerfile <path_to_model_folder> && docker run -it <model_name>`

{% hint style="info" %}
Using the Dockerfile shared above as a template and making necessary changes will make the process much easier for you.
{% endhint %}


# About Achievements

Dockship rewards you with XP (Experience Points), badges, and certificates whenever certain tasks are completed by you. The XP helps you increase your profile Level which is visible in your public profile page. You can check out all your achievements in "[**My Achievements**](https://dockship.io/user/achievements)" section of your dashboard.&#x20;

### Types of Achievements&#x20;

1. **XP** - Experience Point sare rewarded for completing certain tasks such as completing your profile, participating in challenges etc. The list can be viewed in the "My Achievements" section.
2. **Badges** - Badges are unlocked upon doing special tasks such as Participating in Challenges multiple times, uploading notebooks, uploading AI Models in the marketplace and more. The list of badges can be viewed in the "My Achievements" section.
3. **Certificates -** Certificates are awarded whenever you make a successful submission in a Challenge. The Rank 1 holder may also be presented with a Winning Certificate.


# Hall of Fame (HOF)

Hall of Fame (HOF) page is the most exclusive section of the website. This page is reserved for the people who excel in our AI Challenges. You can check out the HOF [here](https://dockship.io/hall-of-fame).

![Hall of fame page.](/files/-MOKt6B6ab9XnU7gjyZ2)

#### How can I be featured in HOF?

HOF is updated regularly and Dockship users can find their place in HOF by in securing Top 3 position in any of the AI Challenges on Dockship.&#x20;


