ersilia-os / ersilia

The Ersilia Model Hub, a repository of AI/ML models for infectious and neglected disease research.
https://ersilia.io
GNU General Public License v3.0
220 stars 147 forks source link

✍️ Contribution period: Rabius #829

Closed R-sany closed 1 year ago

R-sany commented 1 year ago

Week 1 - Get to know the community

Week 2 - Install and run an ML model

Week 3 - Propose new models

Week 4 - Prepare your final application

R-sany commented 1 year ago

outreachy-logo

Outreachy Winter 2023 Contribution

Md Rabius Sany Apu

Electronics Engineer, ML Enthusiast

Ersilia_Plum

R-sany commented 1 year ago
                                                               ### Week 1 - Get to know the community

3rd October. It started. I joined Ersilia's community Slack channel. For next couple of weeks, I will be working with the mentors alongside fellow contributors.

To track the contributors progress, Ersilia provided this beautiful repo. Liked it.

A thousand mile journey begins with one step , Lao Tzu.

carcablop commented 1 year ago

Hello @R-sany Welcome to Ersilia. Be sure to complete the installation steps and run a model. The complete guide can be found here: https://ersilia.gitbook.io/ersilia-book/ersilia-model-hub/installation and report here your progress. Thanks.

R-sany commented 1 year ago

Hello @R-sany Welcome to Ersilia. Be sure to complete the installation steps and run a model. The complete guide can be found here: https://ersilia.gitbook.io/ersilia-book/ersilia-model-hub/installation and report here your progress. Thanks.

Thank you for checking my progress and giving the official Ersilia Book.

R-sany commented 1 year ago

Local Machine Specification:

Processor: Intel G620 2.30GHz
Motherboard: ESonic H61
Ram : 8 Gb 1333MHz

Installation manual

https://ersilia.gitbook.io/ersilia-book/ersilia-model-hub/installation

:white_check_mark: Installing Virtual Machine to Local system

wsl --install

In the installation phase of the virtual machine, I faced some initial error. :rotating_light: Virtualization off in Bios

Solution
Restart the system and change the Intel Virtualization On
Key: F11

:rotating_light: Virtualization off in Windows

Solution
changing all Hyper-v On with the following code
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

:white_check_mark: Successfully installed build essentials without Error

sudo apt install build-essential

:white_check_mark: Successfully installed Conda without Error

mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm -rf ~/miniconda3/miniconda.sh
~/miniconda3/bin/conda init bash
~/miniconda3/bin/conda init zsh

:white_check_mark: Successfully installed Git and GitHub CLI without Error

conda install gh -c conda-forge
gh auth login

:white_check_mark: Successfully installed GitHub LFS without Error

conda install git-lfs -c conda-forge
git-lfs install

:white_check_mark: Successfully installed The Isaura data lake without Error

conda activate ersilia
python -m pip install isaura==0.1

:white_check_mark: Successfully installed Docker without Error

https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe?utm_source=docker&utm_medium=webreferral&utm_campaign=dd-smartbutton&utm_location=module

:white_check_mark: Successfully installed Ersilia without Error

conda create -n ersilia python=3.7
conda activate ersilia
git clone https://github.com/ersilia-os/ersilia.git
cd ersilia
pip install -e .

First Model - BioGPT - eos1xje

Model Info: BioGPT generate numerical embeddings for bioassay and other biomedical texts.

Capture1 Capture2 Command Used Model Fetch

ersilia -v fetch eos1xje > model_eos1xje_fetch.log 2>&1

Model Serve

ersilia serve eos1xje

Model Run

ersilia -v run -i "CCCC" > model_eos1xje_run.log 2>&1

Model Info

ersilia info

Close the model

ersilia -v close

Capture3

:page_facing_up:Model Fetch Log : model_eos1xje_fetch.log

:page_facing_up:Model Run Log : model_eos1xje_run.log

:green_heart: Special Thanks to @HellenNamulinda and @carcablop for providing error free code and log file command.

R-sany commented 1 year ago

Test a simple model

Command used

ersilia -v fetch eos3b5e > model_eos3b5e_fetch.log 2>&1
ersilia serve eos3b5e
ersilia -v api run -i "CCCC" > model_eos3b5e_run.log 2>&1
cat model_eos3b5e_run.log
ersilia$ ersilia close

model_1

Model_fetch : model_eos3b5e_fetch.log

Model_run : model_eos3b5e_run.log

R-sany commented 1 year ago

When I first hear the word "Ersilia", I felt an immediate warmth and care. Maybe because it's symbolized a strong, yet caring figure. In the face of AI inequality, its fighting against the dominance and nurturing those in need. Opening a doorway to freedom and equality. In next few paragraphs I'll try my best to demonstrate my intention to join this beautiful Community.

Who I am?

My name is Rabius. I born in a small country called Bangladesh, one of the most densely populated but beautiful country. As a lower tier country, I've seen poverty, hunger and courage to survive. It shaped me who I am right now. A resilient and never giving up attitude-filled person. That being said we have some beyond reach problems too. Malaria, Dengue unknown flu are some of the deadly names.

My Background

I'm an Electronics major graduate and passionate about Machine Learning and Deep Learning. I learned ML and DL from the beautiful internet. For past one year I have been derivatively working toward communication and collaboration. Here's some of collaborative and Disease related works and skills:

