280 Tutorial Topics
Remove Filter ![]() | |
In this article, you will learn to use [Google Gemini Pro](https://blog.google/technology/ai/google-gemini-ai/), a state-of-the-art multimodal generative model, to extract information from PDF and convert it to CSV files. You will use a simple text prompt to tell Google Gemini Pro about the information you want to extract. This is a valuable … | |
In this article, you will learn how to track faces within a video using the Python DeepFace library. Additionally, you'll discover how to include portions of the video background in face tracking by implementing custom methods that utilize the DeepFace library's `extract_faces()` method for face extraction. I explained how to … | |
In this article, we will compare two state-of-the-art large language models for zero-shot text classification: [Google Gemini Pro](https://deepmind.google/technologies/gemini/#introduction) and [OpenAI GPT-4](https://openai.com/research/gpt-4). Zero-shot text classification is a task where a model is trained on a set of labeled examples but can then classify new examples from previously unseen classes. This is … | |
## Introduction ## This tutorial explains how to perform multiple-label text classification using the [Hugging Face](https://huggingface.co/) transformers library. Hugging Face library implements advanced transformer architectures, proven to be state-of-the-art for various natural language processing tasks, including text classification. Hugging Face library provides trainable transformer models in three flavors: 1. Via … | |
I recently tackled a challenging research task involving multimodal data for a classification problem using [TensorFlow Keras](https://www.tensorflow.org/guide/keras). One of the trickiest aspects was figuring out how to load multimodal data in batches from storage efficiently. While TensorFlow Keras offers helpful functions for batch-loading images from various sources, the documentation and … | |
Sentiment analysis, a subfield of Natural Language Processing (NLP), aims to discern and classify the underlying sentiment or emotion expressed in textual data. Whether it is understanding customers' opinions about a product, analyzing social media posts, or gauging public sentiment towards a political event, sentiment analysis plays a vital role … | |
In a [previous tutorial](https://www.daniweb.com/programming/computer-science/tutorials/541123/stock-price-prediction-using-1d-cnn-in-tensorflow-keras), I covered how to predict future stock prices using a deep learning model with 1D CNN layers. This method is effective for basic time series forecasting. Recently, I've enhanced this model by not just considering past closing prices but also factors like Open, High, Low, Volume, … | |
A video is a series of images, or frames, shown in rapid succession. Its frame rate, measured in frames per second (FPS), dictates the display speed. For instance, a 30 FPS video shows 30 frames each second. The frame count and frame rate determine a video's detail, smoothness, file size, … | |
## Introduction ## Loss functions are the driving force behind all machine learning algorithms. They quantify how well our models are performing by calculating the difference between the predicted and actual outcomes. The goal of every machine learning algorithm is to minimize this loss function, thereby improving the model’s accuracy. … | |
As a researcher, I have often found myself buried under a mountain of research articles, each promising insights and breakthroughs crucial for my work. The sheer volume of information is overwhelming, and the time it takes to extract the relevant data can be daunting. However, extracting meaningful information from research … | |
Facial emotion detection, as the name suggests, involves detecting emotions from faces in images or videos. Recently, I was working on a facial emotion detection task and came across the DeepFace library that implements various state-of-the-art facial emotion detection models. However, in my experience, the performance of the DeepFace library … | |
Stock price prediction is a challenging task that requires analyzing historical trends, market sentiments, economic indicators, and company performance. One of the popular methods for stock price prediction is using deep learning models, such as convolutional neural networks (CNNs). CNNs are a type of neural network that can extract features … | |
Chatbots are software applications that can interact with humans using natural language. They can be used for various purposes, such as customer service, entertainment, education, and more. Chatbots can be built using different techniques like rule-based systems, machine learning, or deep learning. In this article, I will focus on the … | |
Language modeling is the cornerstone of advanced natural language processing, forming the backbone for cutting-edge technologies like ChatGPT. At its core, it involves predicting words based on context, a fundamental principle underlying modern large language Models (LLMs). There are various techniques for language modeling, with attention mechanisms emerging as the … | |
In this tutorial, you will learn to fine-tune a [Hugging Face Transformers model](https://huggingface.co/docs/transformers/index) for video classification in PyTorch. The Hugging Face documentation provides an example of performing video classification using the Hugging Face Trainer with one of Hugging Face's built-in datasets. However, the process of fine-tuning a video transformer on … | |
Understanding facial expressions is crucial for various tasks, from recognizing emotions to enhancing security measures. While extracting faces from pictures is easy, doing the same in videos is tricky. Imagine creating videos with only highlighted facial expressions, offering a unique perspective on human interactions. Various tools are available for face … Programming computer-vision daniweb-feedback github open-source os-x python | |
## Introduction ## In Android Studio, we can run multiple tests in parallel across multiple devices using the dropdown menu.  Running instrumented tests this way is very convenient during development, but there is a problem with this method when your tests are run on a remote build server: * … | |
## Introduction ## In the realm of computer vision, [Vision Transformers (ViTs)](https://arxiv.org/abs/2010.11929) revolutionized image processing by employing self-attention mechanisms, allowing for a non-sequential analysis of images. ViTs are instrumental in capturing intricate patterns and long-range dependencies, making them invaluable for tasks like image recognition and object detection. Hugging Face, a … | |
In a previous article, I showed you [how to analyze sentiments using Chat-GPT and data augmentation techniques](https://www.daniweb.com/programming/computer-science/tutorials/540502/sentiment-analysis-with-data-augmentation-using-chatgpt#post2293643). Following that, some readers reached out, asking for a breakdown of fine-tuning a Chat-GPT model. In this article, I will guide you through fine-tuning your Chat-GPT model using your own data. First, I'll … | |
In one of my research projects, I needed to extract text from video files and create a CSV file that included sentiments expressed in the text. Manual extraction was time-consuming and costly. So, I explored Automatic Speech Recognition (ASR) systems and discovered OpenAI [Whisper](https://openai.com/research/whisper), known for its high accuracy in … | |
In my recent journey of developing various AI solutions powered by Language Models (LLMs), a significant question has emerged: Should we harness the capabilities of Retrieval Augmented Generation (RAG), or should we opt for the path of custom fine-tuning? This decision can profoundly impact the performance and adaptability of our … | |
Data annotation for text classification is time-consuming and expensive. In the case of smaller training datasets, pre-trained ChatGPT models might achieve higher classification accuracy on test sets than training classifiers from scratch or fine-tuning existing models. Additionally, ChatGPT can aid in annotating data for fine-tuning text classification models. In this … | |
## Introduction I have a pile of home movie videos created over more than seventy years. As with my many photos (all in digital form) they require some effort to find particular ones of interest. Typically, I name my videos (and photos) with tags. A file might look like 2013-10-29 … | |
## Introduction ## In a previous tutorial, we learned [how to set an exact alarm](https://www.daniweb.com/programming/mobile-development/tutorials/537920/android-native-how-to-launch-activity-from-an-exact-alarm). A permission called `SCHEDULE_EXACT_ALARM` was used in that tutorial. Initially, I thought that it was only a normal install-time permission, but I have recently found out that this specific permission also belongs to a rare … | |
## Introduction ## When working with ViewModels, instead of using the default, it is best practice that we inject coroutine dispatchers instead of hard-coding them. The reasoning behind this is that it is easier to switch to a testable dispatcher in tests. In this tutorial, we will learn how to … | |
## Introduction ## When working with RecyclerView, sometimes we are required to scroll the RecyclerView in code, especially after addition of a list item. In this tutorial, we will learn how to scroll to specific positions on a RecyclerView. ## Goals ## At the end of the tutorial, you would … | |
## Introduction ## In this tutorial, you will see how to convert the text in CSV file columns to other languages using the [DeepL API](https://www.deepl.com/translator) in the Python programing language. DeepL is one of the most popular and accurate text translation platforms. DeepL, as the name suggests, incorporates advanced deep … | |
## Introduction ## I was working on a problem where I had to scrape tweets related to the T20 Cricket World Cup 2022, which is currently taking place in Australia. I wanted tweets containing location names (cities) and the keyword “T20”. In the response, I want the user names of … | |
## Introduction ## Taking what we already learned from the previous tutorials about drawing custom shapes and animating along elements along a Path. In this tutorial, we will combine what we learned about animation so far to create an alternating Yin Yang symbol. To those unfamiliar with the Yin Yang … | |
This is the second part of a series. The first part can be found [here](https://www.daniweb.com/programming/mobile-development/tutorials/538948/android-native-animate-alternating-yin-yang-symbol-part-1). ## Draw The Yin ## Now that we have the Yang drawn, we will continue onto the Yin. 1. Add the Paint for the Yin into the YingYang class. We will use a *stroke* style … | |
## Animation Strategy ## Welcome to part three of the tutorial; part two can be found [here](https://www.daniweb.com/programming/mobile-development/tutorials/538947/android-native-animate-alternating-yin-yang-symbol-part-2). For this animation, I have chosen to redraw the YinYang Drawable at each frame. This means recreating the YinYang object with different constructor parameters on every frame (the current YinYang implementation has a … | |
## Introduction ## Welcome to part two of the tutorial. Let us continue to learn how to animate views along a Path. Part one can be found [here](https://www.daniweb.com/programming/mobile-development/tutorials/538944/android-native-animate-view-along-path-part-1). ## Important Coordinates ## Both the sun and the moon in our app can occupy any one of the three important coordinates … | |
## Introduction ## In the last tutorial, we learned [how to draw complex shapes](https://www.daniweb.com/programming/mobile-development/tutorials/538943/android-native-draw-complex-shapes-using-the-path-class#post2288657) using a Path object. Using the concepts from the previous tutorial, we will now attempt to animate Views to move along a custom Path. ## Goals ## At the end of the tutorial, you would have … | |
## Introduction ## In the last tutorial, we learned [how to draw basic shapes](https://www.daniweb.com/programming/mobile-development/tutorials/538942/android-native-draw-basic-shapes-on-canvas) on Android using premade methods from the graphics library. In this tutorial, we step up the difficulty a notch by learning how to draw using the Path class. The Path class allows for drawing of technically … | |
## Introduction ## Even though the built-in vector library included in Android Studio contains many icons readily for use, you might eventually run into a situation where a custom icon is needed. In this tutorial, we will learn how to create our own icons from basic shapes drawn on a … | |
## Introduction ## Android includes many options to add animations to your app. In this tutorial, we will learn how to add a type of animation called frame-by-frame animation into our Android app. ## Goals ## At the end of the tutorial, you would have learned: 1. How to add … | |
## Introduction ## I was recently working on a project that required me to extract location information from the [OpenStreetMap](https://www.openstreetmap.org/#map=15/51.5226/-0.1567), an open license map database of the world. The OpenStreetMap database allows you to extract location data along with the location meta information in the form of tags. My task … | |
## Introduction ## Every Android View has a `layoutParams` property. This property tells the parent ViewGroup how a View wants to be laid out; it is also often used to change the size of a View. In this tutorial, we will learn how to animate Views while modifying their `layoutParams`. … | |
## Introduction ## Cards are a common widget for Material 3-themed applications. Expanding a card after the user performs a click action is a very common behavior. While Android can automatically render the new expanded card automatically, we will have to implement our own animation if we want a smooth, … | |
## Introduction ## When working on Espresso tests, you might have run into a situation where you need to verify what your app does when an activity is in a specific [**Lifecycle**](https://developer.android.com/reference/androidx/lifecycle/Lifecycle) state. In this tutorial, we will learn how to achieve this by using the **ActivityScenario** class. ## Goals … | |
In my [previous articles](https://www.daniweb.com/programming/computer-science/tutorials/538512/finding-inter-annotator-agreement-between-three-annotators-in-python#post2287428), I explained how you could apply heuristic and statistical approaches for finding inter-annotator agreement between multiple annotators. However, while applying those approaches, I found that finding inter-annotator agreement in the case of multi-label ranked data is a difficult task, and traditional inter-annotator agreement techniques will almost … | |
In my [previous tutorial](https://www.daniweb.com/programming/computer-science/tutorials/538512/finding-inter-annotator-agreement-between-three-annotators-in-python), I explained how I implemented heuristic approaches for finding inter-annotator agreement between three annotators. Heuristic approaches are excellent for understanding the degree of agreement between multiple annotators. However, you should back your analysis with statistical evidence. This is where statistical techniques for inter-annotator agreement come into … | |
## Introduction ## In the last tutorial, we learned [how to send messages to a RabbitMQ queue](https://www.daniweb.com/programming/web-development/tutorials/538621/how-to-send-messages-in-rabbitmq). In this tutorial, we will learn how to consume those messages in Kotlin. ## Goals ## At the end of the tutorial, you would have learned: 1. How to use the RabbitMQ Java … | |
## Introduction ## In the last tutorial, we learned [how to set up our own RabbitMQ exchanges and queues](https://www.daniweb.com/programming/web-development/tutorials/538620/how-to-create-exchanges-and-queues-in-rabbitmq-server). In this tutorial, we will learn how to send messages to our custom **daniweb-exchange**. ## Goals ## At the end of the tutorial, you would have learned: 1. How to send … | |
## Introduction ## In the previous tutorial, we learned how to [set up our own RabbitMQ server](https://www.daniweb.com/programming/web-development/tutorials/538619/how-to-set-up-a-rabbitmq-server-in-docker). In this tutorial, we will learn how to create our own exchange and queue. ## Goals ## At the end of the tutorial, you would have learned: 1. How to create your own … | |
## Introduction ## **AMQP** (*Advanced Message Queuing Protocol*) is a popular protocol used for communication between messaging middleware and clients. At the time of this writing, the latest version of the AMQP is 1.0, but we will focus on version **0-9-1** instead. 0-9-1 is the *default* version shipped with the … | |
## Introduction ## In the [last Selenium tutorial](https://www.daniweb.com/programming/software-development/tutorials/538447/basic-interactions-with-web-elements-in-selenium), we learned how to perform basic actions such as clicking and sending keystrokes. In this tutorial, we will learn how to do another action, which is the scrolling action. ## Goals ## At the end of the tutorial, you would have learned: … | |
## Introduction ## Welcome to part 2 of the Selenium scrolling tutorial. Please follow the directions in [part 1](https://www.daniweb.com/programming/software-development/tutorials/538448/perform-scrolling-actions-in-selenium-part-1) to set up your project. In part 1, we learned how to let Selenium decide how it wants to scroll to elements. In this part 2, we will learn about a … | |
I recently worked on a research project where I had to find the inter-annotator agreement for tweets annotated by three annotators. Inter annotator agreement refers to the degree of agreement between multiple annotators. The quality of annotated (also called labeled) data is crucial to developing a robust statistical model. Therefore, … | |
## Introduction ## When working with Selenium, you might have run into a situation where you have to wait for long-running tasks to complete before you can interact with elements. Fortunately, Selenium has support for such situations via its many *waits* API. In this tutorial, we will learn how to … |
The End.