Elena' s AI Blog

You broke it.

Midjourney AI-generated art

Page not Found 404 Error

Hi there; it is regrettable that you see the 404. You broke it, and I am very unhappy with this. However, check the blog links to see if they still work.

Super-girls don't cry in face-swaps


This post covers simple ways to create face swaps, including coding and AI tools such as InsightFace. It also includes links to relevant research papers and GitHub repositories. We will also do easy Python coding for face detection and face swaps.

Podcast: How can we build trust and safety around AI?


Lawyer ClΓ‘udia Lima Costa is an expert in Artificial Intelligence and has created an amazing podcast that raises pertinent questions about trust and safety in AI systems. I was fortunate enough to be invited to a relaxed discussion where I shared my views on various topics related to AI, such as AI evolution, AI applications, data sources for training models, copyright, data protection, privacy-preserving techniques, and achieving reliable, explainable, safe, and helpful AI.

Explainable AI is possible


The complexity of AI, particularly deep learning models, has led to the "black box" criticism, highlighting the lack of understanding about how deep learning models arrive at their decisions. While there's truth to this concern, having a nuanced view is important. In this post, I share my view on AI explainability, that it is complex, however possible.

OpenAI's Model Show-off


OpenAI's GPT models are highly sophisticated machine learning models that are used in various fields such as natural language processing, coding assistance, and content creation. OpenAI's newest video-generating model, Sora, sets a new benchmark in video generation technology, which I quickly explore in this post.

In-love with the chatbot


In the age of artificial intelligence, where chatbots are becoming increasingly sophisticated, the concept of falling in love with a chatbot is no longer a far-fetched idea. While some may question the possibility of a genuine emotional connection with a machine, there are individuals who have developed strong emotional attachments to these digital companions.

What is Docker?


Docker lets you quickly deploy microservices, cloud-native architectures, or web apps. In this post, we will use Docker to create a reliable environment for Flask applications that efficiently manages dependencies and deployment intricacies.

chatGPT and Friends


ChatGPT is a powerful language model that has revolutionised the way we interact with technology. This post explores ChatGPT and its alternatives, delving into their capabilities, applications, and ethical considerations.

AI Synthesised Voices


In this post, I discuss voice synthesis and cloning, and mention fantastic AI tools and APIs for creating high-quality human-like voices from text or for automatic voice dubbing.

Here is how I created my blog


Discover the secrets behind creating a successful website/blog with my tried and tested method. Learn how I created my blog and start building your online presence today.

✨ Merry Christmas and Happy New Year with AI! πŸŽ†πŸŽ‡


Merry Christmas and a Very Happy New Year! I wish you much health, happiness and love in 2024. I am also sharing a few AI apps to celebrate the new year. All the best!

πŸŽ‰βœ¨ Cheers to new beginnings 🎊✨


This year, this website changed its design and became responsive and dark-mode friendly; we have added more than 30 content-rich posts on coding and AI and tested fantastic AI apps. With heartfelt thanks for your unwavering support, we wish our friends and readers a 2024 filled with health, joy, love, and boundless possibilities.

Joking Flask App


In this post, I describe the process of building web applications using the Flask framework; we will create a website showing a random joke from a text file. We will learn about Jinja2 templates, static files, routing, and running Flask applications.

Restoring deleted files in Git


Recently, I had a glitch, and many images were deleted from my Git repository. I am fixing it now. See how I do it here.

Living with AI in Pursuit of Happiness


This blog is not about coding or AI; it is about living with AI in human society, striving for happiness and building on technological advances.

Blog Writing with AI in MindStudio


BlogGenie created a draft of this post at YouAI (MindStudio) and aims to demonstrate how AI writing assistants can streamline the blog generation process. It focuses specifically on leveraging YouAI for overall framing and BlogGenie for on-page SEO best practices. This allows for creating initial drafts in seconds rather than hours. You still have to edit and correct an outline to finalise your post.

Creating Websites with AI on Mixo.io


Have you ever wished for a website that writes itself? This dream is now a reality thanks to the advancement in Artificial Intelligence (AI). With Mixo.io, you can create stunning websites using AI technology--in minutes! In this blog post, we will explore website creation with Mixo.io.

Bright ideas at Web Summit 2023


In this post, I write about my experience attending the World's largest and most prominent technology conferences. I had the pleasure of attending ten technology-focused tracks of Web Summit. What did I learn? Was the Web Summit useful for me?

