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
200 stars 129 forks source link

✍️ Contribution period: Ananya Srivastava #612

Closed ana42742 closed 1 year ago

ana42742 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

GemmaTuron commented 1 year ago

Hello @ana42742 !

Welcome to Ersilia! Please report here which system are you operating and whether you found any problems in the installation and run of models

Thanks

ana42742 commented 1 year ago

Hey @GemmaTuron ! Glad to be here :) I am using a macOS Ventura with the Apple chip. I did run into some difficulty during installation while using conda, so instead I used pip. I was able to run the sample model successfully.

ana42742 commented 1 year ago

Ananya's Motivation Letter for Contributing to Ersilia

I had always thought that contributing to open source software was a niche activity. After contributing to the codebase of many organisations, I have learnt that anyone can dabble in it . As a result, I applied for Outreachy, something I never would have thought to do even two months ago. I contacted a few of the former Outreachy interns after reading their blogs. I was looking to improve not only my software abilities (which I am accomplishing during the contribution period), but also my communication and teamwork skills.

I specifically chose Ersilia for three reasons. First of all, I have experience with data science and machine learning, and I have previously compared deep learning models for X-ray classification. Second, one of the former interns I spoke to had worked at Ersilia, and they advised me to apply right away. Their time at Ersilia has been extremely wonderful, and they remarked on how well-organized the tasks given to interns are. Thirdly, the atmosphere in this community is one of warmth and support.

I'm a sophomore majoring in computer science engineering with a focus in artificial intelligence. I've already taken courses in artificial intelligence, introduction to data science, and python programming, among other things. I developed a tool to automate data visualisation while working as a research intern at IIT-Delhi. In my research paper titled "Classification of Chest Radiography Scans for COVID-19”, which will soon be published in IEEE Explore, I compared the performance of a VGG-16 neural network model and a standard CNN architecture that employed data augmentation to classify chest X-ray scans. I conducted a literature review for more than 50 studies that addressed the use of deep learning models to speed up disease detection and diagnosis. The languages and frameworks that I am proficient in are: tensorflow, keras, numpy, opencv, NLP (text-to-speech), pandas, data visualisation (matplotlib, seaborn, plotly), Python, C++, Java, JavaScript, HTML, CSS, amongst others.

I think that contributing to Ersilia would provide me the finest chance to enhance my machine learning and research skills. As an intern, I'm going to leverage my research and computer science expertise to the project's advantage in order to complete it. Because I have such a strong enthusiasm for this subject, I also intend to pursue a master's degree, during which time I hope to continue contributing to Ersilia.

ana42742 commented 1 year ago

I have successfully submitted my first contribution on the Outreachy website!

GemmaTuron commented 1 year ago

Hi @ana42742 !

Welcome to Ersilia, great to have you here. Could you please have a look at issue #371 and check what is the status of this model? Please report your findings here or in the issue directly and we will try to make sure that model is functioal

Thanks!

ana42742 commented 1 year ago

Hey @GemmaTuron ! Seems like the model's dependencies have deprecated long ago. I have had to install python 3.7 just to get all of its dependencies to be compatible, but even so numpy 1.19.2 is not building on my system. I installed python 3.7 using brew install python@3.7 through x86_64. Then I pip installed numpy 1.19.2. Even so, upon fetching the model, it gave me numpy build error:

Collecting numpy==1.19.2
  Using cached numpy-1.19.2.zip (7.3 MB)
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'error'
  error: subprocess-exited-with-error

  × Preparing metadata (pyproject.toml) did not run successfully.
ld: warning: ignoring file _configtest.o, building for macOS-x86_64 but attempting to link with file built for unknown-arm64
      Undefined symbols for architecture x86_64:
ana42742 commented 1 year ago

@GemmaTuron @DhanshreeA A couple of findings, it appears that M1 ARM chips do not support python 3.7 which is what is required by the eos5qfo model. So instead of the CLI, I'm going to shift to Google Colab. Up until now I have tried solving the issue by using pyenv to manage multiple python versions, but it appears that the model-package-installation for this model only uses python -m pip install numpy==1.19.2

ana42742 commented 1 year ago

I used the verbose mode to fetch the model which told me that numpy 1.19.2 wheels could not be built. So I tried using python -m pip install numpy==1.19.2 manually (as suggested in the error) which gave me the same error.

ana42742 commented 1 year ago

Surprisingly, conda install numpy=1.19.2 does work! But as ersilia fetch eos5qfo uses the model-package-installation script to install numpy which uses pip, I am unable to resolve this issue. Maybe we should change it to conda instead?

ana42742 commented 1 year ago

As mentioned previously, I will try working on #371 through Google Colab :)

GemmaTuron commented 1 year ago

Hi @ana42742

Thanks for the tests!