DogDex banner

DogDex

9 devlogs
66h 36m 37s

A little app similar to a real PokeDex that allows you to upload pictures of dogs you have found and add them to your collection. Right now there is a mobile app that allows you to upload an image and identify the dog but nothing much more. I'm us…

A little app similar to a real PokeDex that allows you to upload pictures of dogs you have found and add them to your collection. Right now there is a mobile app that allows you to upload an image and identify the dog but nothing much more. I’m using PyTorch for the dog identification neural network and Flutter for the mobile UI. I uhh, use Arch btw.

This project uses AI

I asked AI to teach me how PyTorch works. No AI is present in the code of the finished product.

Demo Repository

Loading README...

tobë

Shipped this project!

Hours: 66.61
Cookies: 🍪 1526
Multiplier: 22.91 cookies/hr

I built a mobile app which acts like a real-life Pokédex but for dogs. You can upload pictures of dogs and it will use a neural network to identify the dog breed and then register it to your collection. In the process of making this I learnt a lot about how neural networks operate and this was also my first time coding in the Dart programming language. I am very proud of my efforts and that I didn’t give up on this project along the way. I poured my heart and soul into this project so I hope you enjoy it! I hope to update this project in the future with new features and ideas.

tobë

Major updates to the collection page, You can now actually register the dogs you find. Added app launcher icon. Updated API to new neural network. If you find any issues please either send them to [email protected] or put them here https://github.com/twig46/dogdex/issues/new/choose. I will next work on updating the dog info pages to display more detailed information. And update the dog upload page to have more intuitive UI.

Attachment
0
tobë

I trained the new neural network, although I have yet to add it to the API. I also had this whole ordeal and switched from Railway to self-hosting for my API. I also got a domain https://tobyv.dev/ which isn’t doing much at the moment but is hosting the API at dog-api.@ I have also officially decided to release DogDex into the outside world, I have setup API keys and rate limiting and all that stuff. You can find the .apk at https://tobyv.dev/dogdex/dogdex.apk (I’m sorry I couldn’t get web working).

Attachment
0
tobë

Finally got the new dataset working. At first it took an incredibly long amount of time to train even just one epoch but luckily we managed to setup a Jupyter server on my dad’s server with GPU access. This sped up the training process immensely and it went from 5 hours per epoch to 25 minutes. After I’ve trained a decent model with at least ~70% accuracy I will continue work on the frontend

Attachment
0
tobë

Sorry I haven’t made a devlog in a while. I was just having too much fun working on the project. While I was gone two major things happened. The first was me switching my API backend from Render to Railway, this sacrificed a small amount of memory but meant the the API is able to be ran at all times and won’t spin down with inactivity. This change allows for a more streamlined user experience. The second major change was a UI overhaul. With me actually getting the hang of Flutter (My UI framework) I was able to make this (see image). Clicking on a dog image will eventually bring up an information panel and pressing the camera in the top right brings you to the identification screen. Right now I’m working on retraining the neural network for more dog breeds.

Attachment
1

Comments

tobë
tobë 25 days ago

Also, this is the new dataset in case you were wondering: https://hyper.ai/en/datasets/16786

tobë

I started work on the mobile UI. At first I wanted to have the neural network built into the app but this just ended up crashing a lot and was overall unsuccessful. What actual worked was when I made an API backend to call upon. I had a few errors at first which I spent several grueling hours trying to fix only to realize I was looking in the completely wrong place the whole time. Luckily that is all fixed and I now have a working frontend that can Identify dogs!!

Attachment
1

Comments

tobë
tobë about 1 month ago

Sadly it doesn’t actually work on my own dog. She is a mutt and the one breed we know she is… isn’t in my dataset

tobë

Nothing Major has happened but I added a README file and made the GitHub repo public for all to use (although I doubt anyone will).
Come check out / Star my github repo!
https://github.com/twig46
Also no related picture today I’m on Linux and my screenshot tool stopped working, I’m looking into it now. Enjoy Kora :3

Attachment
0
tobë

I’ve gotten to the point where I can’t write devlogs fast enough to keep up with the amount of time I’m spending on this. I trained a few more times and noticed that the accuracy was getting stuck at around 55%. I fixed this by adding a “Learning Rate Scheduler” which should help when it gets stuck.
On another note, check out this cool whippet I found!

Attachment
0
tobë

Completely rewrote the neural network from scratch and now I have a much better understanding of how it works. Also made a way to query the neural network so it can actually identify dogs. The next step is probably to run it on a computer with a functioning GPU so I can hyper-train it (I made that up).

Attachment
1

Comments

tobë
tobë about 1 month ago

There is also officially 0 AI written code left in the model.