Cool Wallpaper with QR code for iPhone


When my iPhone is locked, I can share my website address with a QR code. How to use reportlab and Python to generate a QR code for the iPhone wallpaper?

Bias-Variance Challenge


In machine learning, we usually start from a simple baseline model and progressively adjust its complexity until we reach that spot with the best model performance. How can we do this? Let's detail the most essential machine learning concepts and the bias-variance challenge.

Travelling, just sent my e-mails


I am on my way. You have received my email if you subscribed :)

Decision Tree versus Random Forest, and Hyperparameter Optimisation


Decision trees, with their elegant simplicity and transparency, stand in stark contrast to the robust predictive power of Random Forest, an ensemble of trees. In this post, we compare the key distinctions, advantages, and trade-offs between these two approaches. We will use Scikit-Learn for training and testing both models and also perform hyperparameter optimisation to find both model parameters for improved performance.

Machine-Learning Process


The machine learning process involves a series of steps and activities designed to develop and deploy machine learning models to solve specific problems or make predictions. To simplify, we create programs that take in data and produce desired results in machine learning. There are several stages in the machine-learning process that we briefly describe in this post.

The water genie told me a story


I am back home. I have had nine flights in the last month and feel exhausted. I was delighted to see my family and had a few things to do. So happy that it all went well. Come again later and plunge into the whole sea of machine learning travel. It will be technical. We will start with a droplet and will come with more later.

Two years of Elena's AI Blog


Elena, a passionate AI blogger with a background in engineering and consultancy, brings her expertise and a mission to demystify machine learning for her readers.

Generate Music with AI


In this post, we will get into music generation with AI. We will briefly explore existing AI applications generating audio. We will explore transformer usage while coding music generation with HuggingFace transformers in Python.

A Warm August and Vacation


In this post, I write about what's happening in my life. August 2023 is quite warm, and I have decided to have a short vacation, which is much needed since I am preparing a surprise for you, my dear reader.

AI-Free Website Design


In this post, I write about my efforts in creating CSS and HTML pages for my website with chatGPT and why I ended up doing it myself while learning from the bot, Google Search, CodePen and w3schools.

Preserve your local changes on Git Pull


When we get the Git error on pull - your local changes to the following files would be overwritten by merge - it means that you have some uncommitted changes in the working directory. Git cannot perform the merge operation because those changes would be lost or overwritten during the merge process. Read some good solutions to resolve this error while keeping local changes.

Leveraging Git Tags


Git tags are useful for marking specific points in a repository's history, such as release points or important milestones. They provide a way to easily reference and access specific versions of your codebase. Let's dive deeper into the details of working with Git tags.

GPT Implications for Coding


The AI evolution has implications for programming and programmer jobs. GPT usage allows for quicker product releases and a focus on user requirements. However, low-coding jobs could be delegated to AI, new skills for AI-assisted programming be required or access to sophisticated models only available to some. The new coding age is upon us. In this blog post, I highlight the opportunities and challenges of AI-assisted code generation and share my experiences using chatGPT.

Moving to GA4


On July 1st, we are moving to GA4, which is essential to ensure that our website analytics are processed without delay due to the transition. Herein I share my GA4 setup in Google Analytics.

Mastering Midjourney Prompts for Stunning Images


In this post, I write about creating stunning designs in Midjourney. We create AI-generated designs for an ice cream cafe. In the end, I list all prompts and handy keywords to take away for your fantastic own creations.

Git Failed to Push Some Refs


I was away from my big MAC computer and did some repository updates using my laptop. When arriving back, I could not push an update from my big MAC computer. Git updates were rejected because my current branch is behind. That happens quite often when we should integrate the remote changes before pushing git updates. Herein I am sharing possible solutions in detail.

The Magic of AI Tools


In this post, I list some of my favorite AI applications for productivity and fun.

The Remarkable Evolution and Milestones of AI


In this post, I outline the AI evolution and its most prominent milestones with chatGPT and Midjourney.

Loop like a Pro with Python Iterators


This post explains the basics of Python iterators and their successful alternatives, such as list comprehension. While these alternatives use more memory, they are still useful in practice. The post also covers advanced techniques for working with iterators, including using the itertools module and creating generators with the yield keyword. By mastering iterators, readers can create elegant and efficient code and become better Python programmers.

The Token Way to GitHub Security


