So as the title states, im completely new to machine learning and deep learning but i understand the basic need for it especially in what im doing - recycling and disposal. However, implementing it and if what i have for ideas are even possible, i dont know.
My initial idea is to have users upload pictures of materials, to start, categorizing what the item is as best as possible, having them uploaded to my server and then my ML computer… learning, so that eventually people dont have to go through all the extra stuff - all they need to do it snap a pic and the rest is taken care of
how much is involved in something like this? is it even possible?
currently i have a workstation that i picked up dirt cheap -
CPU: tr pro 3995wx
GPU: asrock amd rx 6800xt phantom gaming (i know this is garb for ML and needs to be changed, i just dont know if to an nvidia a6000 or an amd instinct card)
MB: asus wrx80e, RAM
64gb ddr4 2666mhz (non-ecc)
I think what you’re proposing should be mostly possible, if I understand you correctly:
So, your users would take a picture of their trash, which gets uploaded to a server, which would then classify the type of trash using machine learning(what type of plastic or whatever your labels are), and that generated information would then automatically be entered into some other database or system to actually do something with the trash(pick it up or whatever).
Is that your general idea? Without going into the implementation details(you’ll still need to learn python), your rough outline would be this:
- Obtain good, clean, labeled input data. This is the most difficult step. This would probably include writing a web application to take in the initial data.
- Train ML model on labeled input data, test predictions using different input data.
- Write the final web application to take in user-supplied pictures, feed them to the trained ML model, then take the generated labels and forward them to whatever system manages what you do with the trash.
You might want to consider re-training an existing image classification network - this could significantly reduce training time, while increasing the quality of the predictions.
On a more general note, ML is almost never 100% accurate, and might have very weird systemic errors. So you’ll likely need some form of manual checking.
(Regarding the GPU capabilities - You should be fine for now. The 6800XT is plenty fast. Just make sure to use a ML framework that supports compute on AMD cards well)
If you’ve got a more specific question, let me know