-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
🎉 ✨ Initial commit of SkinvestigatorAI project
This commit includes the core implementation of the SkinvestigatorAI project, with data scraper, model training, and web application components. The project is structured using Pyramid, TensorFlow, and Keras libraries for an efficient and user-friendly skin cancer detection platform. The commit does not include tests, which will be added in subsequent commits. 🚀 🐳 💚
- Loading branch information
1 parent
a096b38
commit efebd12
Showing
41 changed files
with
1,275 additions
and
126 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
[run] | ||
source = skinvestigatorai |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
name: Automated Testing | ||
|
||
on: | ||
pull_request: | ||
branches: | ||
- main | ||
|
||
jobs: | ||
build: | ||
|
||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
python-version: ["3.9", "3.10", "3.11"] | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v4 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
- name: Install dependencies | ||
run: | | ||
python -m pip install --upgrade pip | ||
pip install ruff pytest | ||
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi | ||
- name: Lint with ruff | ||
run: | | ||
# stop the build if there are Python syntax errors or undefined names | ||
ruff --format=github --select=E9,F63,F7,F82 --target-version=py37 . | ||
# default set of ruff rules with GitHub Annotations | ||
ruff --format=github --target-version=py37 . | ||
- name: Test with pytest | ||
run: | | ||
pytest |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,129 +1,29 @@ | ||
# Byte-compiled / optimized / DLL files | ||
__pycache__/ | ||
*.py[cod] | ||
*.egg | ||
*.egg-info | ||
*.pyc | ||
*$py.class | ||
|
||
# C extensions | ||
*.so | ||
|
||
# Distribution / packaging | ||
.Python | ||
*~ | ||
.coverage | ||
coverage.xml | ||
build/ | ||
develop-eggs/ | ||
dist/ | ||
downloads/ | ||
eggs/ | ||
.eggs/ | ||
lib/ | ||
lib64/ | ||
parts/ | ||
sdist/ | ||
var/ | ||
wheels/ | ||
pip-wheel-metadata/ | ||
share/python-wheels/ | ||
*.egg-info/ | ||
.installed.cfg | ||
*.egg | ||
MANIFEST | ||
|
||
# PyInstaller | ||
# Usually these files are written by a python script from a template | ||
# before PyInstaller builds the exe, so as to inject date/other infos into it. | ||
*.manifest | ||
*.spec | ||
|
||
# Installer logs | ||
pip-log.txt | ||
pip-delete-this-directory.txt | ||
|
||
# Unit test / coverage reports | ||
htmlcov/ | ||
.tox/ | ||
.nox/ | ||
.coverage | ||
.coverage.* | ||
.cache | ||
nosetests.xml | ||
coverage.xml | ||
*.cover | ||
*.py,cover | ||
.hypothesis/ | ||
.pytest_cache/ | ||
|
||
# Translations | ||
*.mo | ||
*.pot | ||
|
||
# Django stuff: | ||
*.log | ||
local_settings.py | ||
db.sqlite3 | ||
db.sqlite3-journal | ||
|
||
# Flask stuff: | ||
instance/ | ||
.webassets-cache | ||
|
||
# Scrapy stuff: | ||
.scrapy | ||
|
||
# Sphinx documentation | ||
docs/_build/ | ||
|
||
# PyBuilder | ||
target/ | ||
|
||
# Jupyter Notebook | ||
.ipynb_checkpoints | ||
|
||
# IPython | ||
profile_default/ | ||
ipython_config.py | ||
|
||
# pyenv | ||
.python-version | ||
|
||
# pipenv | ||
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. | ||
# However, in case of collaboration, if having platform-specific dependencies or dependencies | ||
# having no cross-platform support, pipenv may install dependencies that don't work, or not | ||
# install all needed dependencies. | ||
#Pipfile.lock | ||
|
||
# PEP 582; used by e.g. github.com/David-OConnor/pyflow | ||
__pypackages__/ | ||
|
||
# Celery stuff | ||
celerybeat-schedule | ||
celerybeat.pid | ||
|
||
# SageMath parsed files | ||
*.sage.py | ||
|
||
# Environments | ||
.env | ||
.venv | ||
env/ | ||
venv/ | ||
ENV/ | ||
env.bak/ | ||
venv.bak/ | ||
|
||
# Spyder project settings | ||
.spyderproject | ||
.spyproject | ||
|
||
# Rope project settings | ||
.ropeproject | ||
|
||
# mkdocs documentation | ||
/site | ||
|
||
# mypy | ||
.mypy_cache/ | ||
.dmypy.json | ||
dmypy.json | ||
|
||
# Pyre type checker | ||
.pyre/ | ||
env*/ | ||
tmp/ | ||
Data*.fs* | ||
*.sublime-project | ||
*.sublime-workspace | ||
.*.sw? | ||
.sw? | ||
.DS_Store | ||
coverage | ||
test | ||
*.sqlite | ||
/data/ | ||
/logs/ | ||
.idea/ | ||
/venv/ | ||
# prevent models being commited to github | ||
**/*.h5 | ||
*.h5 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
0.0 | ||
--- | ||
|
||
- Initial version. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
# Code of Conduct | ||
We are committed to creating an inclusive and welcoming environment for all contributors to the SkinVestigatorAI Project. To ensure that our community is respectful and inclusive, we have established the following code of conduct. By participating in our community, you agree to abide by this code of conduct. | ||
|
||
## Our Standards | ||
- We welcome contributions from all individuals, regardless of their age, gender, race, ethnicity, national origin, religion, sexual orientation, or disability status. | ||
- We are committed to creating a safe and respectful environment for all community members. | ||
- We expect all community members to treat each other with respect and dignity, regardless of their personal views or opinions. | ||
- We will not tolerate any form of harassment, discrimination, or bullying. | ||
- We will not tolerate any form of hate speech or offensive language. | ||
- We encourage constructive criticism and feedback, but we will not tolerate personal attacks or insults. | ||
|
||
## Definitions | ||
- Bullying: | ||
We define "bullying" as any behavior that is intended to harm, intimidate, or harass an individual or group of individuals. This can include physical, verbal, or emotional abuse, as well as online harassment or cyberbullying. We do not tolerate any form of bullying in the SkinVestigatorAI Project community. | ||
- Harassment: | ||
We define "harassment" as any behavior that creates an intimidating, hostile, or offensive environment for an individual or group of individuals. This can include physical, verbal, or written actions, such as unwanted physical contact, stalking, or repeatedly sending unwanted messages. | ||
- Discrimination: | ||
We define "discrimination" as treating individuals differently or unfairly based on their age, gender, race, ethnicity, national origin, religion, sexual orientation, or disability status. Discrimination can take many forms, including exclusion, prejudice, and bias. | ||
- Hate Speech: | ||
We define "hate speech" as any speech or expression that promotes hatred, violence, or discrimination against an individual or group of individuals based on their age, gender, race, ethnicity, national origin, religion, sexual orientation, or disability status. | ||
- Offensive Language: | ||
We define "offensive language" as any language or expression that is insulting, disrespectful, or discriminatory toward an individual or group of individuals based on their age, gender, race, ethnicity, national origin, religion, sexual orientation, or disability status. | ||
|
||
In the SkinVestigatorAI community, we understand that intention is key when it comes to breaches of the code of conduct. While we take all breaches seriously, we also recognize that mistakes can happen and that individuals may not always intend to cause harm. As such, we will always take into account the intention of the individual involved when determining the appropriate course of action. | ||
|
||
## Our Responsibilities | ||
As community leaders, we are responsible for enforcing the standards set forth in this code of conduct. We will take appropriate action to address any violations of this code of conduct, which may include: | ||
|
||
- Removing any content that violates this code of conduct. | ||
- Banning any community member who violates this code of conduct. | ||
- Reporting any violations of this code of conduct to the appropriate authorities. | ||
## Reporting Violations | ||
If you witness or experience any violations of this code of conduct, please report them immediately to the project maintainers at [Report a Violation](https://forms.gle/uKXt664q6me6SQcKA). All reports will be kept confidential and will be addressed promptly. | ||
|
||
## Attribution | ||
This code of conduct is adapted from the Contributor Covenant, version 2.0, available at https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
# Contributing to the SkinVestigatorAI Project | ||
We welcome and appreciate your contributions to this project. By contributing, you can help improve the accuracy and effectiveness of our AI model. | ||
|
||
Before getting started, please read our code of conduct[CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) and license. By contributing to this project, you agree to abide by the terms and conditions outlined in these documents. | ||
|
||
# How to Contribute | ||
There are several ways you can contribute to this project, including: | ||
|
||
- Reporting bugs or issues | ||
- Suggesting new features or improvements | ||
- Submitting code changes or enhancements | ||
|
||
To get started, please follow these steps: | ||
|
||
1. Fork the repository and create a new branch for your changes. | ||
2. Make your changes and commit them with clear and concise commit messages. | ||
3. Test your changes thoroughly to ensure they work as intended. | ||
4. Submit a pull request with a detailed description of your changes and the problem they solve. | ||
# Reporting Bugs or Issues | ||
If you find a bug or issue with the AI model, please report it by opening a new issue in our repository. Be sure to include the following information: | ||
|
||
- A detailed description of the issue | ||
- Steps to reproduce the issue | ||
- Screenshots or error messages, if applicable | ||
# Suggesting New Features or Improvements | ||
If you have an idea for a new feature or improvement to the AI model, please open a new issue in our repository. Be sure to include the following information: | ||
|
||
- A detailed description of the feature or improvement | ||
- Any relevant use cases or scenarios | ||
- Any potential challenges or considerations | ||
# Submitting Code Changes or Enhancements | ||
If you'd like to contribute code changes or enhancements to the AI model, please follow these guidelines: | ||
|
||
- Write clear, concise, and well-documented code. | ||
- Write tests to ensure your changes work as intended. | ||
- Follow the existing coding style and conventions. | ||
- Include a detailed description of your changes in your pull request. | ||
|
||
Thank you for your contributions to this project! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
# Official NVIDIA CUDA base image with Python 3.9 | ||
FROM nvidia/cuda:11.6.2-runtime-ubuntu20.04 | ||
|
||
# Set the working directory to /app | ||
WORKDIR /app | ||
|
||
# Copy the current directory contents into the container at /app | ||
COPY . /app/ | ||
|
||
# Install any needed packages and run setup.py | ||
RUN apt-get update | ||
RUN apt-get install -y --no-install-recommends python3.9 python3-pip python3.9-dev | ||
RUN python3.9 -m pip install --upgrade pip | ||
RUN python3.9 -m pip install --trusted-host pypi.python.org -r requirements.txt | ||
RUN python3.9 setup.py install | ||
RUN apt-get clean | ||
RUN rm -rf /var/lib/apt/lists/* | ||
|
||
# Add a new user to avoid running the application as root | ||
RUN useradd -ms /bin/bash appuser | ||
USER appuser | ||
|
||
# Make port 6543 available to the world outside this container and 6006 for TensorBoard | ||
EXPOSE 6543 6006 | ||
|
||
# Define environment variable | ||
ENV NAME World | ||
|
||
# Ensure the pserve command is in the PATH | ||
ENV PATH="/app/.local/bin:${PATH}" | ||
|
||
# Run command when the container launches | ||
#CMD ["pserve", "development.ini", "--reload"] | ||
CMD ["tail", "-f", "/dev/null"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
include *.txt *.ini *.cfg *.rst | ||
recursive-include skinvestigatorai *.ico *.png *.css *.gif *.jpg *.pt *.txt *.mak *.mako *.js *.html *.xml *.jinja2 | ||
recursive-include tests * | ||
recursive-exclude * __pycache__ | ||
recursive-exclude * *.py[co] |
Oops, something went wrong.