In this brief post I describe the setup and usage of GitHub personal access tokens.

From Dutch Golden Age to AI Art: A Journey with Vermeer and AI


In this post, I collaborated with ChatGPT to explore the captivating World of Dutch art and Johannes Vermeer. As an art critic and historian, ChatGPT provides fascinating insights into Vermeer's masterpieces and the historical events that influenced them. I also share my emotional experience of visiting a Vermeer art exhibition, and we'll have some fun creating AI art with Jasper.ai, DALL-E, Stable Diffusion Playground and Midjourney bot. Take advantage of my tips for refining ChatGPT's output and the prompts I used to get the best results. Join me on this adventure and discover the beauty of Dutch art and AI-art outcomes!

The SSH host key mystery


What do you call a developer who's afraid of the dark? A Git-in-the-middle attacker! But seriously, if you've ever seen a warning message about a changed SSH host key while pushing code changes, don't panic - it might just be a legitimate update. To fix the issue, simply delete the saved RSA key fingerprint and let the SSH client verify the new one. And remember, always keep an eye out for those pesky man-in-the-middle attackers lurking in the shadows! You can learn how to create and use SSH keys, explained so simply in this post.

The Most Useful AI-Content and Plagiarism Detection Tools


With the development of AI-content generators such as chatGPT, we have a new need to identify such content, and the tools of AI-content detection are currently being developed. Writing assistants and plagiarism detection tools also include AI-content detection. In this post, I talk about the most visible AI tools that help us mitigate plagiarism and motivate us to create original and well-written content. Indeed, I will start with the definition of plagiarism, why it's terrible, and move quickly into helpful tools in AI-content and plagiarism detection that are available today.

Audio Signal Processing with Python's Librosa


In this post, I focus on audio signal processing and working with WAV files. I apply Python's Librosa library for extracting wave features commonly used in research and application tasks such as gender prediction, music genre prediction, and voice identification. To succeed in these complex tasks, we need a clear understanding of how WAV files can be analysed, which I cover in detail with handy Python code snippets.

Machine Learning Tests using the Titanic dataset


In this post, we created and evaluated several machine-learning models using the Titanic Dataset. We have compared the performance of the Logistic Regression, Decision Tree and Random Forest from Python's library scikit-learn and a Neural Network created with TensorFlow. The Random Forest Performed the best!

Say Goodbye to Grammar Gaffes with Grammarly!


Grammarly is a writing tool that helps users improve their grammar, punctuation, and spelling. It is designed to be an effective tool for native and non-native English speakers. It can be used as a browser extension or an app and be integrated with various platforms, such as Microsoft Word and Google Docs. I like to have also my writing progress reports sent weekly to see my writing performance and areas to improve. In this post, I share my Grammarly experience and discuss the technology behind Grammarly-like tools.

Data exploration and analysis with Python Pandas


In Data Science, we have so many terms explaining concepts and techniques that it is easy to need clarification and get a clear understanding of all data science components and steps. In this post, I filled the gap by explaining data science's two essential components, data analysis and exploration. To clarify things, I have shown both approaches, compared them, and provided Python code using Pandas dataframe and graph drawing.

Python coding with chatGPT


In this post, I did some Python coding with chatGPT. We have coded a neuron, a simple neural network, and learned how to train it. I am pleased with the result. I think that chatGPT has excellent potential for CS students and all coders that want to update their skills effectively. Is it an end of the StackOverflow? We cannot see the feature. However, we still need social interaction with humans, and AI cannot substitute human communication.

Happy New Year!


My best wishes for 2023! I wish you happiness, health, and excellent luck in the New Year! Let your best wishes come true, and your professional goals are achieved with success!

chatGPT Wrote me a Christmas Poem


In this post, I shared my thoughts on chatGPT, its technology, and its possible societal implications. I also asked it to write a Christmas poem for me, which was pretty good!

SEO and Indexing my Blog


Today, I received an email from the Google search console team informing me about an issue with my blog pages related to a duplicate without a user-selected canonical. I was intrigued about making my blog more search engine friendly and seeing what happens after SEO.

Git Commands and a Contribution Workflow


I have created a list of arguably the most useful Git commands and an example contribution workflow. I have also found a great JavaScript application for learning Git branching!

Learning new things


Computer Science, Data Science, Machine Learning, databases, coding, data wrangling, math, statistics, linear algebra, matrix operations, and many other things. This list is broad and constantly updated with new things. How to find your path and not lose yourself along the way? Students or novice Data Scientists often approach me about where to begin. I do not know, but I am sharing my ideas in this post.

