**Assignment 01: Neural Network Demos** *Due date found on gradescope* [Back to Neural Networks](http://cs.pomona.edu/classes/cs152/) # Learning Goals - Learn how to use Pomona HPC servers - Learn how to use the command-line interface (CLI) - See how neural networks can be used # Grading Walk-Throughs This assignment will be graded as pass/needs-revisions by a TA. To pass the assignment, you must 1. Complete the assignment and submit your work to gradescope. - You should start this assignment in class on the day shown on the calendar. - **Complete the assignment as early as possible**. 2. Schedule a time to meet with a TA prior to the deadline. - You must book a time to meet with a TA - Sign-up on the Google Sheet **with at least 36 hours of notice**. - Contact your TA on Slack after signing-up. - All partners must meet with the TA. If you can't all make it at the same time, then each of you needs to schedule a time to meet with the TAs. 3. Walk the TA through your solutions prior to the deadline. - Walk-throughs should take no more than 20 minutes. - You should be well prepared to walk a TA through your answers. - You may not make any significant corrections during the walk-through. You should plan on making corrections afterward and scheduling a new walk-through time. Mistakes are expected--nobody is perfect. - You must be prepared to explain your answers and justify your assumptions. TAs do not need to lead you to the correct answer during a walk-through--this is best left to a mentor session. 4. The TA will then either - mark your assignment as "pass" on gradescope, or - mark your assignment as "needs-revisions" and inform you that you have some corrections to make. 5. If corrections are needed, then you will need to complete them and then schedule a new time to meet with the TA. - You will ideally complete any needed revisions by the end of the day the following Monday If you have concerns about the grading walk-through, you can meet with me after you've first met with a TA. # Overview For this assignment, you will need to: 1. Login to a Pomona HPC server using port forwarding 2. Use an Anaconda environment 3. Navigate a computer via the command line 4. Clone a GitHub repository 5. Run a Python3 script 6. Report on your experience Everyone must work on this assignment in pairs. Please let me know if you need help finding a partner. # Tasks Start by reading [instructions for Connecting to the Pomona College HPC](https://cs.pomona.edu/classes/cs152/pages/pomona-hpc.mdeep.html). **Please read these instructions all the way through, prior to working on the assignment.** It is very important that you complete the section [Useful and Required Environment Variables and Aliases](https://cs.pomona.edu/classes/cs152/pages/pomona-hpc.mdeep.html#usefulandrequiredenvironmentvariablesandaliases) prior to running the demos. Once you are up and running on the HPC, you must: ~~~bash linenumbers # Clone the course repository (the chosen directory is just a recommendation) mkdir -p ~/courses/152/ cd ~/courses/152/ git clone https://github.com/anthonyjclark/cs152sp22.git # Navigate to the assignment cd cs152sp22/Assignments/A01-Demos/ # Activate the conda environment source /opt/mambaforge/bin/activate cs152 # Run the Streamlit demo (replace PORT with your port number) streamlit run Demo.py --server.port PORT ~~~ Now you should navigate to [localhost:PORT](localhost:PORT) (replacing `PORT` with your port number). Notice that this URL is different than the one printed to the terminal output. Please take turns running the demo, and in between switching between partners you should stop the streamlit program. You can kill streamlit by typing "ctrl+c" at the terminal. Note: for this to work, you must have logged on to the server using port forwarding as stated in the instructions linked above. # Submitting Your Assignment You will submit your code and/or responses on gradescope. **Only one partner should submit.** The submitter will add the other partner through the gradescope interface. To pass the autograder (if one exists for this assignment), your output must exactly match the expected output. Your program output should be similar to the example execution above, and the autograder on gradescope will show you the correct output if yours is not formatted properly. You can use [text-compare](https://text-compare.com/) to compare your output to the expected output and that should give you an idea if you have a misspelled word or extra space (or if I do). Additional details for using gradescope can be found here: - [Submitting an Assignment](https://help.gradescope.com/article/ccbpppziu9-student-submit-work) - [Adding Group Members](https://help.gradescope.com/article/m5qz2xsnjy-student-add-group-members) - [gradescope Student Help Center](https://help.gradescope.com/category/cyk4ij2dwi-student-workflow)