Creating a Vision Transformer (VIT) for Human Emotions Detection using Tensorflow 2 from the Ground Up

Posted by

Building a Vision Transformers (VIT) with Tensorflow 2 from Scratch – Human Emotions Detection

Building a Vision Transformers (VIT) with Tensorflow 2 from Scratch – Human Emotions Detection

Building Vision Transformers (VIT) is an exciting area in the field of machine learning and computer vision. In this article, we will explore how to build a Vision Transformer model from scratch using Tensorflow 2 for the task of human emotions detection.

Understanding Vision Transformers (VIT)

Vision Transformers (VIT) are a class of neural network architecture that has gained popularity for their ability to learn from visual data without relying on traditional convolutional layers. VITs are based on the Transformer architecture, originally designed for natural language processing tasks, and have been adapted for image classification, object detection, and other computer vision tasks.

Getting Started with Tensorflow 2

To build our Vision Transformer model, we will use Tensorflow 2, a popular open-source machine learning framework developed by Google. Tensorflow 2 offers a high-level API and a wide range of tools for building, training, and deploying machine learning models.

Building the Vision Transformer Model

We will start by defining the architecture of the Vision Transformer model. This will involve creating the transformer layers, positional encoding, and attention mechanisms needed for processing image data. We will also implement the self-attention mechanism, which is a key component of Transformer models.

Data Preparation for Human Emotions Detection

For our human emotions detection task, we will need a dataset of images labeled with different emotional expressions. We will use this dataset to train our VIT model to recognize and classify human emotions such as happiness, sadness, anger, and surprise.

Training and Evaluation

Once the model is defined and the data is prepared, we will train the Vision Transformer using the Tensorflow 2 training API. We will monitor the model’s performance on a validation set and make any necessary adjustments to improve its accuracy and generalization ability.

Conclusion

Building a Vision Transformer model with Tensorflow 2 for the task of human emotions detection is an exciting and challenging opportunity for machine learning practitioners. By leveraging the power of VIT and the flexibility of Tensorflow 2, we can create a model capable of understanding and recognizing human emotions from visual input.

0 0 votes
Article Rating
17 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@user-ng3mm9yz3w
6 months ago

hello,, I think,, I have a problem,, namely appearing
ValueError: Shape(None, 2) and (None, 3) are incompatible
can anyone help on the model when training

@hamdigdhami9501
6 months ago

Can I have the access to the notebook ?

@user-do5ps1cy6x
6 months ago

Hey Neuralearn, i requested an access to code a month ago. Just wondering if you giving access to the notebook. Thanks!

@_bohemian2778
6 months ago

This guy is hiding some important information , be careful

@manvidhull5089
6 months ago

Can I have access to the Colab notebook

@safiullah353
6 months ago

Hey Sir i need premium free access 🙂, computer vision

@yousrahadhoud6773
6 months ago

I tried to use the same model to train my own dataset and i got this error Epoch 1/20

—————————————————————————

AttributeError Traceback (most recent call last)

<ipython-input-65-5a86ae7fc453> in <cell line: 1>()

—-> 1 history = vit.fit(

2 train_dataset,

3 validation_data = val_dataset,

4 epochs = CONFIGURATION["N_EPOCHS"],

5 verbose = 1,

1 frames

/usr/local/lib/python3.10/dist-packages/keras/src/engine/training.py in tf__train_function(iterator)

13 try:

14 do_return = True

—> 15 retval_ = ag__.converted_call(ag__.ld(step_function), (ag__.ld(self), ag__.ld(iterator)), None, fscope)

16 except:

17 do_return = False

AttributeError: in user code:

File "/usr/local/lib/python3.10/dist-packages/keras/src/engine/training.py", line 1377, in train_function *

return step_function(self, iterator)

File "/usr/local/lib/python3.10/dist-packages/keras/src/engine/training.py", line 1360, in step_function **

outputs = model.distribute_strategy.run(run_step, args=(data,))

File "/usr/local/lib/python3.10/dist-packages/keras/src/engine/training.py", line 1349, in run_step **

outputs = model.train_step(data)

File "/usr/local/lib/python3.10/dist-packages/keras/src/engine/training.py", line 1127, in train_step

loss = self.compute_loss(x, y, y_pred, sample_weight)

File "/usr/local/lib/python3.10/dist-packages/keras/src/engine/training.py", line 1185, in compute_loss

return self.compiled_loss(

File "/usr/local/lib/python3.10/dist-packages/keras/src/engine/compile_utils.py", line 275, in _call_

y_t, y_p, sw = match_dtype_and_rank(y_t, y_p, sw)

File "/usr/local/lib/python3.10/dist-packages/keras/src/engine/compile_utils.py", line 854, in match_dtype_and_rank

if (y_t.dtype.is_floating and y_p.dtype.is_floating) or (

AttributeError: 'NoneType' object has no attribute 'dtype'

could you help me what's wrong please

@pubudulasith7973
6 months ago

I need the notebook. thanks

@kenand330
6 months ago

can i have the access of colab notebook please?

@boopalmani1115
6 months ago

sir can I get access to the colab notebook, please??

@joshuahentinlal205
6 months ago

Can I have an access to the colab notebook please?

@arami-me4wy
6 months ago

Can I have access to the Colab notebook, please?

@lucaswei41
6 months ago

can i have the access of colab notebook please?

@vishaiqbal3086
6 months ago

I need notebook

@mohamedabdallah7354
6 months ago

Can I have an access to the colab notebook please?

@nouhailasdiri-jq2hd
6 months ago

I cant access the Colab notebook !!!!

@waytakaq
6 months ago

what dataset are you using?