sweepai / evals

Apache License 2.0
0 stars 0 forks source link

Add CNN class for MNIST in cnn.py and import it in main.py #133

Closed sweep-nightly[bot] closed 10 months ago

sweep-nightly[bot] commented 10 months ago

Description

This PR adds a new Convolutional Neural Network (CNN) class in cnn.py to handle the MNIST dataset. The CNN class is imported into main.py to replace the existing Net class. The CNN class consists of two convolutional layers followed by two fully connected layers. The input to the model is reshaped appropriately before being passed through the model.

Summary of Changes

Please review and merge this PR. Thank you!

Fixes #9.


🎉 Latest improvements to Sweep:


💡 To get Sweep to edit this pull request, you can:

sweep-nightly[bot] commented 10 months ago

Sandbox Executions

pip install -r requirements.txt 1/6 ✓
Looking in links: https://download.pytorch.org/whl/torch_stable.html
DEPRECATION: The HTML index page being used (https://download.pytorch.org/whl/torch_stable.html) is not a proper HTML 5 document. This is in violation of PEP 503 which requires these pages to be well-formed HTML 5 documents. Please reach out to the owners of this index page, and ask them to update this index page to a valid HTML 5 document. pip 22.2 will enforce this behaviour change. Discussion can be found at https://github.com/pypa/pip/issues/10825
Collecting annotated-types==0.6.0
  Downloading annotated_types-0.6.0-py3-none-any.whl (12 kB)
Collecting anyio==3.7.1
  Downloading anyio-3.7.1-py3-none-any.whl (80 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 80.9/80.9 KB 2.4 MB/s eta 0:00:00
Collecting astroid==3.0.1
  Downloading astroid-3.0.1-py3-none-any.whl (275 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 275.2/275.2 KB 15.0 MB/s eta 0:00:00
Collecting certifi==2022.12.7
  Downloading certifi-2022.12.7-py3-none-any.whl (155 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 155.3/155.3 KB 19.2 MB/s eta 0:00:00
Collecting charset-normalizer==2.1.1
  Downloading charset_normalizer-2.1.1-py3-none-any.whl (39 kB)
Requirement already satisfied: click==8.1.7 in /usr/local/lib/python3.10/dist-packages (from -r requirements.txt (line 7)) (8.1.7)
Collecting dill==0.3.7
  Downloading dill-0.3.7-py3-none-any.whl (115 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 115.3/115.3 KB 19.2 MB/s eta 0:00:00
Collecting exceptiongroup==1.1.3
  Downloading exceptiongroup-1.1.3-py3-none-any.whl (14 kB)
Collecting fastapi==0.104.0
  Downloading fastapi-0.104.0-py3-none-any.whl (92 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 92.9/92.9 KB 11.2 MB/s eta 0:00:00
Collecting filelock==3.9.0
  Downloading filelock-3.9.0-py3-none-any.whl (9.7 kB)
Collecting fsspec==2023.4.0
  Downloading fsspec-2023.4.0-py3-none-any.whl (153 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 154.0/154.0 KB 22.8 MB/s eta 0:00:00
Collecting h11==0.14.0
  Downloading h11-0.14.0-py3-none-any.whl (58 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 58.3/58.3 KB 7.3 MB/s eta 0:00:00
Requirement already satisfied: idna==3.4 in /usr/local/lib/python3.10/dist-packages (from -r requirements.txt (line 14)) (3.4)
Collecting iniconfig==2.0.0
  Downloading iniconfig-2.0.0-py3-none-any.whl (5.9 kB)
Requirement already satisfied: isort==5.12.0 in /usr/local/lib/python3.10/dist-packages (from -r requirements.txt (line 16)) (5.12.0)
Collecting Jinja2==3.1.2
  Downloading Jinja2-3.1.2-py3-none-any.whl (133 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 133.1/133.1 KB 25.7 MB/s eta 0:00:00
Collecting MarkupSafe==2.1.2
  Downloading MarkupSafe-2.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (25 kB)
Collecting mccabe==0.7.0
  Downloading mccabe-0.7.0-py2.py3-none-any.whl (7.3 kB)
Collecting mpmath==1.3.0
  Downloading mpmath-1.3.0-py3-none-any.whl (536 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 536.2/536.2 KB 50.4 MB/s eta 0:00:00
Collecting networkx==3.0
  Downloading networkx-3.0-py3-none-any.whl (2.0 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.0/2.0 MB 62.1 MB/s eta 0:00:00
Collecting numpy==1.24.1
  Downloading numpy-1.24.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.3 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 17.3/17.3 MB 58.3 MB/s eta 0:00:00
Requirement already satisfied: packaging==23.2 in /usr/local/lib/python3.10/dist-packages (from -r requirements.txt (line 23)) (23.2)
Collecting Pillow==9.3.0
  Downloading Pillow-9.3.0-cp310-cp310-manylinux_2_28_x86_64.whl (3.3 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 94.2 MB/s eta 0:00:00
Requirement already satisfied: platformdirs==3.11.0 in /usr/local/lib/python3.10/dist-packages (from -r requirements.txt (line 25)) (3.11.0)
Collecting pluggy==1.3.0
  Downloading pluggy-1.3.0-py3-none-any.whl (18 kB)
Collecting pydantic==2.4.2
  Downloading pydantic-2.4.2-py3-none-any.whl (395 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 395.8/395.8 KB 50.9 MB/s eta 0:00:00
Collecting pydantic_core==2.10.1
  Downloading pydantic_core-2.10.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.0 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.0/2.0 MB 68.3 MB/s eta 0:00:00
Collecting pylint==3.0.2
  Downloading pylint-3.0.2-py3-none-any.whl (510 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 510.6/510.6 KB 47.8 MB/s eta 0:00:00
Collecting pytest==7.4.2
  Downloading pytest-7.4.2-py3-none-any.whl (324 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 324.5/324.5 KB 39.2 MB/s eta 0:00:00
Collecting requests==2.28.1
  Downloading requests-2.28.1-py3-none-any.whl (62 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.8/62.8 KB 11.3 MB/s eta 0:00:00
Collecting sniffio==1.3.0
  Downloading sniffio-1.3.0-py3-none-any.whl (10 kB)
Collecting starlette==0.27.0
  Downloading starlette-0.27.0-py3-none-any.whl (66 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 67.0/67.0 KB 11.5 MB/s eta 0:00:00
Collecting sympy==1.12
  Downloading sympy-1.12-py3-none-any.whl (5.7 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.7/5.7 MB 97.6 MB/s eta 0:00:00
Requirement already satisfied: tomli==2.0.1 in /usr/local/lib/python3.10/dist-packages (from -r requirements.txt (line 35)) (2.0.1)
Requirement already satisfied: tomlkit==0.12.1 in /usr/local/lib/python3.10/dist-packages (from -r requirements.txt (line 36)) (0.12.1)
Collecting torch==2.1.0+cpu
  Downloading https://download.pytorch.org/whl/cpu/torch-2.1.0%2Bcpu-cp310-cp310-linux_x86_64.whl (184.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 184.9/184.9 MB 12.8 MB/s eta 0:00:00
Collecting torchaudio==2.1.0+cpu
  Downloading https://download.pytorch.org/whl/cpu/torchaudio-2.1.0%2Bcpu-cp310-cp310-linux_x86_64.whl (1.6 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.6/1.6 MB 77.5 MB/s eta 0:00:00
Collecting torchvision==0.16.0+cpu
  Downloading https://download.pytorch.org/whl/cpu/torchvision-0.16.0%2Bcpu-cp310-cp310-linux_x86_64.whl (1.6 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.6/1.6 MB 62.0 MB/s eta 0:00:00
Requirement already satisfied: typing_extensions==4.8.0 in /usr/local/lib/python3.10/dist-packages (from -r requirements.txt (line 40)) (4.8.0)
Collecting urllib3==1.26.13
  Downloading urllib3-1.26.13-py2.py3-none-any.whl (140 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 140.6/140.6 KB 20.6 MB/s eta 0:00:00
Collecting uvicorn==0.23.2
  Downloading uvicorn-0.23.2-py3-none-any.whl (59 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 59.5/59.5 KB 11.3 MB/s eta 0:00:00
Installing collected packages: mpmath, urllib3, sympy, sniffio, pydantic_core, pluggy, Pillow, numpy, networkx, mccabe, MarkupSafe, iniconfig, h11, fsspec, filelock, exceptiongroup, dill, charset-normalizer, certifi, astroid, annotated-types, uvicorn, requests, pytest, pylint, pydantic, Jinja2, anyio, torch, starlette, torchvision, torchaudio, fastapi
  Attempting uninstall: urllib3
    Found existing installation: urllib3 2.0.7
    Uninstalling urllib3-2.0.7:
      Successfully uninstalled urllib3-2.0.7
  Attempting uninstall: filelock
    Found existing installation: filelock 3.12.4
    Uninstalling filelock-3.12.4:
      Successfully uninstalled filelock-3.12.4
  Attempting uninstall: charset-normalizer
    Found existing installation: charset-normalizer 3.3.1
    Uninstalling charset-normalizer-3.3.1:
      Successfully uninstalled charset-normalizer-3.3.1
  Attempting uninstall: certifi
    Found existing installation: certifi 2023.7.22
    Uninstalling certifi-2023.7.22:
      Successfully uninstalled certifi-2023.7.22
  Attempting uninstall: requests
    Found existing installation: requests 2.31.0
    Uninstalling requests-2.31.0:
      Successfully uninstalled requests-2.31.0
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
virtualenv 20.24.6 requires filelock<4,>=3.12.2, but you have filelock 3.9.0 which is incompatible.
Successfully installed Jinja2-3.1.2 MarkupSafe-2.1.2 Pillow-9.3.0 annotated-types-0.6.0 anyio-3.7.1 astroid-3.0.1 certifi-2022.12.7 charset-normalizer-2.1.1 dill-0.3.7 exceptiongroup-1.1.3 fastapi-0.104.0 filelock-3.9.0 fsspec-2023.4.0 h11-0.14.0 iniconfig-2.0.0 mccabe-0.7.0 mpmath-1.3.0 networkx-3.0 numpy-1.24.1 pluggy-1.3.0 pydantic-2.4.2 pydantic_core-2.10.1 pylint-3.0.2 pytest-7.4.2 requests-2.28.1 sniffio-1.3.0 starlette-0.27.0 sympy-1.12 torch-2.1.0+cpu torchaudio-2.1.0+cpu torchvision-0.16.0+cpu urllib3-1.26.13 uvicorn-0.23.2
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
trunk init 2/6 ✓
⡿ Downloading Trunk 1.17.1...
⡿ Downloading Trunk 1.17.1...
⢿ Downloading Trunk 1.17.1...
⣻ Downloading Trunk 1.17.1...
⣽ Downloading Trunk 1.17.1...
⣾ Downloading Trunk 1.17.1...
⣷ Downloading Trunk 1.17.1...
✔ Downloading Trunk 1.17.1... done
⡿ Verifying Trunk sha256...
✔ Verifying Trunk sha256... done
⡿ Unpacking Trunk...
✔ Unpacking Trunk... done

✔ 13 linters were enabled (.trunk/trunk.yaml)
  actionlint 1.6.26 (2 github-workflow files)
  bandit 1.7.5 (2 python files)
  black 23.9.1 (2 python files)
  checkov 3.0.12 (5 yaml files)
  git-diff-check (12 files)
  isort 5.12.0 (2 python files) (created .isort.cfg)
  markdownlint 0.37.0 (1 markdown file) (created .markdownlint.yaml)
  osv-scanner 1.4.2 (1 lockfile file)
  prettier 3.0.3 (1 markdown, 5 yaml files)
  ruff 0.1.3 (2 python files) (created ruff.toml)
  trivy 0.46.0 (5 yaml files)
  trufflehog 3.60.4 (12 files)
  yamllint 1.32.0 (5 yaml files) (created .yamllint.yaml)
Next Steps
 1. Read documentation
    Our documentation can be found at https://docs.trunk.io
 2. Get help and give feedback
    Join the Trunk community at https://slack.trunk.io
trunk fmt src/cnn.py || exit 0 3/6 ✓
 ✔ Formatted src/cnn.py
Re-checking autofixed files...

Checked 1 file
✔ No issues
trunk check --fix --print-failures src/cnn.py 4/6 ✓
 ✔ Auto-fixed src/cnn.py
Re-checking autofixed files...

Checked 1 file
✔ No issues
if [[ $(echo "src/cnn.py" | grep 'test.*\.py$') ]]; then PYTHONPATH=. python src/cnn.py; else exit 0; fi 5/6 ✓
(nothing was outputted)
if [[ "src/cnn.py" == *test*.py ]]; then PYTHONPATH=. pytest src/cnn.py; else exit 0; fi 6/6 ✓
(nothing was outputted)

trunk fmt src/main.py || exit 0 1/4 ✓
 ✔ Formatted src/main.py
Re-checking autofixed files...

 ✔ Formatted src/main.py
Re-checking autofixed files...

Checked 1 file
✔ No issues
Run trunk upgrade to upgrade 1 linter
trunk check --fix --print-failures src/main.py 2/4 ✓
 ✔ Auto-fixed src/main.py
Re-checking autofixed files...

  ISSUES  
src/main.py:1:17
  1:17  high  `numpy` imported but unused                              ruff/F401
 42:5   high  Loop control variable `epoch` not used within loop body  ruff/B007
Checked 1 file
2 existing issues (2 auto-fixable)
if [[ $(echo "src/main.py" | grep 'test.*\.py$') ]]; then PYTHONPATH=. python src/main.py; else exit 0; fi 3/4 ✓
(nothing was outputted)
if [[ "src/main.py" == *test*.py ]]; then PYTHONPATH=. pytest src/main.py; else exit 0; fi 4/4 ✓
(nothing was outputted)

sweep-nightly[bot] commented 10 months ago

Apply Sweep Rules to your PR?