Linters and Git Pre-commit


It's great to focus on code development while keeping the coding style right. This could be achieved with automatic formatting checks before committing files into the code repository. In this post, I have described the pre-commit usage with git hooks and a simple setup for checking Python files.

Python classes and pigeons


Happy 1st of September, dear visitors. I have decided to write a letter to you. The letter concerns pigeons and Python classes, the essential OOP concepts such as inheritance, polymorphism, and encapsulation.

Reverting Commits in GitHub


This post is about reverting your changes in GitHub. Sometimes it's good to step back and think about something different, right? With the use of git reset, revert and rebase we can remove changes from commits or even history.

MAC OS Speed Up


After a while, my Mac OS computer started to work slower. I have searched for possible solutions to run my computer faster without much latency. We can upgrade our computer storage and install a more powerful processor unit to speed up Mac OS. In this blog post, I will, however, focus on a more straightforward way without any system upgrades, which are costly and take time.

TensorFlow: Romancing with TensorFlow and NLP


In this post we will create a simple poem generation model with Keras Sequential API.

Collaboration in GitHub


In this post, I have covered GitHub collaboration when working with other team members. Git branching, forking, pull requests, and issues were briefly explained.

Floating-point format and Mixed Precision in TensorFlow


When creating large Machine Learning models, we want to minimise the training time. In TensorFlow, it is possible to do mixed precision model training, which helps in significant performance improvement because it uses lower-precision operations with 16 bits (such as float16) together with single-precision operations (f.i. using float32 data type). Google TPUs and NVIDIA GPUs devices can perform operations with 16-bit datatype much faster

Coding in Portugal


I am in Portugal. I live and breathe the freshness of the Ocean. Its vivid colors and wind make me happy, and I feel like a part of something bigger, omnipresent, and eternal. The springtime is the best time to be here when you like flowers and delicate fragrances loating in the air.

TensorFlow: Evaluating the Saved Bird Species Prediction Model


In this post, I have described the process of in-depth model evaluation. I have reused the previously created EffecientNetB0 model, which is fine-tuned with the 400 Bird Species Kaggle dataset. As a result, I have found out which bird species are not well predicted.

TensorFlow: Transfer Learning (Fine-Tuning) in Image Classification


We used a 400 species birds dataset for building bird species predictive models based on EffeicientNetB0 from Keras. The baseline model showed already an excellent Accuracy=0.9845. However, data augmentation did not help in improving accuracy, which slightly lowered to 0.9690. Further, this model with a data augmentation layer was partially unfrozen, retrained with a lower learning rate, and reached an Accuracy=0.9850.

Anaconda Environments


It might be challenging to manage different projects and their requirements when we do Python coding with loads of varying package versions and intricate setups. Luckily, we have a secret tool for managing and switching between different setups or environments. Conda is a package manager allowing us to work with different environments from a command line. Please do not mix it up with the Anaconda, which is helpful in scientific computing and includes a set of packages including NumPy, Scipy, Jupiter notebooks, and Conda.

TensorFlow: Transfer Learning (Feature Extraction) in Image Classification


Image classification is a complex task. However, we can approach the problem while reusing state-of-the-art pre-trained models. Using previously learned patterns from other models is named "Transfer Learning." This way, we can efficiently apply well-tested models, potentially leading to excellent performance.

TensorFlow: Convolutional Neural Networks for Image Classification


In this post, I have demonstrated CNN usage for birds recognition using TensorFlow and Kaggle 400 birds species dataset. We observed how the model works with the original and augmented images.

TensorFlow: Multiclass Classification Model


In Machine Learning, the classification problem is categorising input data into different classes. For instance, we can categorise email messages into two groups, spam or not spam. In this case, we have two classes, we talk about binary classification. When we have more than two classes, we talk about multiclass classification. In this post, I am going to address the latest multiclass classification, on the example of categorising clothing items into clothing types.

Feature preprocessing


Machine Learning algorithms often require that data is in a specific type. For instance, we can use only numerical data. In other cases, ML algorithms would perform better or converge faster when we preprocess data before training the model. Since we do this step before training the model, we call it preprocessing.

TensorFlow: Evaluating the Regression Model


