{ "cells": [ { "cell_type": "markdown", "metadata": { "id": "vxAtbCt2Si2L" }, "source": [ "🧠 **NeuroFeel** – (Where AI Meets Emotion)\n", "NeuroFeel is a tiny emotion detection model built on NeuroBERT.\n", "It’s lightweight (~25MB), works offline, and is perfect for edge and mobile devices.\n", "\n", "\n", "**🔍 Trained on:**\n", "📊 Boltuix Emotions Dataset – crafted for real, short-text emotional expressions.\n", "\n", "\n", "🔗 Dataset: [Emotions Dataset](https://huggingface.co/datasets/boltuix/emotions-dataset)\n", "\n", "\n", "💡 Use NeuroFeel in:\n", "📱 Mobile apps\n", "🏠 Smart homes\n", "⌚ Wearables\n", "💬 Chatbots\n", "🧘 Mental health tools\n", "\n", "\n", "❤️ Understands 13 emotions like:\n", "Happy, Sad, Angry, Loved, Scared, Excited, and more.\n", "\n", "**⚡ Why NeuroFeel?**\n", "Ultra-fast and low memory\n", "\n", "**Edge-ready**\n", "Great for emotional intelligence in devices\n", "\n", "**🔗 Model:** [NeuroFeel Model](https://huggingface.co/boltuix/NeuroFeel)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 672, "referenced_widgets": [ "83ee878c039f47edb96fde00e6983a4b", "6431434040ca4b0d8738746930297070", "87d22a71e458437faf0ce8bb8defedeb", "5a95456db43d4267a8c7ae1d3adb9110", "bcf8516da0904b0abc5ef3f0278e00b5", "587a98275dd34c08a618fb9111d73fe4", "24fe1819e2d4414f8bfd8d30633c6fe2", "f5110aa7303d4828877d7582ef636c7d", "7cec1b1c66dc48bc93ffc6825e289330", "21e071df139249d682835f68117b4eda", "0bc9dd340c624a5fac7683ed00498c2c", "e76d997ea69c48d7b11f55a4d0b9d9a3", "02b7ea08c62a464aa0ec1126cc7aecb2", "0574728db5104852abfb4b7078929cad", "6c9b4fff204e4b19adf82309fa1a4556", "0571849b1c1347a6ad44581aa6d3014c", "4214e904c01d4c0ca1a3856a2c913786", "6f3597c9cdeb45d995dbcb9b494b9032", "5c3c994f7c3a4b41a1613c8deb74ae4a", "14d9f5d18d37430b8f4b1f5002976c14", "7e329e78d0d648c8b793a80b732a6b8e", "94ee1ab7847d4a3784f026bdb6c1645f", "2fdb97fea1274feab421442b35e98a5c", "295eb20afb8a4b88a35ebda114369fe2", "5fbaff21141b41e78964fa0dc8730292", "15194a408fb5415fa1f28d465700521e", "322deeed887c4499b96026564e6d1d22", "94c23de385894e1faa02664d8970b5bc", "5db9ecd4769e49f6bfef8bc5013611ed", "b1e321c905a648d2bc90bd7c5eb50367", "b0f55fb60973416dba9eef54b929793a", "95fe2503295144bb8468123ec3b40d1c", "a9c2da3c42f9486e9caabc123c4350f4", "7ff76b22476143dda0a60ee3c45a2573", "6ed9a1236be7488489bda90570bcf491", "644c507725544b9784503eac031ae937", "b477c3f151714d918af683b0743f5068", "26ccd138f2594379a54bcf28ea426f08", "ad36b1ffe2bb4e3ca6838b4b612949fe", "c2fda8ced9544c30a74861243e13cec8", "1b1bf9ce6edc44d6946e0e3a3004cae6", "2bae8ec848554c1bac9f95e73200ebc2", "c4d7d20019e14d8c8fc8a7ab9cc2d9f1", "b00a8aa97c1d40b28567cb25233182e4", "92fb1012832d4648b8afe6ce9e679fc4", "05b597fa33d94d8489f0a906b6601ac6", "51408a68fa75477eb73b28bd08478a27", "87df8146909842a7abc9ecfa73e1b308", "51cb98c739e94588a74df263daf62c4f", "d218377a68a64eb5a4f5457020a62725", "13310f97091f466bbe9c14cca6797a27", "5d5a5d3b0bfb4984b52a2282d4be3405", "bb071aeb68d54afe9de4f96770c16b8d", "6412c72c5f874277bd04ef23222713d5", "a93f582392ee462793e968d26b32f33e", "128a5ed0c23146febe335db237e2710f", "78fe8ef2b501428f95ec0c792b164403", "4c1ef193029f403da623358d6eea2e19", "28062357e02f48a6936389feded24575", "fc6c756a30cc4963aa20f9b448acab10", "de782ab08ffd4c4f9cddc9ea5d278762", "eb02f42f31544cd692933fce1280374d", "3ef0ad6cffc04384a7734c17ca71066e", "38eace2350d24617a7054a3f23fd083b", "3cbf6205e1dc412e9c8245bf086e3e7c", "8285dd8bd8c94898bce1cbe3ffb64736" ] }, "id": "wHooIdoXPICj", "outputId": "5648d7d8-4260-47fa-9ff1-e01ca836a7db" }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/usr/local/lib/python3.11/dist-packages/huggingface_hub/utils/_auth.py:94: UserWarning: \n", "The secret `HF_TOKEN` does not exist in your Colab secrets.\n", "To authenticate with the Hugging Face Hub, create a token in your settings tab (https://huggingface.co/settings/tokens), set it as secret in your Google Colab and restart your session.\n", "You will be able to reuse this secret in all of your notebooks.\n", "Please note that authentication is recommended but still optional to access public models or datasets.\n", " warnings.warn(\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "83ee878c039f47edb96fde00e6983a4b", "version_major": 2, "version_minor": 0 }, "text/plain": [ "tokenizer_config.json: 0%| | 0.00/1.36k [00:00, ?B/s]" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "e76d997ea69c48d7b11f55a4d0b9d9a3", "version_major": 2, "version_minor": 0 }, "text/plain": [ "vocab.txt: 0%| | 0.00/232k [00:00, ?B/s]" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "2fdb97fea1274feab421442b35e98a5c", "version_major": 2, "version_minor": 0 }, "text/plain": [ "special_tokens_map.json: 0%| | 0.00/132 [00:00, ?B/s]" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "7ff76b22476143dda0a60ee3c45a2573", "version_major": 2, "version_minor": 0 }, "text/plain": [ "tokenizer.json: 0%| | 0.00/711k [00:00, ?B/s]" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "92fb1012832d4648b8afe6ce9e679fc4", "version_major": 2, "version_minor": 0 }, "text/plain": [ "config.json: 0%| | 0.00/611 [00:00, ?B/s]" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "128a5ed0c23146febe335db237e2710f", "version_major": 2, "version_minor": 0 }, "text/plain": [ "model.safetensors: 0%| | 0.00/57.5M [00:00, ?B/s]" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "Some weights of BertForSequenceClassification were not initialized from the model checkpoint at boltuix/NeuroBERT and are newly initialized: ['bert.pooler.dense.bias', 'bert.pooler.dense.weight', 'classifier.bias', 'classifier.weight']\n", "You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.\n", "Training: 0%| | 1/32830 [00:01<10:58:37, 1.20s/step, epoch=0.00, step=1]" ] }, { "data": { "text/html": [ "\n", "
Epoch | \n", "Training Loss | \n", "Validation Loss | \n", "
---|---|---|
1 | \n", "0.859700 | \n", "0.986835 | \n", "
2 | \n", "0.917500 | \n", "0.912361 | \n", "
3 | \n", "0.855600 | \n", "0.881038 | \n", "
4 | \n", "0.753100 | \n", "0.896444 | \n", "
5 | \n", "0.663200 | \n", "0.905136 | \n", "
"
],
"text/plain": [
"