{"id":206,"date":"2024-11-30T03:25:42","date_gmt":"2024-11-30T03:25:42","guid":{"rendered":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamb5\/?p=206"},"modified":"2024-11-30T03:25:42","modified_gmt":"2024-11-30T03:25:42","slug":"alanis-status-report-for-11-30","status":"publish","type":"post","link":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamb5\/2024\/11\/30\/alanis-status-report-for-11-30\/","title":{"rendered":"Alanis&#8217; Status Report for 11\/30"},"content":{"rendered":"<p><b>What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours.<\/b><\/p>\n<p><span style=\"font-weight: 400\">I fixed our usage model by compiling a new dataset. I manually labeled about 5000 images of clothing items like dresses, tops, jackets, etc. which could either be casual or formal. I then trained a ResNet50 model on this dataset and was able to achieve an 84% validation and a 65% \u201csanity check\u201d accuracy. The code for the manual labelling is <\/span><a href=\"https:\/\/github.com\/rkrzywda\/B5_Style_Sprout\/blob\/main\/classification\/process.py\"><span style=\"font-weight: 400\">here<\/span><\/a><span style=\"font-weight: 400\">, which basically displayed an image and allowed me to determine if it was casual\/formal. The code for the usage training is <\/span><a href=\"https:\/\/github.com\/rkrzywda\/B5_Style_Sprout\/blob\/main\/classification\/usage_train.py\"><span style=\"font-weight: 400\">here<\/span><\/a><span style=\"font-weight: 400\">.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">I also worked in-person with Riley to debug the Jetson issues with Tensorflow. The issue ended up being an incorrect Jetpack version. I then wrote <\/span><a href=\"https:\/\/github.com\/rkrzywda\/B5_Style_Sprout\/blob\/main\/camera\/video_capture.py\"><span style=\"font-weight: 400\">some code <\/span><\/a><span style=\"font-weight: 400\">on the Jetson to run inference on the 3 classification models. This involved converting my .keras models to the \u201csaved model\u201d format, which cannot be trained further, and then to the TFLite format, which allows much faster inference on the Jetson.<\/span><\/p>\n<p><span style=\"font-weight: 400\">I also added some frontend\/backend features. I wrote <\/span><a href=\"https:\/\/github.com\/rkrzywda\/B5_Style_Sprout\/commit\/174d5690a616b1f858358151c9acba227248e97c\"><span style=\"font-weight: 400\">a function<\/span><\/a><span style=\"font-weight: 400\"> which takes a city name as a string and returns if the weather is cold, neutral, or hot. This utilizes the OpenWeatherMap API. I also changed the frontend <\/span><a href=\"https:\/\/github.com\/gpf2\/B5Frontend\/commit\/4a35be20d5cceaf0c03b2871e5dbffbd36573744\"><span style=\"font-weight: 400\">code<\/span><\/a><span style=\"font-weight: 400\"> to be able to display up to 4 pieces of clothing\u2014top\/dress\/jumpsuit, bottoms, jacket, and overwear(hoodie, sweater, etc). This needed to be done due to a change in our outfit generation algorithm. I also added a <\/span><a href=\"https:\/\/github.com\/gpf2\/B5Frontend\/commit\/58e4402c2c4a6bb227daa8a63d47e8f197cc79f4\"><span style=\"font-weight: 400\">frontend page<\/span><\/a><span style=\"font-weight: 400\"> which displays each piece of clothing in a users closet (6 per page with the option to scroll through pages). When a piece of clothing is clicked, it will show the user the current classification labels and allow them to be changed if necessary. I had to make <\/span><a href=\"https:\/\/github.com\/rkrzywda\/B5_Style_Sprout\/commit\/ae44f0a4c53afcc9c24f9a669467e139e9fca018\"><span style=\"font-weight: 400\">some changes<\/span><\/a><span style=\"font-weight: 400\"> to the backend APIs as well for this feature. These features took a few days and various commits, but the linked commits are the ones with the finished features.<\/span><\/p>\n<p><b><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-207\" src=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamb5\/wp-content\/uploads\/sites\/324\/2024\/11\/Screenshot-2024-11-29-at-7.24.57\u202fPM-300x252.png\" alt=\"\" width=\"300\" height=\"252\" srcset=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamb5\/wp-content\/uploads\/sites\/324\/2024\/11\/Screenshot-2024-11-29-at-7.24.57\u202fPM-300x252.png 300w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamb5\/wp-content\/uploads\/sites\/324\/2024\/11\/Screenshot-2024-11-29-at-7.24.57\u202fPM-768x645.png 768w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamb5\/wp-content\/uploads\/sites\/324\/2024\/11\/Screenshot-2024-11-29-at-7.24.57\u202fPM.png 896w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/b><\/p>\n<p><span style=\"font-weight: 400\">I also worked on our final presentation by creating the slides and writing information for Riley to turn into a script.<\/span><\/p>\n<p><span style=\"font-weight: 400\">I also began the systemic testing for our classification by writing code to help determine how the accuracy changes when the brightness of the image is increased\/decreased.<\/span><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-208\" src=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamb5\/wp-content\/uploads\/sites\/324\/2024\/11\/Screenshot-2024-11-29-at-7.25.19\u202fPM-300x93.png\" alt=\"\" width=\"300\" height=\"93\" srcset=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamb5\/wp-content\/uploads\/sites\/324\/2024\/11\/Screenshot-2024-11-29-at-7.25.19\u202fPM-300x93.png 300w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamb5\/wp-content\/uploads\/sites\/324\/2024\/11\/Screenshot-2024-11-29-at-7.25.19\u202fPM-768x239.png 768w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamb5\/wp-content\/uploads\/sites\/324\/2024\/11\/Screenshot-2024-11-29-at-7.25.19\u202fPM-1024x319.png 1024w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamb5\/wp-content\/uploads\/sites\/324\/2024\/11\/Screenshot-2024-11-29-at-7.25.19\u202fPM.png 1324w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p><b>Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the proiect schedule?<\/b><\/p>\n<p><span style=\"font-weight: 400\">My progress is on schedule.<\/span><\/p>\n<p><b>What deliverables do you hope to complete in the next week?<\/b><\/p>\n<p><span style=\"font-weight: 400\">I hope to fix the color model and finish the systemic testing for brightness (brightness increase by 1.5\/2 and decrease by 1.5\/2).<\/span><\/p>\n<p><b>As you&#8217;ve designed, implemented and debugged your project, what new tools or new knowledge did you find it necessary to learn to be able to accomplish these tasks? What learning strategies did you use to acquire this new knowledge?<\/b><\/p>\n<p><b>We recognize that there are quite a few different methods (i.e. learning strategies) for gaining new knowledge &#8212; one doesn&#8217;t always need to take a class, or read a textbook to learn something new. Informal methods, such as watching an online video or reading a forum post are quite appropriate learning strategies for the acquisition of new knowledge.<\/b><\/p>\n<p><span style=\"font-weight: 400\">I had to learn how to use the Tensorflow framework to train a model. I used the online documentation for Tensorflow as the library is very well documented. I also had to learn how to use the pandas library to process datasets. I maily relied on <\/span><a href=\"https:\/\/www.w3schools.com\/python\/pandas\/pandas_dataframes.asp\"><span style=\"font-weight: 400\">this article<\/span><\/a><span style=\"font-weight: 400\"> from W3Schools. I also had to determine the best model architectures to use. I relied on <\/span><a href=\"https:\/\/arxiv.org\/html\/2406.17749v1\"><span style=\"font-weight: 400\">this paper<\/span><\/a><span style=\"font-weight: 400\"> which discusses the performance of different architectures on the Jetson.<\/span><\/p>\n<p><span style=\"font-weight: 400\">I also had to learn how to write backend APIs in the FastAPI format. I learned this from Gabriella. I also had to learn how to write Flutter code. I did this by googling \u201chow to create _ in flutter\u201d for each feature I wanted to make and following the forum posts or articles which came up.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">Whenever I hit roadblocks, I usually googled the error I was encountering and followed the advice of forum posts. For questions about the backend\/frontend, I usually asked Gabriella first to see if she had encountered them.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the &#8230;<\/p>\n","protected":false},"author":948,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3],"tags":[],"_links":{"self":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamb5\/wp-json\/wp\/v2\/posts\/206"}],"collection":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamb5\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamb5\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamb5\/wp-json\/wp\/v2\/users\/948"}],"replies":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamb5\/wp-json\/wp\/v2\/comments?post=206"}],"version-history":[{"count":1,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamb5\/wp-json\/wp\/v2\/posts\/206\/revisions"}],"predecessor-version":[{"id":209,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamb5\/wp-json\/wp\/v2\/posts\/206\/revisions\/209"}],"wp:attachment":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamb5\/wp-json\/wp\/v2\/media?parent=206"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamb5\/wp-json\/wp\/v2\/categories?post=206"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamb5\/wp-json\/wp\/v2\/tags?post=206"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}