In this post, we have performed the evaluation of four regression models using TensorFlow. MAE and MSE error metrics were used to compare the Sequential models while finding the best neural network architecture regarding the defined hyperparameters.

TensorFlow: Regression Model


I have described regression modeling in TensorFlow. We have predicted a numerical value and adjusted hyperparameters to better model performance with a simple neural network. We generated a dataset, demonstrated a simple data split into training and testing sets, visualised our data and the created neural network, evaluated our model using a testing dataset.

TensorFlow: Global and Operation-level Seeds


In training Machine Learning models, we want to avoid any ordering biases in the data. In some cases, such as in Cross-Validation experiments, it is essential to mix data and ensure that the order of data is the same between different runs or system restarts. We can use operation-level and global seeds to achieve the reproducibility of results.

Tensors in TensorFlow


TensorFlow is a free OS library for machine learning created by Google Brain. Tensorflow has excellent functionality for building deep neural networks. I have chosen TensorFlow because it is pretty robust, efficient, and can be used with Python. In this post, I am going to write about how we can create tensors, shuffle them, index them, get information about tensors with simple examples.

GitHub Codespaces


GitHub codespaces provide a development environment running in the cloud. A codespace environment is created with the help of configuration files added to a GitHub repository.

TensorFlow on M1


TensorFlow is a free OS library for machine learning created by Google Brain. Tensorflow has excellent functionality for building deep neural networks. I have chosen TensorFlow because it is pretty robust, efficient, and can be used with Python. Since I like Jupyter Notebooks and Conda, they were also installed on my system. Next, I am going through simple steps to install TensorFlow and the packages above on M1 macOS Monterey.

Mining Microblogs for Culture-awareness in Web Adaptation


In this post, I am briefly writing up about what I did in my PhD research at Heriot-Watt University and the main idea behind the thesis.

Artificial Neural Networks


Artificial neural networks (ANNs) are the cornerstone of Deep Learning algorithms. The name and the architecture are adopted from the human brain's neural network. ANNs are designed to simulate human reasoning based on how neurons communicate. ANNs contain a set of artificial neurons connected.

Minimalism in Coding and Design


Nowadays, technology advances so rapidly that I sometimes feel like running after leaving the train. More technical knowledge is needed every day. Yesterday, it was GIT and workflows, and today it is Docker. What is next?

Deep Learning with DataCamp and Twitter


While having some machine learning experience of working with Scikit Learn, I was always interested in Deep Learning. The plan is to learn basic concepts and apply algorithms to a real-life situation, which I have always liked.

GIT in 10 minutes


Version control systems are handy to keep track of file versions. This is useful for tracking your code, scripts and text information. Currently, GIT is one of the best open-source and cross-platform version control solutions. It enables distributed repository management; it works fast over HTTP and ssh protocols. GIT is relatively easy to use, with command-line utility or Graphical User Interface.

Are we raising from ashes?


The Phoenix bird is a fantastical bird known from ancient Greeks mythology.

Merry Xmas and a Very Happy New Year!


It was quite a challenging year so far. Many things happened, a rollercoaster of 2021, and we are still riding with the pandemics. But I am very grateful that my dear people are all well. This is what I wish for the following year.

Python Programming Language


Python is relatively easy to learn and beginner-friendly. I like Python because you can program any kind of project with it. It is open-source and free for anyone to use. Python has well-tested machine learning libraries and a very supportive community. I will overview herein a basic syntax of the Python programming language. This will be useful for beginners or people who move quickly from another programming language to Python.

Hi! I'm Elena. Welcome to my blog.


I'm a machine learning engineer and researcher. I have been fascinated by computer science, Artificial Intelligence, technology, and philosophical questions from an early age.

Tools and Data to Experiment with Machine Learning


Python open-source library scikit-learn provides a comprehensive selection of machine learning techniques (regression, classification, clustering), feature selection, metrics, preprocessing, and other functionality. At this moment, Scikit-learn, is lacking deep learning functionality; however, we can use TensorFlow with the Scikit Flow wrapper for creating neural networks using the Scikit-learn approach.

Deep Learning vs Machine Learning


Artificial Intelligence (AI) is a field of computer science. AI provides methods and algorithms to mimic human intelligence, reasoning, and decision-making and provide insights, which businesses could use in research or industry to build new exciting and innovative products or services. Machine Learning (ML) is a subset of AI with algorithms that learn from data. In this post, we sort out the differences between AI and ML.

All Posts