Why Ersilia should consider me

I always wanted to contribute to life. Our whole universe is meaningless without the presence of life. Disease and disasters are the key threats to life. The first-tier countries are filled with modern technologies, but the lower-tier countries, such as Bangladesh lacks some of the basic equipment's even. Becoming an AI researcher's, I want to mitigate that gap. It won't be easy but will be worth to try. Ersilia is working towards solving the same complex problems with the help of AI. So, I want to be part of this beautiful community. I believe, I can be a great member to the community as my background and experiences align with the Ersilia's requirements. I will be dedicated to work through day and night to improve Ersilia's performance. Besides this internship will be helping me to reduce some of my past traumas.

Thank you so much for your time and consideration.

Md Rabius Sany Apu, Bangladesh.

R-sany commented 1 year ago

✅Submitted the first Contribution to the Outreachy site.

R-sany commented 1 year ago
                                                           ### Week 2 - Install and run an ML model
DhanshreeA commented 1 year ago

Hi @R-sany just following up are you stuck anywhere? Do you need more support?

R-sany commented 1 year ago

Thank you so much @DhanshreeA for checking on me. I'll post my progress soon.

R-sany commented 1 year ago

:rotating_light:Installing CUDA 10.1

I don't have a dedicated GPU, Skipped this as CUDA is not supported

:white_check_mark:Successfully created new conda environment

conda create -n imagemol python=3.7.3

conda activate imagemol

:white_check_mark:Successfully Installed some required paackages

conda install -c rdkit rdkit

:white_check_mark:Successfully Installed Torch 1.4.0 CPU version

I downloaded and installed with the following link and command as its much reliable.
Download Link: download.pytorch.org/whl/cpu/torch-1.4.0+cpu-cp37-cp37m-linux_x86_64.whl
pip install torch-1.4.0+cpu-cp37-cp37m-linux_x86_64.whl

:white_check_mark:Successfully Installed Torch Vision 0.5.0 CPU version

I downloaded and installed with the following link and command
Download Link: download.pytorch.org/whl/cpu/torchvision-0.5.0+cpu-cp37-cp37m-linux_x86_64.whl
pip install torchvision-0.5.0+cpu-cp37-cp37m-linux_x86_64.whl

:white_check_mark:Successfully Downloaded wheels of torch-cluster torch-scatter torch-sparse torch-spline-conv CPU version

Download Link: https://pytorch-geometric.com/whl/torch-1.4.0%2Bcpu.html

:white_check_mark:Successfully installed wheels of torch-cluster torch-scatter torch-sparse torch-spline-conv CPU version

pip install torch_cluster-1.5.3-cp37-cp37m-linux_x86_64.whl
pip install torch_scatter-2.0.4-cp37-cp37m-linux_x86_64.whl
pip install torch_sparse-0.6.1-cp37-cp37m-linux_x86_64.whl
pip install torch_spline_conv-1.2.0-cp37-cp37m-linux_x86_64.whl

:white_check_mark:Successfully downloaded and installed requirements to be on safe side

pip install -r requirements.txt

:white_check_mark:Downloaded pre-train data and putted it into ./datasets/pretraining/data/

:white_check_mark:processed dataset

python ./data_process/smiles2img_pretrain.py --dataroot ./datasets/pretraining/ --dataset data

:rotating_light:pre-train ImageMol using single CPU on toy dataset:

python pretrain.py --ckpt_dir ./ckpts/pretraining-toy/ \
                   --checkpoints 1 \
                   --Jigsaw_lambda 1 \
                   --cluster_lambda 1 \
                   --constractive_lambda 1 \
                   --matcher_lambda 1 \
                   --is_recover_training 1 \
                   --batch 16 \
                   --dataroot ./datasets/toy/pretraining/ \
                   --dataset data \
                   --gpu 0 \
                   --ngpu 1
This error occurred due to cuda() function
Solution:
changed cuda() to cpu() function in pretrain.py

:white_check_mark:pre-train ImageMol using single CPU on toy dataset

python pretrain.py --ckpt_dir ./ckpts/pretraining-toy/ \
                   --checkpoints 1 \
                   --Jigsaw_lambda 1 \
                   --cluster_lambda 1 \
                   --constractive_lambda 1 \
                   --matcher_lambda 1 \
                   --is_recover_training 1 \
                   --batch 16 \
                   --dataroot ./datasets/toy/pretraining/ \
                   --dataset data \
                   --gpu 0 \
                   --ngpu 1

Pretrain_toy_log: ImageMol_pretrain_toy.log

DhanshreeA commented 1 year ago

Hi @R-sany thank you for the updates so far. Just following up, could you run the model further especially on the EML file?

R-sany commented 1 year ago

@DhanshreeA Thank you for checking my work. Due to some family issues, I couldn't able to give my full time here. So my progress got delayed. I think the probability of me getting into the internship is quite low. It was fun, learned a lot. All the best wishes to everyone ❤️.

GemmaTuron commented 1 year ago

Hello,

Thanks for your work during the Outreachy contribution period, we hope you enjoyed it! We will now close this issue while we work on the selection of interns. Thanks again!