{ "cells": [ { "cell_type": "markdown", "metadata": { "id": "jwVXrMh2RXNL" }, "source": [ "

BERT tutorial: Classify spam vs no spam emails

" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "138r6nNeSCUm", "outputId": "05ef5931-37b7-4b68-ace2-527007d47ded" }, "outputs": [], "source": [ "# !pip install tensorflow_text" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "id": "DvHoquhwRXNN" }, "outputs": [], "source": [ "import tensorflow as tf\n", "import tensorflow_hub as hub\n", "import tensorflow_text as text" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 206 }, "id": "Ku1S4jXbRXNO", "outputId": "87e652b4-5d14-40b5-9f6a-d7f049b6014d" }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ReviewLiked
0Wow... Loved this place.1
1Eww0
2Crust is not good.0
3Not tasty and the texture was just nasty.0
4Stopped by during the late May bank holiday of...1
\n", "
" ], "text/plain": [ " Review Liked\n", "0 Wow... Loved this place. 1\n", "1 Eww 0\n", "2 Crust is not good. 0\n", "3 Not tasty and the texture was just nasty. 0\n", "4 Stopped by during the late May bank holiday of... 1" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "\n", "df = pd.read_csv(\"Restaurant_Reviews.tsv\",delimiter = \"\\t\", quoting = 3)\n", "df.head(5)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 175 }, "id": "FcQL1a_TRXNP", "outputId": "c3565e8e-8dc0-4b82-a0a7-bd04570c24b0", "scrolled": true }, "outputs": [ { "data": { "application/vnd.google.colaboratory.intrinsic+json": { "repr_error": "'tuple' object has no attribute 'empty'", "type": "dataframe" }, "text/html": [ "\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Review
countuniquetopfreq
Liked
0257256Not recommended.2
1298298Wow... Loved this place.1
\n", "
\n", "
\n", "\n", "
\n", " \n", "\n", " \n", "\n", " \n", "
\n", "\n", "\n", "
\n", " \n", "\n", "\n", "\n", " \n", "
\n", "\n", "
\n", "
\n" ], "text/plain": [ " Review \n", " count unique top freq\n", "Liked \n", "0 257 256 Not recommended. 2\n", "1 298 298 Wow... Loved this place. 1" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.groupby('Liked').describe()" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "Ldpc0vp6RXNP", "outputId": "6573307b-a419-4a0d-f0a7-b1a441388518" }, "outputs": [ { "data": { "text/plain": [ "1 298\n", "0 257\n", "Name: Liked, dtype: int64" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df['Liked'].value_counts()" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 206 }, "id": "9Fal_i6bRXNQ", "outputId": "54754603-77e6-4ff8-9e3d-07ebe90063d5" }, "outputs": [ { "data": { "application/vnd.google.colaboratory.intrinsic+json": { "summary": "{\n \"name\": \"df\",\n \"rows\": 555,\n \"fields\": [\n {\n \"column\": \"Review\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 554,\n \"samples\": [\n \"STEAMBOAT WILLIE is an amazingly important film to our cinema history. \",\n \"there is no real plot. \",\n \"It's an empty, hollow shell of a movie. \"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Liked\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0,\n \"min\": 0,\n \"max\": 1,\n \"num_unique_values\": 2,\n \"samples\": [\n 0,\n 1\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"happiness\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 2,\n \"samples\": [\n \"not happy\",\n \"happy\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}", "type": "dataframe", "variable_name": "df" }, "text/html": [ "\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ReviewLikedhappiness
0Wow... Loved this place.1happy
1Eww0not happy
2Crust is not good.0not happy
3Not tasty and the texture was just nasty.0not happy
4Stopped by during the late May bank holiday of...1happy
\n", "
\n", "
\n", "\n", "
\n", " \n", "\n", " \n", "\n", " \n", "
\n", "\n", "\n", "
\n", " \n", "\n", "\n", "\n", " \n", "
\n", "\n", "
\n", "
\n" ], "text/plain": [ " Review Liked happiness\n", "0 Wow... Loved this place. 1 happy\n", "1 Eww 0 not happy\n", "2 Crust is not good. 0 not happy\n", "3 Not tasty and the texture was just nasty. 0 not happy\n", "4 Stopped by during the late May bank holiday of... 1 happy" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def determine_happiness(value):\n", " return 'happy' if value == 1 else 'not happy'\n", "\n", "# Add a new column 'happiness'\n", "df['happiness'] = df['Liked'].apply(determine_happiness)\n", "df.head()" ] }, { "cell_type": "markdown", "metadata": { "id": "O8sVhVcrRXNR" }, "source": [ "

Split it into training and test data set

" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "id": "U1zS0G_URXNR" }, "outputs": [], "source": [ "from sklearn.model_selection import train_test_split\n", "\n", "X_train, X_test, y_train, y_test = train_test_split(df['Review'],df['Liked'], random_state=10)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "PPiuKIUzRXNR", "outputId": "7680c830-34d6-4de8-dd30-30f301edc102", "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "188 This movie is so mind-bendingly awful, it coul...\n", "351 When a song could explain the emotions of the ...\n", "139 The characters were all funny and had the pecu...\n", "119 Lewis Black's considerable talent is wasted he...\n", "Name: Review, dtype: object" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X_train.head(4)" ] }, { "cell_type": "markdown", "metadata": { "id": "iHanOhRwRXNR" }, "source": [ "

Now lets import BERT model and get embeding vectors for few sample statements

" ] }, { "cell_type": "markdown", "metadata": { "id": "NYDTQWLlRXNR" }, "source": [ "

Get embeding vectors for few sample words. Compare them using cosine similarity

" ] }, { "cell_type": "markdown", "metadata": { "id": "8c2SPV1ERXNS" }, "source": [ "

Build Model

" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "id": "sDnX0jHlRXNS" }, "outputs": [], "source": [ "import tensorflow as tf\n", "import tensorflow_hub as hub\n", "\n", "# Load pre-trained BERT model from TensorFlow Hub\n", "bert_preprocess = hub.load(\"https://tfhub.dev/tensorflow/bert_en_uncased_preprocess/3\")\n", "bert_encoder = hub.load(\"https://tfhub.dev/tensorflow/bert_en_uncased_L-12_H-768_A-12/3\")\n", "\n", "# Define a custom Keras layer for BERT preprocessing\n", "class BERTPreprocessLayer(tf.keras.layers.Layer):\n", " def call(self, inputs):\n", " return bert_preprocess(inputs)\n", "\n", "# Define a custom Keras layer for BERT encoding\n", "class BERTEncoderLayer(tf.keras.layers.Layer):\n", " def call(self, inputs):\n", " return bert_encoder(inputs)\n", "\n", "# Bert layers\n", "text_input = tf.keras.layers.Input(shape=(), dtype=tf.string, name='text')\n", "preprocessed_text = BERTPreprocessLayer()(text_input)\n", "encoded_text = BERTEncoderLayer()(preprocessed_text)\n", "\n", "# Extract BERT outputs\n", "sequence_output = encoded_text['sequence_output'] # Get BERT's sequence output\n", "\n", "# Define an RNN layer\n", "\n", "lstm_layer = LSTM(128, return_sequences=False)\n", "\n", "# Bidirectional wrapper for LSTM layer\n", "bidirectional_lstm = Bidirectional(lstm_layer)(sequence_output)\n", "\n", "# Dropout layer for regularization\n", "dropout = Dropout(0.1)(bidirectional_lstm)\n", "\n", "# Output layer\n", "output = tf.keras.layers.Dense(1, activation='sigmoid')(dropout)\n", "\n", "# Construct final model\n", "model = tf.keras.Model(inputs=text_input, outputs=output)\n" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "OV7uneFTRXNS", "outputId": "8be4d3c0-3cc9-4679-95b5-ac394e4892d1" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Model: \"model\"\n", "__________________________________________________________________________________________________\n", " Layer (type) Output Shape Param # Connected to \n", "==================================================================================================\n", " text (InputLayer) [(None,)] 0 [] \n", " \n", " bert_preprocess_layer (BER {'input_mask': (None, 128) 0 ['text[0][0]'] \n", " TPreprocessLayer) , 'input_type_ids': (None, \n", " 128), \n", " 'input_word_ids': (None, \n", " 128)} \n", " \n", " bert_encoder_layer (BERTEn {'encoder_outputs': [(None 0 ['bert_preprocess_layer[0][0]'\n", " coderLayer) , 128, 768), , 'bert_preprocess_layer[0][1]\n", " (None, 128, 768), ', \n", " (None, 128, 768), 'bert_preprocess_layer[0][2]'\n", " (None, 128, 768), ] \n", " (None, 128, 768), \n", " (None, 128, 768), \n", " (None, 128, 768), \n", " (None, 128, 768), \n", " (None, 128, 768), \n", " (None, 128, 768), \n", " (None, 128, 768), \n", " (None, 128, 768)], \n", " 'default': (None, 768), \n", " 'pooled_output': (None, 7 \n", " 68), \n", " 'sequence_output': (None, \n", " 128, 768)} \n", " \n", " lstm (LSTM) (None, 128) 459264 ['bert_encoder_layer[0][14]'] \n", " \n", " dropout (Dropout) (None, 128) 0 ['lstm[0][0]'] \n", " \n", " dense (Dense) (None, 1) 129 ['dropout[0][0]'] \n", " \n", "==================================================================================================\n", "Total params: 459393 (1.75 MB)\n", "Trainable params: 459393 (1.75 MB)\n", "Non-trainable params: 0 (0.00 Byte)\n", "__________________________________________________________________________________________________\n" ] } ], "source": [ "model.summary()" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "id": "sIByHaNERXNT" }, "outputs": [], "source": [ "METRICS = [\n", " tf.keras.metrics.BinaryAccuracy(name='accuracy'),\n", " tf.keras.metrics.Precision(name='precision'),\n", " tf.keras.metrics.Recall(name='recall')\n", "]\n", "\n", "model.compile(optimizer='adam',\n", " loss='binary_crossentropy',\n", " metrics=METRICS)" ] }, { "cell_type": "markdown", "metadata": { "id": "NuI2_2vsRXNT" }, "source": [ "

Train the model

" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "model.fit(X_train, y_train, epochs=6, validation_split=0.2)\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "I3SlIz-sRXNT", "outputId": "5c72b6ff-4386-45e6-cf95-a3ccc4ec1b2e", "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "5/5 [==============================] - 72s 14s/step - loss: 0.4142 - accuracy: 0.8489 - precision: 0.8205 - recall: 0.9014\n" ] }, { "data": { "text/plain": [ "[0.4141685664653778,\n", " 0.8489208817481995,\n", " 0.8205128312110901,\n", " 0.9014084339141846]" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.evaluate(X_test, y_test)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "YvCIVZSQRXNT", "outputId": "08b2b104-86bd-4f1c-c0ad-b74e268a0517" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "5/5 [==============================] - 80s 16s/step\n" ] } ], "source": [ "y_predicted = model.predict(X_test)\n", "y_predicted = y_predicted.flatten()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "Dt509IIIRXNU", "outputId": "ad647cb5-6594-4a1d-d58d-a9a4a1131911", "scrolled": false }, "outputs": [ { "data": { "text/plain": [ "array([1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1,\n", " 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0,\n", " 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0,\n", " 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0,\n", " 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1,\n", " 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1,\n", " 1, 0, 1, 1, 0, 1, 1])" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import numpy as np\n", "\n", "y_predicted = np.where(y_predicted > 0.5, 1, 0)\n", "y_predicted" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "ulKDDokURXNU", "outputId": "2fc099f5-762f-49c0-c252-7f1f84dd679f" }, "outputs": [ { "data": { "text/plain": [ "array([[54, 14],\n", " [ 7, 64]])" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sklearn.metrics import confusion_matrix, classification_report\n", "\n", "cm = confusion_matrix(y_test, y_predicted)\n", "cm" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 466 }, "id": "tPARIUYgRXNU", "outputId": "7ab9340c-1d09-4aaa-8744-e2fcbd904183" }, "outputs": [ { "data": { "text/plain": [ "Text(50.722222222222214, 0.5, 'Truth')" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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6Gv9ZfvHWvmHEUp7ZG0jRgbY5+03dujtN3ac8JpOCR105wPZuvmamfrzX//YSJHhdNGiRQslJCTUGS8rK9PSpUu1cuVKDRv2/T8Cly1bpt69e2vHjh0aPHhww58RtmhxWiv66htd8shaRbZopn7dOujWtHOUGNtakvRt9Xf6jxfeVs7l550w2QBONy6XSw88cY+WP7lSnxbutzscWClMO1v6fD75fL6gMbfbLbfbXe/1e/fuVefOndWyZUt5PB55vV4lJSWpoKBANTU1SktLC1ybkpKipKQk5efnh5RI2DpH4ujRo5o/f76uuOIKeTweeTweXXHFFXrkkUd05AglvlNF364dNO8KjxZdd7H+89/O05dfV+qGpZtV6auRJP1x4y7179ZRQ3t3tTlSoGmZNPVa1X5Xq5X/9bzdocBqfiMsh9frVUxMTNDh9XrrfeSgQYO0fPlybdy4UYsXL9b+/fv129/+Vt98842Ki4sVGRmp2NjYoN8THx+v4uLikL6abRWJd999V+np6WrVqpXS0tLUs2dPSVJJSYkWLlyohx56SJs2bdLAgQNPeJ/6sjN/zXdyR1BsaSwX9uwc+HXPhHY6u2sHXfanl/XfHxapXWu33vmsWKtvHmljhEDT07tfL0248Spdfckku0PBKSQnJ0fZ2dlBY8erRowc+eP/d/v166dBgwape/fuev755xUVFb7qsG0/badNm6Yrr7xSS5YskcsVPAPPMAxNmTJF06ZNU35+/gnv4/V6NXfu3KCx/8gYoruuHBr2mNEw0VGRSmrfVgeOfaO9JaX64usK/db7QtA1s1a9pQHdO2rpDWnHuQvgbOcO6q+4Du20seClwFiLFi10273TNOGm8brsvAwbo0O4GWHakOpEbYxfEhsbq549e2rfvn265JJLVF1drdLS0qCqRElJSb1zKk7EtkTi/fff1/Lly+skEdL3fcOZM2dqwIABv3if+rIz//pHwhYnQvcvX42++LpCHdpG6dKzkjQ29ddB58ctek2zRp6rIb262BQhYL8NL2zUzjffCxpb/PcF2vDCRq1b9apNUcEyTeClXRUVFfr000913XXXKTU1VREREcrNzVVGxvdJa2FhoYqKiuTxeEK6r22JREJCgt55552gNa0/9c477yg+Pv4X71NfdvYtbY1G9aeNu3RRry5KjG2tI998q8VvfKDmLpdG9O2uuNYt651gmRDTSl3atbEhWqDxRLWKUlLyj3ODuiQlqtdZZ6qstFzFX5ao7OvyoOtrvvtORw9/pf/7tKixQ4XVbHiN+KxZszRq1Ch1795dBw8e1D333KPmzZvrmmuuUUxMjCZPnqzs7GzFxcUpOjpa06ZNk8fjCWmipWRjIjFr1izddNNNKigo0PDhwwNJQ0lJiXJzc/XMM8/oj39kKdSpoKT8X8p5YbtK/+VTu9ZuDUjqqOduulRxrVvaHRpgq7POSdHSlxYFPt8+b7ok6eXVr+ru6Q/YFRZOE1988YWuueYaffXVV+rYsaMuvPBC7dixQx07dpQkLViwQM2aNVNGRoZ8Pp/S09P15JNPhvwcl2HYtwH46tWrtWDBAhUUFKi2tlaS1Lx5c6Wmpio7O1tXXWVuh7dvV8/95YuA09Dg6ZvsDgFoct4v3m75MyrnTQjLfVrf/bew3CecbO0BjB8/XuPHj1dNTY2OHj0qSerQoYMiIiLsDAsAgPDi7Z/WioiIUGJiot1hAACAEDWJRAIAAEdrAqs2rEIiAQCA1WxYtdFYeI04AAAwjYoEAABWo7UBAADMCtcW2U0RrQ0AAGAaFQkAAKxGawMAAJhGIgEAAExj+ScAAEBdVCQAALAarQ0AAGCW4eBEgtYGAAAwjYoEAABWc3BFgkQCAACrsbMlAABAXVQkAACwGq0NAABgmoMTCVobAADANCoSAABYzDCcW5EgkQAAwGoObm2QSAAAYDUHJxLMkQAAAKZRkQAAwGJOftcGiQQAAFZzcCJBawMAAJhGRQIAAKs591UbJBIAAFjNyXMkaG0AAADTqEgAAGA1B1ckSCQAALCag+dI0NoAAACmUZEAAMBiTp5sSSIBAIDVHNzaIJEAAMBiTq5IMEcCAACYRkUCAACr0doAAABmGQ5OJGhtAAAA06hIAABgNQdXJEgkAACwGK0NAACAelCRAADAag6uSJBIAABgMSe3NkgkAACwmJMTCeZIAAAA06hIAABgMSdXJEgkAACwmuGyOwLL0NoAAACmUZEAAMBitDYAAIBphp/WBgAAQB0kEgAAWMzwh+c4GQ899JBcLpdmzJgRGKuqqlJWVpbat2+vNm3aKCMjQyUlJSHdl0QCAACLGYYrLIdZ7777rp566in169cvaHzmzJl65ZVXtGbNGuXl5engwYMaO3ZsSPcmkQAAwMEqKio0YcIEPfPMM2rXrl1gvKysTEuXLtWf/vQnDRs2TKmpqVq2bJm2b9+uHTt2NPj+JBIAAFgsXK0Nn8+n8vLyoMPn853w2VlZWbr88suVlpYWNF5QUKCampqg8ZSUFCUlJSk/P7/B341EAgAAixl+V1gOr9ermJiYoMPr9R73uatWrdKuXbvqvaa4uFiRkZGKjY0NGo+Pj1dxcXGDvxvLPwEAsJhhhOc+OTk5ys7ODhpzu931XnvgwAFNnz5dmzdvVsuWLcMTQD1IJAAAOEW43e7jJg4/V1BQoMOHD+vcc88NjNXW1mrbtm164okntGnTJlVXV6u0tDSoKlFSUqKEhIQGx0QiAQCAxezYkGr48OH64IMPgsYmTZqklJQU3XHHHerWrZsiIiKUm5urjIwMSVJhYaGKiork8Xga/BwSCQAALGZHItG2bVudffbZQWOtW7dW+/btA+OTJ09Wdna24uLiFB0drWnTpsnj8Wjw4MENfg6JBAAAp6kFCxaoWbNmysjIkM/nU3p6up588smQ7kEiAQCAxcI12fJkbd26Nehzy5YttWjRIi1atMj0PUkkAACwGC/tAgAAqAcVCQAALHYy78lo6kgkAACw2Mm+ubMpo7UBAABMoyIBAIDF/LQ26qqurtbhw4fl9wfXa5KSkk46KAAAnIQ5Ej+xd+9e3XDDDdq+fXvQuGEYcrlcqq2tDVtwAAA4gZOXf4acSEycOFEtWrTQhg0blJiYKJfLuX84AADgxEJOJHbv3q2CggKlpKRYEQ8AAI7TVHa2tELIiUSfPn109OhRK2IBAMCRnNzaaNDyz/Ly8sDx8MMPa/bs2dq6dau++uqroHPl5eVWxwsAAJqQBlUkYmNjg+ZCGIah4cOHB13DZEsAAOp32i//3LJli9VxAADgWKf98s8hQ4YEfl1UVKRu3brVWa1hGIYOHDgQ3ugAAECTFvIW2cnJyTpy5Eid8WPHjik5OTksQQEA4CSGEZ6jKQp51cYPcyF+rqKiQi1btgxLUAAAOMlpP0dCkrKzsyVJLpdLc+bMUatWrQLnamtrtXPnTp1zzjlhDxAAADRdDU4k/ud//kfS9xWJDz74QJGRkYFzkZGR6t+/v2bNmhX+CAEAOMWd9pMtpR9XbkyaNEmPP/64oqOjLQsKAAAnaarzG8Ih5DkSy5YtsyIOAAAcizkSPzFs2LATnn/jjTdMBwMAAE4tIScS/fv3D/pcU1Oj3bt368MPP1RmZmbYAjsZba972u4QgCbp24Nv2h0CcFpijsRPLFiwoN7xe++9VxUVFScdEAAATuPk1kbIG1Idz7XXXqtnn302XLcDAACngJArEseTn5/PhlQAANTDwYs2Qk8kxo4dG/TZMAwdOnRI7733nubMmRO2wAAAcAontzZCTiRiYmKCPjdr1ky9evXSvHnzdOmll4YtMAAA0PSFlEjU1tZq0qRJ6tu3r9q1a2dVTAAAOIqTV22ENNmyefPmuvTSS1VaWmpROAAAOI8/TEdTFPKqjbPPPlufffaZFbEAAIBTTMiJxP33369Zs2Zpw4YNOnTokMrLy4MOAAAQzJArLEdT1OA5EvPmzdNtt92myy67TJL0u9/9Ti7Xj1/KMAy5XC7V1taGP0oAAE5hfgev/2xwIjF37lxNmTIl8BZQAADQMP4mWk0IhwYnEsb/fwfqkCFDLAsGAACcWkJa/vnTVgYAAGiYpjq/IRxCSiR69uz5i8nEsWPHTiogAACcpqku3QyHkBKJuXPn1tnZEgAAnL5CSiSuvvpqderUyapYAABwJFobYn4EAABmObm10eANqX5YtQEAAPCDBlck/H4n51MAAFjHyT9BQ36NOAAACI2T50iE/K4NAACAH1CRAADAYn7nFiRIJAAAsBrv2gAAAKY5ed0jcyQAAIBpVCQAALAYyz8BAIBpfgfvDk1rAwAAmEZFAgAAizl5siWJBAAAFnPyHAlaGwAAwDQSCQAALOZ3hecIxeLFi9WvXz9FR0crOjpaHo9Hr7/+euB8VVWVsrKy1L59e7Vp00YZGRkqKSkJ+buRSAAAYDG/XGE5QtG1a1c99NBDKigo0Hvvvadhw4Zp9OjR+uijjyRJM2fO1CuvvKI1a9YoLy9PBw8e1NixY0P+bi7DMBw3B6RFZBe7QwCapG8Pvml3CECTE9HhV5Y/42+drw3LfSYc/OtJ/f64uDg98sgjGjdunDp27KiVK1dq3LhxkqQ9e/aod+/eys/P1+DBgxt8TyoSAABYzAjT4fP5VF5eHnT4fL5ffH5tba1WrVqlyspKeTweFRQUqKamRmlpaYFrUlJSlJSUpPz8/JC+G4kEAAAWC9ccCa/Xq5iYmKDD6/Ue97kffPCB2rRpI7fbrSlTpmjt2rXq06ePiouLFRkZqdjY2KDr4+PjVVxcHNJ3Y/knAAAWC9fyz5ycHGVnZweNud3u417fq1cv7d69W2VlZXrhhReUmZmpvLy8MEXzPRIJAABOEW63+4SJw89FRkaqR48ekqTU1FS9++67evzxxzV+/HhVV1ertLQ0qCpRUlKihISEkGKitQEAgMXCNUfiZPn9fvl8PqWmpioiIkK5ubmBc4WFhSoqKpLH4wnpnlQkAACwWKh7QIRDTk6ORo4cqaSkJH3zzTdauXKltm7dqk2bNikmJkaTJ09Wdna24uLiFB0drWnTpsnj8YS0YkMikQAAwJEOHz6s66+/XocOHVJMTIz69eunTZs26ZJLLpEkLViwQM2aNVNGRoZ8Pp/S09P15JNPhvwc9pEATiPsIwHU1Rj7SDzTNTz7SNz4xcntI2EFKhIAAFiMl3YBAADUg4oEAAAWM2yYbNlYSCQAALAYrQ0AAIB6UJEAAMBiTq5IkEgAAGAxx+2z8BMkEgAAWMyOnS0bC3MkAACAaVQkAACwGHMkAACAaU5OJGhtAAAA06hIAABgMVZtAAAA01i1AQAAUA8qEgAAWMzJky1JJAAAsJiT50jQ2gAAAKZRkQAAwGJ+B9ckSCQAALAYcyQAAIBpzq1HMEcCAACcBCoSAABYjNYGAAAwjZ0tAQAA6kFFAgAAi7H8EwAAmObcNILWBgAAOAlUJAAAsBirNgAAgGlOniNBawMAAJhGRQIAAIs5tx5BIgEAgOWYIwEAAExjjgQAAEA9qEgAAGAx59YjSCQAALCck+dI0NoAAACmUZEAAMBihoObGyQSAABYjNYGAABAPahIAABgMSfvI0EiAQCAxZybRtDaAAAAJ4FEAmG375Md+q76yzrHwscfsDs0oFGVHDmqO+bO1wUjr1Lq0NG64rqb9eHHn9R77dz5f9bZF4zUX1avbeQo0Rj8MsJyNEW0NhB2g8+/TM2bNw98PvusFG3auEovvrjBxqiAxlVW/o2um3KbfnNufy159D61i43R/x34UtFt29S59h95b+t/P9qjTh3a2xApGoOTV22QSCDsjh49FvR59u1TtW/ffuVty7cpIqDxPfu3NUro1FH3/2d2YKxr54Q615UcOSrvgsV66k8P6Jbb727MENGInLyPBK0NWCoiIkITfj9Wy1estjsUoFFteWuHzko5U9l3PaCLLr9a4yZm6YX1rwdd4/f7lTPvj5r4+3Hq8avuNkUKnJxTviLh8/nk8/mCxgzDkMvlsiki/NTo0SMUGxutFc89b3coQKP64mCxVq97VdePH6sbrx+vDz/+RN4FSxTRooVGX3aJJGnpX9eoefNmuvbK0TZHC6s5ubXRpCsSBw4c0A033HDCa7xer2JiYoIOw/9NI0WIX3LDxKu1cdMWHTpUYncoQKPy+w317tlDM6ZMVO+ePXTl6MuU8bsRen7da5Kkj/bs1V/XvKwH/vM2/uFzGjDC9F9T1KQTiWPHjmnFihUnvCYnJ0dlZWVBh6tZ20aKECeSlNRFw4f/VkufXWl3KECj69g+Tr8+Iylo7FdndNOhkiOSpF3vf6hjX5fqkozr1f+iy9X/ost1sPiwHnniv3RpRqYdIQOm2NraWL9+/QnPf/bZZ794D7fbLbfbHTRGdt80TMwcr8OHj+q113LtDgVodAP69dHnRV8Ejf1f0ZdKTOgkSRo1YrgGnzcg6PwfZt6lUSOGacxllzZanGgcTm5t2JpIjBkzRi6XS4Zx/HINScGpyeVyKfP68frLX9eotrbW7nCARnfd+DG67g+36ekVqzRi+EX64J+FemH967pn9q2SpNiYaMXGRAf9nhYtmqtDXDsld+9qR8iwkP8EP+dOdba2NhITE/XSSy/J7/fXe+zatcvO8HAS0ob/Vt27d9Wy5azWwOmpb+9eesw7R6//I09jrpuiJcv/rjum/0H/lj7M7tCAsLK1IpGamqqCggKNHl3/jOVfqlag6dr8j21qEdnF7jAAW118wSBdfMGgBl//3y+eeE4YTl12/CTzer166aWXtGfPHkVFRen888/Xww8/rF69egWuqaqq0m233aZVq1bJ5/MpPT1dTz75pOLj4xv8HFsrErfffrvOP//8457v0aOHtmzZ0ogRAQAQfnZskZ2Xl6esrCzt2LFDmzdvVk1NjS699FJVVlYGrpk5c6ZeeeUVrVmzRnl5eTp48KDGjh0b0nNchgP/yc+/hIH6fXvwTbtDAJqciA6/svwZv+9+RVjus+yTVXX2Tqpv0UF9jhw5ok6dOikvL08XXXSRysrK1LFjR61cuVLjxo2TJO3Zs0e9e/dWfn6+Bg8e3KCYmvTyTwAAnCBc+0jUt3eS1+ttUAxlZWWSpLi4OElSQUGBampqlJaWFrgmJSVFSUlJys9v+CsNTvmdLQEAaOrCtfwzJydH2dnZQWMNqUb4/X7NmDFDF1xwgc4++2xJUnFxsSIjIxUbGxt0bXx8vIqLixscE4kEAAAWC9crwBvaxvi5rKwsffjhh3rrrbfCEsdP0doAAMDBpk6dqg0bNmjLli3q2vXHPUoSEhJUXV2t0tLSoOtLSkqUkFD3TbXHQyIBAIDF7HjXhmEYmjp1qtauXas33nhDycnJQedTU1MVERGh3Nwfdx8uLCxUUVGRPB5Pg59DawMAAIvZsUV2VlaWVq5cqZdffllt27YNzHuIiYlRVFSUYmJiNHnyZGVnZysuLk7R0dGaNm2aPB5Pg1dsSCQSAAA40uLFiyVJF198cdD4smXLNHHiREnSggUL1KxZM2VkZARtSBUK9pEATiPsIwHU1Rj7SFyRNCos91lb9EpY7hNOVCQAALBYuFZtNEVMtgQAAKZRkQAAwGJ2TLZsLCQSAABYLNSlm6cSWhsAAMA0KhIAAFjMyZMtSSQAALCYA3daCCCRAADAYk6ebMkcCQAAYBoVCQAALObkVRskEgAAWMzJky1pbQAAANOoSAAAYDFWbQAAANNobQAAANSDigQAABZj1QYAADDN7+A5ErQ2AACAaVQkAACwmHPrESQSAABYzsmrNkgkAACwmJMTCeZIAAAA06hIAABgMXa2BAAAptHaAAAAqAcVCQAALMbOlgAAwDQnz5GgtQEAAEyjIgEAgMWcPNmSRAIAAIvR2gAAAKgHFQkAACxGawMAAJjG8k8AAGCanzkSAAAAdVGRAADAYrQ2AACAabQ2AAAA6kFFAgAAi9HaAAAAptHaAAAAqAcVCQAALEZrAwAAmEZrAwAAoB5UJAAAsBitDQAAYJph+O0OwTIkEgAAWMzJrxFnjgQAADCNigQAABYzHLxqg0QCAACL0doAAACoBxUJAAAsRmsDAACYxs6WAAAA9SCRAADAYkaY/gvVtm3bNGrUKHXu3Fkul0vr1q0LjsswdPfddysxMVFRUVFKS0vT3r17Q3oGiQQAABYzDCMsR6gqKyvVv39/LVq0qN7z8+fP18KFC7VkyRLt3LlTrVu3Vnp6uqqqqhr8DOZIAABwivD5fPL5fEFjbrdbbre73utHjhypkSNH1nvOMAw99thjuuuuuzR69GhJ0nPPPaf4+HitW7dOV199dYNioiIBAIDF/DLCcni9XsXExAQdXq/XVEz79+9XcXGx0tLSAmMxMTEaNGiQ8vPzG3wfKhIAAFgsXMs/c3JylJ2dHTR2vGrELykuLpYkxcfHB43Hx8cHzjUEiQQAABYL1/LPE7Ux7EJrAwCA01BCQoIkqaSkJGi8pKQkcK4hSCQAALCYXas2TiQ5OVkJCQnKzc0NjJWXl2vnzp3yeDwNvg+tDQAALGbXS7sqKiq0b9++wOf9+/dr9+7diouLU1JSkmbMmKH7779fZ555ppKTkzVnzhx17txZY8aMafAzSCQAAHCo9957T0OHDg18/mGiZmZmppYvX67Zs2ersrJSN910k0pLS3XhhRdq48aNatmyZYOf4TIc+CaRFpFd7A4BaJK+Pfim3SEATU5Eh19Z/ozo1uF5RnnlZ2G5TzhRkQAAwGK8tAsAAKAeVCQAALCYmRdunSpIJAAAsBitDQAAgHpQkQAAwGIOXCAZQCIBAIDFmCMBAABMc3JFgjkSAADANCoSAABYzMkVCRIJAAAs5tw0gtYGAAA4CY58aReaBp/PJ6/Xq5ycHLndbrvDAZoM/m7ASUgkYJny8nLFxMSorKxM0dHRdocDNBn83YCT0NoAAACmkUgAAADTSCQAAIBpJBKwjNvt1j333MNkMuBn+LsBJ2GyJQAAMI2KBAAAMI1EAgAAmEYiAQAATCORAAAAppFIwDKLFi3SGWecoZYtW2rQoEF655137A4JsNW2bds0atQode7cWS6XS+vWrbM7JOCkkUjAEqtXr1Z2drbuuece7dq1S/3791d6eroOHz5sd2iAbSorK9W/f38tWrTI7lCAsGH5JywxaNAgnXfeeXriiSckSX6/X926ddO0adN055132hwdYD+Xy6W1a9dqzJgxdocCnBQqEgi76upqFRQUKC0tLTDWrFkzpaWlKT8/38bIAADhRiKBsDt69Khqa2sVHx8fNB4fH6/i4mKbogIAWIFEAgAAmEYigbDr0KGDmjdvrpKSkqDxkpISJSQk2BQVAMAKJBIIu8jISKWmpio3Nzcw5vf7lZubK4/HY2NkAIBwa2F3AHCm7OxsZWZmauDAgfrNb36jxx57TJWVlZo0aZLdoQG2qaio0L59+wKf9+/fr927dysuLk5JSUk2RgaYx/JPWOaJJ57QI488ouLiYp1zzjlauHChBg0aZHdYgG22bt2qoUOH1hnPzMzU8uXLGz8gIAxIJAAAgGnMkQAAAKaRSAAAANNIJAAAgGkkEgAAwDQSCQAAYBqJBAAAMI1EAgAAmEYiAQAATCORABxo4sSJGjNmTODzxRdfrBkzZjR6HFu3bpXL5VJpaWmjPxtA4yCRABrRxIkT5XK55HK5FBkZqR49emjevHn67rvvLH3uSy+9pPvuu69B1/LDH0AoeGkX0MhGjBihZcuWyefz6bXXXlNWVpYiIiKUk5MTdF11dbUiIyPD8sy4uLiw3AcAfo6KBNDI3G63EhIS1L17d918881KS0vT+vXrA+2IBx54QJ07d1avXr0kSQcOHNBVV12l2NhYxcXFafTo0fr8888D96utrVV2drZiY2PVvn17zZ49Wz9/hc7PWxs+n0933HGHunXrJrfbrR49emjp0qX6/PPPAy+VateunVwulyZOnCjp+1fBe71eJScnKyoqSv3799cLL7wQ9JzXXntNPXv2VFRUlIYOHRoUJwBnIpEAbBYVFaXq6mpJUm5urgoLC7V582Zt2LBBNTU1Sk9PV9u2bfXmm2/q7bffVps2bTRixIjA73n00Ue1fPlyPfvss3rrrbd07NgxrV279oTPvP766/X3v/9dCxcu1Mcff6ynnnpKbdq0Ubdu3fTiiy9KkgoLC3Xo0CE9/vjjkiSv16vnnntOS5Ys0UcffaSZM2fq2muvVV5enqTvE56xY8dq1KhR2r17t/793/9dd955p1V/bACaCgNAo8nMzDRGjx5tGIZh+P1+Y/PmzYbb7TZmzZplZGZmGvHx8YbP5wtc/5e//MXo1auX4ff7A2M+n8+IiooyNm3aZBiGYSQmJhrz588PnK+pqTG6du0aeI5hGMaQIUOM6dOnG4ZhGIWFhYYkY/PmzfXGuGXLFkOS8fXXXwfGqqqqjFatWhnbt28Punby5MnGNddcYxiGYeTk5Bh9+vQJOn/HHXfUuRcAZ2GOBNDINmzYoDZt2qimpkZ+v1+///3vde+99yorK0t9+/YNmhfx/vvva9++fWrbtm3QPaqqqvTpp5+qrKxMhw4d0qBBgwLnWrRooYEDB9Zpb/xg9+7dat68uYYMGdLgmPft26d//etfuuSSS4LGq6urNWDAAEnSxx9/HBSHJHk8ngY/A8CpiUQCaGRDhw7V4sWLFRkZqc6dO6tFix//GrZu3Tro2oqKCqWmpupvf/tbnft07NjR1POjoqJC/j0VFRWSpFdffVVdunQJOud2u03FAcAZSCSARta6dWv16NGjQdeee+65Wr16tTp16qTo6Oh6r0lMTNTOnTt10UUXSZK+++47FRQU6Nxzz633+r59+8rv9ysvL09paWl1zv9QEamtrQ2M9enTR263W0VFRcetZPTu3Vvr168PGtuxY8cvf0kApzQmWwJN2IQJE9ShQweNHj1ab775pvbv36+tW7fq1ltv1RdffCFJmj59uh566CGtW7dOe/bs0S233HLCPSDOOOMMZWZm6oYbbtC6desC93z++eclSd27d5fL5dKGDRt05MgRVVRUqG3btpo1a5ZmzpypFStW6NNPP9WuXbv05z//WStWrJAkTZkyRXv37tXtt9+uwsJCrVy5UsuXL7f6jwiAzUgkgCasVatW2rZtm5KSkjR27Fj17t1bkydPVlVVVaBCcdttt+m6665TZmamPB6P2rZtqyuuuOKE9128eLHGjRunW265RSkpKbrxxhtVWVkpSerSpYvmzp2rO++8U/Hx8Zo6daok6b777tOcOXPk9XrVu3dvjRgxQq+++qqSk5MlSUlJSXrxxRe1bt069e/fX0uWLNGDDz5o4Z8OgKbAZRxvRhYAAMAvoCIBAABMI5EAAACmkUgAAADTSCQAAIBpJBIAAMA0EgkAAGAaiQQAADCNRAIAAJhGIgEAAEwjkQAAAKaRSAAAANP+H+S+zOhgshhnAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from matplotlib import pyplot as plt\n", "import seaborn as sn\n", "sn.heatmap(cm, annot=True, fmt='d')\n", "plt.xlabel('Predicted')\n", "plt.ylabel('Truth')" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "EA1N877yRXNU", "outputId": "54963e11-5ae6-4c8b-cefd-9094c9b8b610" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " precision recall f1-score support\n", "\n", " 0 0.89 0.79 0.84 68\n", " 1 0.82 0.90 0.86 71\n", "\n", " accuracy 0.85 139\n", " macro avg 0.85 0.85 0.85 139\n", "weighted avg 0.85 0.85 0.85 139\n", "\n" ] } ], "source": [ "print(classification_report(y_test, y_predicted))" ] }, { "cell_type": "markdown", "metadata": { "id": "AWQSDMlTRXNU" }, "source": [ "

Inference

" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 176 }, "id": "o9_nINpXRXNU", "outputId": "ce7b6b63-1781-4cac-ca9f-0557b1aaab2d" }, "outputs": [ { "ename": "NameError", "evalue": "name 'model' is not defined", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0;34m\"Why don't you wait 'til at least wednesday to see if you get your .\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7\u001b[0m ]\n\u001b[0;32m----> 8\u001b[0;31m \u001b[0mmodel\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpredict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mreviews\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;31mNameError\u001b[0m: name 'model' is not defined" ] } ], "source": [ "reviews = [\n", " 'Enter a chance to win $5000, hurry up, offer valid until march 31, 2021',\n", " 'You are awarded a SiPix Digital Camera! call 09061221061 from landline. Delivery within 28days. T Cs Box177. M221BP. 2yr warranty. 150ppm. 16 . p p£3.99',\n", " 'it to 80488. Your 500 free text messages are valid until 31 December 2005.',\n", " 'Hey Sam, Are you coming for a cricket game tomorrow',\n", " \"Why don't you wait 'til at least wednesday to see if you get your .\"\n", "]\n", "model.predict(reviews)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "AsvpjRVItNVt" }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "ndlKQxbHUEGx" }, "outputs": [], "source": [ "# model.save(\"/content/drive/MyDrive/models_saved/sentimentBERT5.model\")\n", "# model.save(\"/content/drive/MyDrive/models_saved/sentimentBERT5.model\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "9ojDcHdPql4Q" }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 2, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 391 }, "id": "LQfbBFcfr96U", "outputId": "8cba61b0-8702-4bf7-fd07-e2a13eb72d84" }, "outputs": [ { "ename": "RuntimeError", "evalue": "Op type not registered 'CaseFoldUTF8' in binary running on ce34f298a579. Make sure the Op and Kernel are registered in the binary running in this process. Note that if you are loading a saved graph which used ops from tf.contrib (e.g. `tf.contrib.resampler`), accessing should be done before importing the graph, as contrib ops are lazily registered when the module is first accessed.", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mRuntimeError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;31m# Load the model\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m \u001b[0mloaded_model\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mkeras\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmodels\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mload_model\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"/content/drive/MyDrive/models_saved/sentimentBERT1\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 5\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0;31m# Check the type of the loaded model\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/keras/src/saving/saving_api.py\u001b[0m in \u001b[0;36mload_model\u001b[0;34m(filepath, custom_objects, compile, safe_mode, **kwargs)\u001b[0m\n\u001b[1;32m 260\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 261\u001b[0m \u001b[0;31m# Legacy case.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 262\u001b[0;31m return legacy_sm_saving_lib.load_model(\n\u001b[0m\u001b[1;32m 263\u001b[0m \u001b[0mfilepath\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcustom_objects\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mcustom_objects\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcompile\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mcompile\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 264\u001b[0m )\n", "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/keras/src/utils/traceback_utils.py\u001b[0m in \u001b[0;36merror_handler\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 68\u001b[0m \u001b[0;31m# To get the full stack trace, call:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 69\u001b[0m \u001b[0;31m# `tf.debugging.disable_traceback_filtering()`\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 70\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwith_traceback\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfiltered_tb\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 71\u001b[0m \u001b[0;32mfinally\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 72\u001b[0m \u001b[0;32mdel\u001b[0m \u001b[0mfiltered_tb\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/tensorflow/python/framework/ops.py\u001b[0m in \u001b[0;36mop_def_for_type\u001b[0;34m(self, type)\u001b[0m\n\u001b[1;32m 3018\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3019\u001b[0m self._op_def_cache[type] = op_def_pb2.OpDef.FromString(\n\u001b[0;32m-> 3020\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_op_def_for_type\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtype\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3021\u001b[0m )\n\u001b[1;32m 3022\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_op_def_cache\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mtype\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mRuntimeError\u001b[0m: Op type not registered 'CaseFoldUTF8' in binary running on ce34f298a579. Make sure the Op and Kernel are registered in the binary running in this process. Note that if you are loading a saved graph which used ops from tf.contrib (e.g. `tf.contrib.resampler`), accessing should be done before importing the graph, as contrib ops are lazily registered when the module is first accessed." ] } ], "source": [ "import tensorflow as tf\n", "\n", "# Load the model\n", "loaded_model = tf.keras.models.load_model(\"/content/drive/MyDrive/models_saved/sentimentBERT1\")\n", "\n", "# Check the type of the loaded model\n", "print(type(loaded_model))\n", "\n", "# Print model summary\n", "print(loaded_model.summary())\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "x_ftv3aZsflK", "outputId": "7431f69b-7d61-4454-b7f3-7e32cc02f67b" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1/1 [==============================] - 3s 3s/step\n" ] }, { "data": { "text/plain": [ "array([[0.7934942 ],\n", " [0.49466804],\n", " [0.02711399],\n", " [0.956679 ],\n", " [0.6433113 ]], dtype=float32)" ] }, "execution_count": 71, "metadata": {}, "output_type": "execute_result" } ], "source": [ "loaded_model.predict(reviews)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "-seK2Hf71-sR", "outputId": "6ba61ecc-5fbe-4db4-9c06-67ac7365b4e3" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1/1 [==============================] - 1s 1s/step\n", "[[0.0023738]]\n" ] } ], "source": [ "input_text = [\"Hey why you are wasting time raskal.\"]\n", "\n", "# Preprocess the input text\n", "# preprocessed_input = BERTPreprocessLayer(input_text) # You need to define this function\n", "# preprocessed_input = BERTEncoderLayer(input_text) # You need to define this function\n", "\n", "# Make predictions\n", "predictions = loaded_model.predict(input_text)\n", "\n", "# Print the predictions\n", "print(predictions)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "eDzJb1kS60Yu", "outputId": "64930c76-0227-4b5d-f437-2950cacefdf9" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Not Happy\n" ] } ], "source": [ "import numpy as np\n", "\n", "# Set a threshold for classification\n", "threshold = 0.5\n", "\n", "# Interpret predictions\n", "if predictions[0][0] > threshold:\n", " sentiment = \"Happy\"\n", "else:\n", " sentiment = \"Not Happy\"\n", "\n", "# Print the sentiment\n", "print(sentiment)\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "nDo5FzTk7SQM", "outputId": "93dae2db-4e3f-403f-f82d-311b22fb0642" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2.15.0\n" ] } ], "source": [ "import tensorflow as tf\n", "print(tf.__version__)\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "GndzlIKq8M0U" }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": { "id": "-mC2lxeM7mHY" }, "source": [ "**Speech**\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "XvLfpJDR8Npj", "outputId": "899c979b-a0c2-41e8-bddf-c87e4310ee98" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Collecting SpeechRecognition\n", " Downloading SpeechRecognition-3.10.1-py2.py3-none-any.whl (32.8 MB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m32.8/32.8 MB\u001b[0m \u001b[31m17.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hRequirement already satisfied: requests>=2.26.0 in /usr/local/lib/python3.10/dist-packages (from SpeechRecognition) (2.31.0)\n", "Requirement already satisfied: typing-extensions in /usr/local/lib/python3.10/dist-packages (from SpeechRecognition) (4.10.0)\n", "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests>=2.26.0->SpeechRecognition) (3.3.2)\n", "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests>=2.26.0->SpeechRecognition) (3.6)\n", "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests>=2.26.0->SpeechRecognition) (2.0.7)\n", "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests>=2.26.0->SpeechRecognition) (2024.2.2)\n", "Installing collected packages: SpeechRecognition\n", "Successfully installed SpeechRecognition-3.10.1\n" ] } ], "source": [ "!pip install SpeechRecognition" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "UVmPa5T89jK_", "outputId": "6a72b4f7-475f-489e-ad81-e41b7513f715" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "You said: hey Stoopid\n" ] } ], "source": [ "# !pip install SpeechRecognition\n", "\n", "import speech_recognition as sr\n", "\n", "# Initialize recognizer\n", "recognizer = sr.Recognizer()\n", "\n", "# Load audio file\n", "audio_file_path = \"/content/WhatsApp Audio 2024-03-04 at 01.44.28_b7677fda.wav\" # Replace with the path to your audio file\n", "with sr.AudioFile(audio_file_path) as source:\n", " audio = recognizer.record(source)\n", "\n", "# Recognize speech using Google Speech Recognition\n", "try:\n", " text = recognizer.recognize_google(audio)\n", "\n", "except sr.UnknownValueError:\n", " print(\"Google Speech Recognition could not understand audio\")\n", "except sr.RequestError as e:\n", " print(\"Could not request results from Google Speech Recognition service; {0}\".format(e))\n" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 176 }, "id": "D_nqVtlr8LAt", "outputId": "034c04da-e445-4c3c-d353-7774e7c761ab" }, "outputs": [ { "ename": "NameError", "evalue": "name 'loaded_model' is not defined", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0ml\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0ml\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0ml\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtext\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0mloaded_model\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpredict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ml\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;31mNameError\u001b[0m: name 'loaded_model' is not defined" ] } ], "source": [ "l=[]\n", "l=l.append(text)\n", "loaded_model.predict(l)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "vuiy1hCU8v7J", "outputId": "75ee6111-ba13-45ca-cb04-e56a611d81d1" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Found existing installation: tensorflow 2.15.0\n", "Uninstalling tensorflow-2.15.0:\n", " Would remove:\n", " /usr/local/bin/estimator_ckpt_converter\n", " /usr/local/bin/import_pb_to_tensorboard\n", " /usr/local/bin/saved_model_cli\n", " /usr/local/bin/tensorboard\n", " /usr/local/bin/tf_upgrade_v2\n", " /usr/local/bin/tflite_convert\n", " /usr/local/bin/toco\n", " /usr/local/bin/toco_from_protos\n", " /usr/local/lib/python3.10/dist-packages/tensorflow-2.15.0.dist-info/*\n", " /usr/local/lib/python3.10/dist-packages/tensorflow/*\n", "Proceed (Y/n)? Y\n", "Y\n", " Successfully uninstalled tensorflow-2.15.0\n" ] } ], "source": [ "!pip uninstall tensorflow" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 914 }, "id": "x5gaDH9m9_05", "outputId": "acb1df6e-0bc4-4746-b686-e1e5afcfdceb" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Collecting tensorflow\n", " Downloading tensorflow-2.15.0.post1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (475.2 MB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m475.2/475.2 MB\u001b[0m \u001b[31m1.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hRequirement already satisfied: absl-py>=1.0.0 in /usr/local/lib/python3.10/dist-packages (from tensorflow) (1.4.0)\n", "Requirement already satisfied: astunparse>=1.6.0 in /usr/local/lib/python3.10/dist-packages (from tensorflow) (1.6.3)\n", "Requirement already satisfied: flatbuffers>=23.5.26 in /usr/local/lib/python3.10/dist-packages (from tensorflow) (23.5.26)\n", "Requirement already satisfied: gast!=0.5.0,!=0.5.1,!=0.5.2,>=0.2.1 in /usr/local/lib/python3.10/dist-packages (from tensorflow) (0.5.4)\n", "Requirement already satisfied: google-pasta>=0.1.1 in /usr/local/lib/python3.10/dist-packages (from tensorflow) (0.2.0)\n", "Requirement already satisfied: h5py>=2.9.0 in /usr/local/lib/python3.10/dist-packages (from tensorflow) (3.9.0)\n", "Requirement already satisfied: libclang>=13.0.0 in /usr/local/lib/python3.10/dist-packages (from tensorflow) (16.0.6)\n", "Requirement already satisfied: ml-dtypes~=0.2.0 in /usr/local/lib/python3.10/dist-packages (from tensorflow) (0.2.0)\n", "Requirement already satisfied: numpy<2.0.0,>=1.23.5 in /usr/local/lib/python3.10/dist-packages (from tensorflow) (1.25.2)\n", "Requirement already satisfied: opt-einsum>=2.3.2 in /usr/local/lib/python3.10/dist-packages (from tensorflow) (3.3.0)\n", "Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from tensorflow) (23.2)\n", "Requirement already satisfied: protobuf!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.20.3 in /usr/local/lib/python3.10/dist-packages (from tensorflow) (3.20.3)\n", "Requirement already satisfied: setuptools in /usr/local/lib/python3.10/dist-packages (from tensorflow) (67.7.2)\n", "Requirement already satisfied: six>=1.12.0 in /usr/local/lib/python3.10/dist-packages (from tensorflow) (1.16.0)\n", "Requirement already satisfied: termcolor>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from tensorflow) (2.4.0)\n", "Requirement already satisfied: typing-extensions>=3.6.6 in /usr/local/lib/python3.10/dist-packages (from tensorflow) (4.10.0)\n", "Requirement already satisfied: wrapt<1.15,>=1.11.0 in /usr/local/lib/python3.10/dist-packages (from tensorflow) (1.14.1)\n", "Requirement already satisfied: tensorflow-io-gcs-filesystem>=0.23.1 in /usr/local/lib/python3.10/dist-packages (from tensorflow) (0.36.0)\n", "Requirement already satisfied: grpcio<2.0,>=1.24.3 in /usr/local/lib/python3.10/dist-packages (from tensorflow) (1.62.0)\n", "Requirement already satisfied: tensorboard<2.16,>=2.15 in /usr/local/lib/python3.10/dist-packages (from tensorflow) (2.15.2)\n", "Requirement already satisfied: tensorflow-estimator<2.16,>=2.15.0 in /usr/local/lib/python3.10/dist-packages (from tensorflow) (2.15.0)\n", "Requirement already satisfied: keras<2.16,>=2.15.0 in /usr/local/lib/python3.10/dist-packages (from tensorflow) (2.15.0)\n", "Requirement already satisfied: wheel<1.0,>=0.23.0 in /usr/local/lib/python3.10/dist-packages (from astunparse>=1.6.0->tensorflow) (0.42.0)\n", "Requirement already satisfied: google-auth<3,>=1.6.3 in /usr/local/lib/python3.10/dist-packages (from tensorboard<2.16,>=2.15->tensorflow) (2.27.0)\n", "Requirement already satisfied: google-auth-oauthlib<2,>=0.5 in /usr/local/lib/python3.10/dist-packages (from tensorboard<2.16,>=2.15->tensorflow) (1.2.0)\n", "Requirement already satisfied: markdown>=2.6.8 in /usr/local/lib/python3.10/dist-packages (from tensorboard<2.16,>=2.15->tensorflow) (3.5.2)\n", "Requirement already satisfied: requests<3,>=2.21.0 in /usr/local/lib/python3.10/dist-packages (from tensorboard<2.16,>=2.15->tensorflow) (2.31.0)\n", "Requirement already satisfied: tensorboard-data-server<0.8.0,>=0.7.0 in /usr/local/lib/python3.10/dist-packages (from tensorboard<2.16,>=2.15->tensorflow) (0.7.2)\n", "Requirement already satisfied: werkzeug>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from tensorboard<2.16,>=2.15->tensorflow) (3.0.1)\n", "Requirement already satisfied: cachetools<6.0,>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from google-auth<3,>=1.6.3->tensorboard<2.16,>=2.15->tensorflow) (5.3.3)\n", "Requirement already satisfied: pyasn1-modules>=0.2.1 in /usr/local/lib/python3.10/dist-packages (from google-auth<3,>=1.6.3->tensorboard<2.16,>=2.15->tensorflow) (0.3.0)\n", "Requirement already satisfied: rsa<5,>=3.1.4 in /usr/local/lib/python3.10/dist-packages (from google-auth<3,>=1.6.3->tensorboard<2.16,>=2.15->tensorflow) (4.9)\n", "Requirement already satisfied: requests-oauthlib>=0.7.0 in /usr/local/lib/python3.10/dist-packages (from google-auth-oauthlib<2,>=0.5->tensorboard<2.16,>=2.15->tensorflow) (1.3.1)\n", "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests<3,>=2.21.0->tensorboard<2.16,>=2.15->tensorflow) (3.3.2)\n", "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests<3,>=2.21.0->tensorboard<2.16,>=2.15->tensorflow) (3.6)\n", "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests<3,>=2.21.0->tensorboard<2.16,>=2.15->tensorflow) (2.0.7)\n", "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests<3,>=2.21.0->tensorboard<2.16,>=2.15->tensorflow) (2024.2.2)\n", "Requirement already satisfied: MarkupSafe>=2.1.1 in /usr/local/lib/python3.10/dist-packages (from werkzeug>=1.0.1->tensorboard<2.16,>=2.15->tensorflow) (2.1.5)\n", "Requirement already satisfied: pyasn1<0.6.0,>=0.4.6 in /usr/local/lib/python3.10/dist-packages (from pyasn1-modules>=0.2.1->google-auth<3,>=1.6.3->tensorboard<2.16,>=2.15->tensorflow) (0.5.1)\n", "Requirement already satisfied: oauthlib>=3.0.0 in /usr/local/lib/python3.10/dist-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<2,>=0.5->tensorboard<2.16,>=2.15->tensorflow) (3.2.2)\n", "Installing collected packages: tensorflow\n", "Successfully installed tensorflow-2.15.0.post1\n" ] }, { "data": { "application/vnd.colab-display-data+json": { "id": "8c42c7de65cd4918ac38f753a6f2340b", "pip_warning": { "packages": [ "tensorflow" ] } } }, "metadata": {}, "output_type": "display_data" } ], "source": [ "!pip install tensorflow" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "id": "tpwUOaz3-Im6" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Requirement already satisfied: gradio in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (4.21.0)Note: you may need to restart the kernel to use updated packages.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "WARNING: Ignoring invalid distribution - (c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages)\n", "WARNING: Ignoring invalid distribution -ensorflow-intel (c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages)\n", "WARNING: Ignoring invalid distribution -rotobuf (c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages)\n", "WARNING: Ignoring invalid distribution - (c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages)\n", "WARNING: Ignoring invalid distribution -ensorflow-intel (c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages)\n", "WARNING: Ignoring invalid distribution -rotobuf (c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "Requirement already satisfied: aiofiles<24.0,>=22.0 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from gradio) (23.2.1)\n", "Requirement already satisfied: altair<6.0,>=4.2.0 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from gradio) (5.2.0)\n", "Requirement already satisfied: fastapi in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from gradio) (0.105.0)\n", "Requirement already satisfied: ffmpy in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from gradio) (0.3.2)\n", "Requirement already satisfied: gradio-client==0.12.0 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from gradio) (0.12.0)\n", "Requirement already satisfied: httpx>=0.24.1 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from gradio) (0.26.0)\n", "Requirement already satisfied: huggingface-hub>=0.19.3 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from gradio) (0.21.3)\n", "Requirement already satisfied: importlib-resources<7.0,>=1.3 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from gradio) (6.1.3)\n", "Requirement already satisfied: jinja2<4.0 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from gradio) (3.1.3)\n", "Requirement already satisfied: markupsafe~=2.0 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from gradio) (2.0.1)\n", "Requirement already satisfied: matplotlib~=3.0 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from gradio) (3.5.2)\n", "Requirement already satisfied: numpy~=1.0 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from gradio) (1.23.5)\n", "Requirement already satisfied: orjson~=3.0 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from gradio) (3.9.10)\n", "Requirement already satisfied: packaging in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from gradio) (21.3)\n", "Requirement already satisfied: pandas<3.0,>=1.0 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from gradio) (2.2.1)\n", "Requirement already satisfied: pillow<11.0,>=8.0 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from gradio) (9.2.0)\n", "Requirement already satisfied: pydantic>=2.0 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from gradio) (2.5.3)\n", "Requirement already satisfied: pydub in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from gradio) (0.25.1)\n", "Requirement already satisfied: python-multipart>=0.0.9 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from gradio) (0.0.9)\n", "Requirement already satisfied: pyyaml<7.0,>=5.0 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from gradio) (6.0)\n", "Requirement already satisfied: ruff>=0.2.2 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from gradio) (0.3.2)\n", "Requirement already satisfied: semantic-version~=2.0 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from gradio) (2.10.0)\n", "Requirement already satisfied: tomlkit==0.12.0 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from gradio) (0.12.0)\n", "Requirement already satisfied: typer<1.0,>=0.9 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from typer[all]<1.0,>=0.9->gradio) (0.9.0)\n", "Requirement already satisfied: typing-extensions~=4.0 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from gradio) (4.9.0)\n", "Requirement already satisfied: uvicorn>=0.14.0 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from gradio) (0.25.0)\n", "Requirement already satisfied: fsspec in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from gradio-client==0.12.0->gradio) (2024.2.0)\n", "Requirement already satisfied: websockets<12.0,>=10.0 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from gradio-client==0.12.0->gradio) (11.0.3)\n", "Requirement already satisfied: jsonschema>=3.0 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from altair<6.0,>=4.2.0->gradio) (4.16.0)\n", "Requirement already satisfied: toolz in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from altair<6.0,>=4.2.0->gradio) (0.11.2)\n", "Requirement already satisfied: anyio in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from httpx>=0.24.1->gradio) (3.7.1)\n", "Requirement already satisfied: certifi in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from httpx>=0.24.1->gradio) (2022.9.14)\n", "Requirement already satisfied: httpcore==1.* in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from httpx>=0.24.1->gradio) (1.0.2)\n", "Requirement already satisfied: idna in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from httpx>=0.24.1->gradio) (3.3)\n", "Requirement already satisfied: sniffio in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from httpx>=0.24.1->gradio) (1.2.0)\n", "Requirement already satisfied: h11<0.15,>=0.13 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from httpcore==1.*->httpx>=0.24.1->gradio) (0.14.0)\n", "Requirement already satisfied: filelock in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from huggingface-hub>=0.19.3->gradio) (3.6.0)\n", "Requirement already satisfied: requests in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from huggingface-hub>=0.19.3->gradio) (2.28.1)\n", "Requirement already satisfied: tqdm>=4.42.1 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from huggingface-hub>=0.19.3->gradio) (4.64.1)\n", "Requirement already satisfied: zipp>=3.1.0 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from importlib-resources<7.0,>=1.3->gradio) (3.8.0)\n", "Requirement already satisfied: cycler>=0.10 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from matplotlib~=3.0->gradio) (0.11.0)\n", "Requirement already satisfied: fonttools>=4.22.0 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from matplotlib~=3.0->gradio) (4.25.0)\n", "Requirement already satisfied: kiwisolver>=1.0.1 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from matplotlib~=3.0->gradio) (1.4.2)\n", "Requirement already satisfied: pyparsing>=2.2.1 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from matplotlib~=3.0->gradio) (3.0.9)\n", "Requirement already satisfied: python-dateutil>=2.7 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from matplotlib~=3.0->gradio) (2.8.2)\n", "Requirement already satisfied: pytz>=2020.1 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from pandas<3.0,>=1.0->gradio) (2022.1)\n", "Requirement already satisfied: tzdata>=2022.7 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from pandas<3.0,>=1.0->gradio) (2022.7)\n", "Requirement already satisfied: annotated-types>=0.4.0 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from pydantic>=2.0->gradio) (0.6.0)\n", "Requirement already satisfied: pydantic-core==2.14.6 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from pydantic>=2.0->gradio) (2.14.6)\n", "Requirement already satisfied: click<9.0.0,>=7.1.1 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from typer<1.0,>=0.9->typer[all]<1.0,>=0.9->gradio) (8.0.4)\n", "Requirement already satisfied: colorama<0.5.0,>=0.4.3 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from typer[all]<1.0,>=0.9->gradio) (0.4.6)\n", "Requirement already satisfied: shellingham<2.0.0,>=1.3.0 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from typer[all]<1.0,>=0.9->gradio) (1.5.4)\n", "Requirement already satisfied: rich<14.0.0,>=10.11.0 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from typer[all]<1.0,>=0.9->gradio) (13.7.1)\n", "Requirement already satisfied: starlette<0.28.0,>=0.27.0 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from fastapi->gradio) (0.27.0)\n", "Requirement already satisfied: exceptiongroup in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from anyio->httpx>=0.24.1->gradio) (1.2.0)\n", "Requirement already satisfied: attrs>=17.4.0 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from jsonschema>=3.0->altair<6.0,>=4.2.0->gradio) (21.4.0)\n", "Requirement already satisfied: pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from jsonschema>=3.0->altair<6.0,>=4.2.0->gradio) (0.18.0)\n", "Requirement already satisfied: six>=1.5 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from python-dateutil>=2.7->matplotlib~=3.0->gradio) (1.16.0)\n", "Requirement already satisfied: markdown-it-py>=2.2.0 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from rich<14.0.0,>=10.11.0->typer[all]<1.0,>=0.9->gradio) (3.0.0)\n", "Requirement already satisfied: pygments<3.0.0,>=2.13.0 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from rich<14.0.0,>=10.11.0->typer[all]<1.0,>=0.9->gradio) (2.17.2)\n", "Requirement already satisfied: charset-normalizer<3,>=2 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from requests->huggingface-hub>=0.19.3->gradio) (2.0.4)\n", "Requirement already satisfied: urllib3<1.27,>=1.21.1 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from requests->huggingface-hub>=0.19.3->gradio) (1.26.11)\n", "Requirement already satisfied: mdurl~=0.1 in c:\\users\\jaswanth chowdary\\anaconda3\\lib\\site-packages (from markdown-it-py>=2.2.0->rich<14.0.0,>=10.11.0->typer[all]<1.0,>=0.9->gradio) (0.1.2)\n" ] } ], "source": [ "pip install gradio" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "ename": "RuntimeError", "evalue": "Failed to import transformers.models.whisper.modeling_tf_whisper because of the following error (look up to see its traceback):\nAnother metric with the same name already exists.", "output_type": "error", "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[1;31mAlreadyExistsError\u001b[0m Traceback (most recent call last)", "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\transformers\\utils\\import_utils.py\u001b[0m in \u001b[0;36m_get_module\u001b[1;34m(self, module_name)\u001b[0m\n\u001b[0;32m 1389\u001b[0m \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1390\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mimportlib\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mimport_module\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\".\"\u001b[0m \u001b[1;33m+\u001b[0m \u001b[0mmodule_name\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m__name__\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 1391\u001b[0m \u001b[1;32mexcept\u001b[0m \u001b[0mException\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m~\\anaconda3\\lib\\importlib\\__init__.py\u001b[0m in \u001b[0;36mimport_module\u001b[1;34m(name, package)\u001b[0m\n\u001b[0;32m 126\u001b[0m \u001b[0mlevel\u001b[0m \u001b[1;33m+=\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 127\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0m_bootstrap\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_gcd_import\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mname\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mlevel\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mpackage\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlevel\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 128\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m~\\anaconda3\\lib\\importlib\\_bootstrap.py\u001b[0m in \u001b[0;36m_gcd_import\u001b[1;34m(name, package, level)\u001b[0m\n", "\u001b[1;32m~\\anaconda3\\lib\\importlib\\_bootstrap.py\u001b[0m in \u001b[0;36m_find_and_load\u001b[1;34m(name, import_)\u001b[0m\n", "\u001b[1;32m~\\anaconda3\\lib\\importlib\\_bootstrap.py\u001b[0m in \u001b[0;36m_find_and_load_unlocked\u001b[1;34m(name, import_)\u001b[0m\n", "\u001b[1;32m~\\anaconda3\\lib\\importlib\\_bootstrap.py\u001b[0m in \u001b[0;36m_load_unlocked\u001b[1;34m(spec)\u001b[0m\n", "\u001b[1;32m~\\anaconda3\\lib\\importlib\\_bootstrap_external.py\u001b[0m in \u001b[0;36mexec_module\u001b[1;34m(self, module)\u001b[0m\n", "\u001b[1;32m~\\anaconda3\\lib\\importlib\\_bootstrap.py\u001b[0m in \u001b[0;36m_call_with_frames_removed\u001b[1;34m(f, *args, **kwds)\u001b[0m\n", "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\transformers\\models\\whisper\\modeling_tf_whisper.py\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 26\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 27\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[1;33m...\u001b[0m\u001b[0mactivations_tf\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mget_tf_activation\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 28\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[1;33m...\u001b[0m\u001b[0mgeneration\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mconfiguration_utils\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mGenerationConfig\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\transformers\\activations_tf.py\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 21\u001b[0m \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 22\u001b[1;33m \u001b[1;32mimport\u001b[0m \u001b[0mtf_keras\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0mkeras\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 23\u001b[0m \u001b[1;32mexcept\u001b[0m \u001b[1;33m(\u001b[0m\u001b[0mModuleNotFoundError\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mImportError\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\tf_keras\\__init__.py\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 3\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[0mtf_keras\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0m__internal__\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 4\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mtf_keras\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mactivations\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\tf_keras\\__internal__\\__init__.py\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 3\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[0mtf_keras\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m__internal__\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mbackend\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 4\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mtf_keras\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m__internal__\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mlayers\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\tf_keras\\__internal__\\backend\\__init__.py\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 3\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[0mtf_keras\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msrc\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mbackend\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0m_initialize_variables\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0minitialize_variables\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 4\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mtf_keras\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msrc\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mbackend\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mtrack_variable\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\tf_keras\\src\\__init__.py\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 20\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 21\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[0mtf_keras\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msrc\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mapplications\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 22\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mtf_keras\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msrc\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mdistribute\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\tf_keras\\src\\applications\\__init__.py\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 17\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 18\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[0mtf_keras\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msrc\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mapplications\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mconvnext\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mConvNeXtBase\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 19\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mtf_keras\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msrc\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mapplications\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mconvnext\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mConvNeXtLarge\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\tf_keras\\src\\applications\\convnext.py\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 27\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 28\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[0mtf_keras\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msrc\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mbackend\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 29\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mtf_keras\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msrc\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0minitializers\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\tf_keras\\src\\backend.py\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 34\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mtf_keras\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msrc\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdtensor\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mdtensor_api\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0mdtensor\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 35\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[0mtf_keras\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msrc\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mengine\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mkeras_tensor\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 36\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mtf_keras\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msrc\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mutils\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mcontrol_flow_util\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\tf_keras\\src\\engine\\keras_tensor.py\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 18\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 19\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[0mtf_keras\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msrc\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mutils\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mobject_identity\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 20\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\tf_keras\\src\\utils\\__init__.py\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 52\u001b[0m \u001b[1;31m# Preprocessing utils\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 53\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[0mtf_keras\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msrc\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mutils\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mfeature_space\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mFeatureSpace\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 54\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\tf_keras\\src\\utils\\feature_space.py\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 19\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mtf_keras\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msrc\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mbackend\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 20\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[0mtf_keras\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msrc\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mengine\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mbase_layer\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 21\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mtf_keras\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msrc\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msaving\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0msaving_lib\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\tf_keras\\src\\engine\\base_layer.py\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 34\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mtf_keras\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msrc\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mregularizers\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 35\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[0mtf_keras\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msrc\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdtensor\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mlazy_variable\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 36\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mtf_keras\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msrc\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mengine\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mbase_layer_utils\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\tf_keras\\src\\dtensor\\lazy_variable.py\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 22\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mtensorflow\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpython\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mframework\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mops\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 23\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[0mtensorflow\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpython\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mframework\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mtensor\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 24\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mtensorflow\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpython\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mops\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mgen_resource_variable_ops\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\tensorflow\\python\\framework\\tensor.py\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 48\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 49\u001b[1;33m _tensor_equality_api_usage_gauge = monitoring.BoolGauge(\n\u001b[0m\u001b[0;32m 50\u001b[0m \u001b[1;34m\"/tensorflow/api/enable_tensor_equality\"\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\tensorflow\\python\\eager\\monitoring.py\u001b[0m in \u001b[0;36m__init__\u001b[1;34m(self, name, description, *labels)\u001b[0m\n\u001b[0;32m 355\u001b[0m \"\"\"\n\u001b[1;32m--> 356\u001b[1;33m super(BoolGauge, self).__init__('BoolGauge', _bool_gauge_methods,\n\u001b[0m\u001b[0;32m 357\u001b[0m len(labels), name, description, *labels)\n", "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\tensorflow\\python\\eager\\monitoring.py\u001b[0m in \u001b[0;36m__init__\u001b[1;34m(self, metric_name, metric_methods, label_length, *args)\u001b[0m\n\u001b[0;32m 130\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 131\u001b[1;33m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_metric\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_metric_methods\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_label_length\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcreate\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 132\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;31mAlreadyExistsError\u001b[0m: Another metric with the same name already exists.", "\nThe above exception was the direct cause of the following exception:\n", "\u001b[1;31mRuntimeError\u001b[0m Traceback (most recent call last)", "\u001b[1;32m~\\AppData\\Local\\Temp\\ipykernel_24696\\3720892424.py\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mtransformers\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mpipeline\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 3\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 4\u001b[1;33m \u001b[0mtranscriber\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mpipeline\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"automatic-speech-recognition\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mmodel\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m\"openai/whisper-base.en\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 5\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 6\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mtranscribe\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0maudio\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\transformers\\pipelines\\__init__.py\u001b[0m in \u001b[0;36mpipeline\u001b[1;34m(task, model, config, tokenizer, feature_extractor, image_processor, framework, revision, use_fast, token, device, device_map, torch_dtype, trust_remote_code, model_kwargs, pipeline_class, **kwargs)\u001b[0m\n\u001b[0;32m 903\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mmodel\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mstr\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mor\u001b[0m \u001b[0mframework\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 904\u001b[0m \u001b[0mmodel_classes\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m{\u001b[0m\u001b[1;34m\"tf\"\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mtargeted_task\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m\"tf\"\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m\"pt\"\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mtargeted_task\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m\"pt\"\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 905\u001b[1;33m framework, model = infer_framework_load_model(\n\u001b[0m\u001b[0;32m 906\u001b[0m \u001b[0mmodel\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 907\u001b[0m \u001b[0mmodel_classes\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mmodel_classes\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\transformers\\pipelines\\base.py\u001b[0m in \u001b[0;36minfer_framework_load_model\u001b[1;34m(model, config, model_classes, task, framework, **model_kwargs)\u001b[0m\n\u001b[0;32m 252\u001b[0m \u001b[0mclasses\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0m_class\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 253\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mlook_tf\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 254\u001b[1;33m \u001b[0m_class\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mgetattr\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mtransformers_module\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34mf\"TF{architecture}\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 255\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0m_class\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 256\u001b[0m \u001b[0mclasses\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0m_class\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\transformers\\utils\\import_utils.py\u001b[0m in \u001b[0;36m__getattr__\u001b[1;34m(self, name)\u001b[0m\n\u001b[0;32m 1379\u001b[0m \u001b[1;32melif\u001b[0m \u001b[0mname\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_class_to_module\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mkeys\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1380\u001b[0m \u001b[0mmodule\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_get_module\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_class_to_module\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mname\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1381\u001b[1;33m \u001b[0mvalue\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mgetattr\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mmodule\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mname\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 1382\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1383\u001b[0m \u001b[1;32mraise\u001b[0m \u001b[0mAttributeError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34mf\"module {self.__name__} has no attribute {name}\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\transformers\\utils\\import_utils.py\u001b[0m in \u001b[0;36m__getattr__\u001b[1;34m(self, name)\u001b[0m\n\u001b[0;32m 1378\u001b[0m \u001b[0mvalue\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_get_module\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mname\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1379\u001b[0m \u001b[1;32melif\u001b[0m \u001b[0mname\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_class_to_module\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mkeys\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1380\u001b[1;33m \u001b[0mmodule\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_get_module\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_class_to_module\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mname\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 1381\u001b[0m \u001b[0mvalue\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mgetattr\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mmodule\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mname\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1382\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\transformers\\utils\\import_utils.py\u001b[0m in \u001b[0;36m_get_module\u001b[1;34m(self, module_name)\u001b[0m\n\u001b[0;32m 1390\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mimportlib\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mimport_module\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\".\"\u001b[0m \u001b[1;33m+\u001b[0m \u001b[0mmodule_name\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m__name__\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1391\u001b[0m \u001b[1;32mexcept\u001b[0m \u001b[0mException\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1392\u001b[1;33m raise RuntimeError(\n\u001b[0m\u001b[0;32m 1393\u001b[0m \u001b[1;34mf\"Failed to import {self.__name__}.{module_name} because of the following error (look up to see its\"\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1394\u001b[0m \u001b[1;34mf\" traceback):\\n{e}\"\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;31mRuntimeError\u001b[0m: Failed to import transformers.models.whisper.modeling_tf_whisper because of the following error (look up to see its traceback):\nAnother metric with the same name already exists." ] } ], "source": [ "import gradio as gr\n", "from transformers import pipeline\n", "\n", "transcriber = pipeline(\"automatic-speech-recognition\", model=\"openai/whisper-base.en\")\n", "\n", "def transcribe(audio):\n", " sr, y = audio\n", " y = y.astype(np.float32)\n", " y /= np.max(np.abs(y))\n", "\n", " return transcriber({\"sampling_rate\": sr, \"raw\": y})[\"text\"]\n", "\n", "\n", "demo = gr.Interface(\n", " transcribe,\n", " gr.Audio(sources=[\"microphone\"]),\n", " \"text\",\n", ")\n", "\n", "demo.launch()\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "accelerator": "TPU", "colab": { "provenance": [] }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.13" } }, "nbformat": 4, "nbformat_minor": 1 }