{"id":16955676,"url":"https://github.com/rcdexta/ezuthu","last_synced_at":"2025-08-17T19:35:14.003Z","repository":{"id":138670723,"uuid":"254235884","full_name":"rcdexta/ezuthu","owner":"rcdexta","description":"A Deep Learning Model for recognizing Tamil characters","archived":false,"fork":false,"pushed_at":"2020-04-09T05:59:22.000Z","size":80330,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-25T17:47:01.041Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://ezuthu.herokuapp.com/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rcdexta.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-09T00:55:37.000Z","updated_at":"2023-03-04T11:12:01.000Z","dependencies_parsed_at":null,"dependency_job_id":"7e1c6977-ab2b-4ac9-bc44-c1265e547acc","html_url":"https://github.com/rcdexta/ezuthu","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rcdexta%2Fezuthu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rcdexta%2Fezuthu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rcdexta%2Fezuthu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rcdexta%2Fezuthu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rcdexta","download_url":"https://codeload.github.com/rcdexta/ezuthu/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248483532,"owners_count":21111472,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-13T22:12:56.066Z","updated_at":"2025-04-11T21:34:01.737Z","avatar_url":"https://github.com/rcdexta.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ezuthu\nTamil Character Classifier\n\n### What is this project?\n\nThis project attempts to use a simple Pytorch vision learner applied on top of the [HPL Tamil Dataset](http://shiftleft.com/mirrors/www.hpl.hp.com/india/research/penhw-resources/TamilChar.pdf) to recognize handwritten tamil characters with reasonable accuracy. Refer to the notebook above to know more about the model and how it was trained.\n\nA snapshot of what can be done with the app:\n\n![](https://github.com/rcdexta/ezuthu/raw/master/assets/example.png)\n\nThe application takes user input which is handwritten on the canvas and compares it against its training data to make 3 best guesses about the character. \n\n\u003e This is my first attempt at a vision classifier. I am a deep learning novice trying to learn by doing. So, the app here might not be super accurate and will have multiple edge cases where it miserably fails. Hoping to come back to his as I gain more expertise in future\n\n### Learning Model\n\nThe learning model is built on top of [fast.ai](https://www.fast.ai) and [PyTorch](https://pytorch.org) and uses [ResNet-34](https://www.kaggle.com/pytorch/resnet34) Convolutional Neural Network architecture to train the model.\n\nRefer to the [notebook](https://github.com/rcdexta/ezuthu/blob/master/notebook/notebook.md) for more details about the model and training methodology.\n\n### Server\n\nThe server is a simple python app on top of [Starlette](https://www.starlette.io/) that accepts a png image as multi-part form data and does inference against the model that we built using our training. Refer to `export.pkl` which is actually our model data that was output of our training. This is used as baseline by the server and it only uses CPU to do the inference. \n\n\n### Application\n\nThe application is a fork of [create-react-app](https://reactjs.org/docs/create-a-new-react-app.html) that contains a canvas that allows the user to draw the alphabet using a simple brush. On submit action, the app converts the canvas content to a PNG image and sends to the server. The server does the inference and based on predictions, sends the top 3 matching results for the given pixels. \n\n### Deployment\n\nThe app should be built separately and linked to the root `build` folder. The server will serve the app as a static asset. Both the app and server can be deployed in any containerized environment.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frcdexta%2Fezuthu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frcdexta%2Fezuthu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frcdexta%2Fezuthu/lists"}