{"id":53547,"date":"2026-10-12T14:28:48","date_gmt":"2026-10-12T04:28:48","guid":{"rendered":"https:\/\/www.cloudproinc.com.au\/?p=53547"},"modified":"2026-10-12T14:28:48","modified_gmt":"2026-10-12T04:28:48","slug":"understanding-the-softmax-function-in-ai","status":"publish","type":"post","link":"https:\/\/www.cloudproinc.com.au\/index.php\/2026\/10\/12\/understanding-the-softmax-function-in-ai\/","title":{"rendered":"Understanding the Softmax Function in AI"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">The softmax function is a cornerstone of machine learning, especially in tasks involving classification. It transforms raw prediction scores (logits) into probabilities, making them easy to interpret and use for decision-making. This blog post will dive deep into what the softmax function is, why it\u2019s important, and how to effectively implement it using Python and PyTorch.<\/p>\n\n\n\n<!--more-->\n\n\n\n<div class=\"wp-block-yoast-seo-table-of-contents yoast-table-of-contents\"><h2>Table of contents<\/h2><ul><li><a href=\"#h-what-is-the-softmax-function\" data-level=\"2\">What is the Softmax Function?<\/a><\/li><li><a href=\"#h-why-is-softmax-important\" data-level=\"2\">Why is Softmax Important?<\/a><\/li><li><a href=\"#h-mathematical-insight\" data-level=\"2\">Mathematical Insight<\/a><\/li><li><a href=\"#h-implementation-in-python\" data-level=\"2\">Implementation in Python<\/a><\/li><li><a href=\"#h-using-softmax-in-pytorch\" data-level=\"2\">Using Softmax in PyTorch<\/a><\/li><li><a href=\"#h-softmax-in-neural-networks\" data-level=\"2\">Softmax in Neural Networks<\/a><\/li><li><a href=\"#h-tools-and-best-practices\" data-level=\"2\">Tools and Best Practices<\/a><\/li><li><a href=\"#h-softmax-vs-sigmoid\" data-level=\"2\">Softmax vs. Sigmoid<\/a><ul><li><a href=\"#h-practical-applications\" data-level=\"3\">Practical Applications<\/a><\/li><li><a href=\"#h-conclusion\" data-level=\"3\">Conclusion<\/a><\/li><\/ul><\/li><\/ul><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-what-is-the-softmax-function\">What is the Softmax Function?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The softmax function is used in machine learning, particularly in classification tasks, to normalize the outputs of a network into probabilities. It ensures the outputs sum to 1, thereby turning raw numbers into interpretable probabilities. Formally, the softmax function is defined as:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"279\" height=\"67\" data-src=\"\/wp-content\/uploads\/2025\/07\/image-21.png\" alt=\"\" class=\"wp-image-53548 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 279px; --smush-placeholder-aspect-ratio: 279\/67;\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">where:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>xix_i is the input score for class ii.<\/li>\n\n\n\n<li>ee is the exponential function.<\/li>\n\n\n\n<li>nn is the total number of classes.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-why-is-softmax-important\">Why is Softmax Important?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Softmax is crucial because it simplifies complex outputs into a probabilistic format that clearly indicates the likelihood of each possible class. This is particularly valuable in multi-class classification scenarios where decisions are based on the highest probability.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Consider an image classification task: a model predicting whether an image is a dog, cat, or bird. Raw scores like <code>[3.2, 5.1, 2.7]<\/code> do not clearly indicate probabilities. Applying softmax converts these scores into probabilities, such as <code>[0.17, 0.75, 0.08]<\/code>, making it clear that the model is most confident that the image depicts a cat.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-mathematical-insight\">Mathematical Insight<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The softmax function enhances the scores by amplifying differences. Scores with higher values become much more significant after exponentiation, while lower scores shrink considerably. This emphasis helps the model clearly differentiate between classes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-implementation-in-python\">Implementation in Python<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Here&#8217;s a simple implementation of the softmax function using Python and NumPy:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import numpy as np\n\ndef softmax(x):\n    e_x = np.exp(x - np.max(x))\n    return e_x \/ e_x.sum()\n\n# Example usage\nscores = np.array(&#91;3.2, 5.1, 2.7])\nprobabilities = softmax(scores)\nprint(probabilities)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This snippet outputs normalized probabilities:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;0.16984696 0.75446768 0.07568536]\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The highest probability clearly identifies the predicted class.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-using-softmax-in-pytorch\">Using Softmax in PyTorch<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">PyTorch, a popular deep learning library, simplifies softmax computation through its built-in functionalities. Here&#8217;s how you can implement softmax using PyTorch:<\/p>\n\n\n\n<pre class=\"wp-block-code has-pale-pink-color has-black-background-color has-text-color has-background has-link-color wp-elements-1\"><code>import torch\nimport torch.nn.functional as F\n\n# Example scores (logits)\nscores = torch.tensor(&#91;3.2, 5.1, 2.7])\n\n# Applying softmax\nprobabilities = F.softmax(scores, dim=0)\nprint(probabilities)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Output:<\/p>\n\n\n\n<pre class=\"wp-block-code has-pale-pink-color has-black-background-color has-text-color has-background has-link-color wp-elements-2\"><code>tensor(&#91;0.1698, 0.7545, 0.0757])\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">PyTorch&#8217;s built-in function ensures numerical stability and efficiency, essential in deep learning.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-softmax-in-neural-networks\">Softmax in Neural Networks<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In neural networks, softmax typically serves as the activation function in the final layer of a classification model. Let&#8217;s illustrate this with a basic neural network in PyTorch:<\/p>\n\n\n\n<pre class=\"wp-block-code has-pale-pink-color has-black-background-color has-text-color has-background has-link-color wp-elements-3\"><code>import torch\nimport torch.nn as nn\nimport torch.nn.functional as F\n\nclass SimpleClassifier(nn.Module):\n    def __init__(self, input_dim, output_dim):\n        super(SimpleClassifier, self).__init__()\n        self.fc = nn.Linear(input_dim, output_dim)\n\n    def forward(self, x):\n        logits = self.fc(x)\n        probabilities = F.softmax(logits, dim=1)\n        return probabilities\n\n# Create model\nmodel = SimpleClassifier(input_dim=10, output_dim=3)\n\n# Example input\ninput_data = torch.randn(1, 10)\noutput_probabilities = model(input_data)\nprint(output_probabilities)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This will output something similar to:<\/p>\n\n\n\n<pre class=\"wp-block-code has-pale-pink-color has-black-background-color has-text-color has-background has-link-color wp-elements-4\"><code>tensor(&#91;&#91;0.2571, 0.6154, 0.1275]], grad_fn=&lt;SoftmaxBackward0>)<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-tools-and-best-practices\">Tools and Best Practices<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Several tools enhance the usage of softmax in AI development:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>PyTorch<\/strong>: Offers intuitive and efficient implementations for softmax, particularly useful in deep learning models.<\/li>\n\n\n\n<li><strong>TensorFlow<\/strong>: Provides similar functionalities with easy integration into complex neural network architectures.<\/li>\n\n\n\n<li><strong>NumPy<\/strong>: Ideal for understanding and prototyping softmax in simpler computational scenarios.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">When using softmax, it is crucial to consider numerical stability. Always subtract the maximum value from scores before exponentiation to prevent overflow issues, a practice naturally handled by PyTorch and TensorFlow.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-softmax-vs-sigmoid\">Softmax vs. Sigmoid<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">It\u2019s important to distinguish softmax from sigmoid, another activation function:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Sigmoid<\/strong> is typically used for binary classification tasks, providing a probability between 0 and 1 for each class independently.<\/li>\n\n\n\n<li><strong>Softmax<\/strong> handles multi-class scenarios, ensuring that all class probabilities sum up to 1, making it perfect for tasks with mutually exclusive classes.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-practical-applications\">Practical Applications<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Softmax is extensively used in:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Image Classification<\/strong>: Models like ResNet and MobileNet use softmax to classify images into distinct categories.<\/li>\n\n\n\n<li><strong>Natural Language Processing (NLP)<\/strong>: Transformer-based models (like BERT and GPT) rely on softmax to predict the next word or classify text.<\/li>\n\n\n\n<li><strong>Recommender Systems<\/strong>: Softmax can also aid in predicting user preferences and providing recommendations based on probability distributions.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-conclusion\">Conclusion<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The softmax function is an indispensable tool in AI, particularly within the context of multi-class classification problems. It translates ambiguous model outputs into meaningful probabilities, enhancing interpretability and decision-making clarity. Leveraging powerful libraries like PyTorch simplifies implementation, allowing developers and data scientists to build robust, effective models with ease.<\/p>\n\n\n\n<ul class=\"wp-block-yoast-seo-related-links yoast-seo-related-links\">\n<li><a href=\"https:\/\/cloudproinc.azurewebsites.net\/index.php\/2025\/07\/21\/running-pytorch-in-microsoft-azure-machine-learning\/\">Running PyTorch in Microsoft Azure Machine Learning<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/cloudproinc.azurewebsites.net\/index.php\/2025\/07\/09\/top-vs-code-extensions-for-developers-and-devops-engineers\/\">Top VS Code Extensions for Developers and DevOps Engineers<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.cloudproinc.com.au\/index.php\/2024\/07\/22\/understanding-appsettings-json-in-net-and-c\/\">Understanding &#8216;appsettings.json&#8217; in .NET and C#<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/cloudproinc.azurewebsites.net\/index.php\/2025\/07\/25\/understanding-transformers-the-architecture-driving-ai-innovation\/\">Understanding Transformers: The Architecture Driving AI Innovation<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.cloudproinc.com.au\/index.php\/2024\/08\/28\/deploy-azure-resources-with-logic-apps\/\">Deploy Azure Resources With Logic Apps<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>The softmax function is a cornerstone of machine learning, especially in tasks involving classification. It transforms raw prediction scores (logits) into probabilities, making them easy to interpret and use for decision-making. This blog post will dive deep into what the softmax function is, why it\u2019s important, and how to effectively implement it using Python and [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":53550,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"off","_et_pb_old_content":"","_et_gb_content_width":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[24,13,75],"tags":[],"class_list":["post-53547","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai","category-blog","category-pytorch"],"jetpack-related-posts":[{"id":53594,"url":"https:\/\/www.cloudproinc.com.au\/index.php\/2026\/10\/12\/llm-self-attention-mechanism-explained\/","url_meta":{"origin":53547,"position":0},"title":"LLM Self-Attention Mechanism Explained","author":"CPI Staff","date":"October 12, 2026","format":false,"excerpt":"In this post, \"LLM Self-Attention Mechanism Explained\"we\u2019ll break down how self-attention works, why it\u2019s important, and how to implement it with code examples. Self-attention is one of the core components powering Large Language Models (LLMs) like GPT, BERT, and Transformer-based architectures. It allows a model to dynamically focus on different\u2026","rel":"","context":"In &quot;AI&quot;","block_context":{"text":"AI","link":"https:\/\/www.cloudproinc.com.au\/index.php\/category\/ai\/"},"img":{"alt_text":"","src":"\/wp-content\/uploads\/2025\/08\/ChatGPT-Image-Aug-11-2025-08_28_04-PM.png","width":350,"height":200,"srcset":"\/wp-content\/uploads\/2025\/08\/ChatGPT-Image-Aug-11-2025-08_28_04-PM.png 1x, \/wp-content\/uploads\/2025\/08\/ChatGPT-Image-Aug-11-2025-08_28_04-PM.png 1.5x, \/wp-content\/uploads\/2025\/08\/ChatGPT-Image-Aug-11-2025-08_28_04-PM.png 2x, \/wp-content\/uploads\/2025\/08\/ChatGPT-Image-Aug-11-2025-08_28_04-PM.png 3x, \/wp-content\/uploads\/2025\/08\/ChatGPT-Image-Aug-11-2025-08_28_04-PM.png 4x"},"classes":[]},{"id":53573,"url":"https:\/\/www.cloudproinc.com.au\/index.php\/2026\/10\/12\/how-to-code-and-build-a-gpt-large-language-model\/","url_meta":{"origin":53547,"position":1},"title":"How to Code and Build a GPT Large Language Model","author":"CPI Staff","date":"October 12, 2026","format":false,"excerpt":"In this blog post, you\u2019ll learn how to code and build a GPT LLM from scratch or fine-tune an existing one. We\u2019ll cover the architecture, key tools, libraries, frameworks, and essential resources to get you started fast. Table of contentsUnderstanding GPT LLM ArchitectureModel Architecture DiagramTools and Libraries to Build a\u2026","rel":"","context":"In &quot;AI&quot;","block_context":{"text":"AI","link":"https:\/\/www.cloudproinc.com.au\/index.php\/category\/ai\/"},"img":{"alt_text":"","src":"\/wp-content\/uploads\/2025\/08\/CreateLLM.png","width":350,"height":200,"srcset":"\/wp-content\/uploads\/2025\/08\/CreateLLM.png 1x, \/wp-content\/uploads\/2025\/08\/CreateLLM.png 1.5x, \/wp-content\/uploads\/2025\/08\/CreateLLM.png 2x, \/wp-content\/uploads\/2025\/08\/CreateLLM.png 3x, \/wp-content\/uploads\/2025\/08\/CreateLLM.png 4x"},"classes":[]},{"id":53934,"url":"https:\/\/www.cloudproinc.com.au\/index.php\/2026\/10\/12\/build-a-keras-model-for-real-projects\/","url_meta":{"origin":53547,"position":2},"title":"Build a Keras Model for Real Projects","author":"CPI Staff","date":"October 12, 2026","format":false,"excerpt":"Learn how to design, train, and deploy Keras models using TensorFlow\u2014from data prep to production-ready saves\u2014with practical code, clear steps, and tips for speed, accuracy, and maintainability.","rel":"","context":"In &quot;AI&quot;","block_context":{"text":"AI","link":"https:\/\/www.cloudproinc.com.au\/index.php\/category\/ai\/"},"img":{"alt_text":"","src":"\/wp-content\/uploads\/2025\/09\/build-a-keras-model-for-real-projects-from-idea-to-deployment.png","width":350,"height":200,"srcset":"\/wp-content\/uploads\/2025\/09\/build-a-keras-model-for-real-projects-from-idea-to-deployment.png 1x, \/wp-content\/uploads\/2025\/09\/build-a-keras-model-for-real-projects-from-idea-to-deployment.png 1.5x, \/wp-content\/uploads\/2025\/09\/build-a-keras-model-for-real-projects-from-idea-to-deployment.png 2x, \/wp-content\/uploads\/2025\/09\/build-a-keras-model-for-real-projects-from-idea-to-deployment.png 3x, \/wp-content\/uploads\/2025\/09\/build-a-keras-model-for-real-projects-from-idea-to-deployment.png 4x"},"classes":[]},{"id":53932,"url":"https:\/\/www.cloudproinc.com.au\/index.php\/2026\/10\/12\/mastering-common-tensor-operations\/","url_meta":{"origin":53547,"position":3},"title":"Mastering Common Tensor Operations","author":"CPI Staff","date":"October 12, 2026","format":false,"excerpt":"A practical guide to the tensor operations that power modern AI. Learn the essentials, from shapes and broadcasting to vectorization, autograd, and GPU performance.","rel":"","context":"In &quot;AI&quot;","block_context":{"text":"AI","link":"https:\/\/www.cloudproinc.com.au\/index.php\/category\/ai\/"},"img":{"alt_text":"","src":"\/wp-content\/uploads\/2025\/09\/mastering-common-tensor-operations-for-ai-and-data-workloads.png","width":350,"height":200,"srcset":"\/wp-content\/uploads\/2025\/09\/mastering-common-tensor-operations-for-ai-and-data-workloads.png 1x, \/wp-content\/uploads\/2025\/09\/mastering-common-tensor-operations-for-ai-and-data-workloads.png 1.5x, \/wp-content\/uploads\/2025\/09\/mastering-common-tensor-operations-for-ai-and-data-workloads.png 2x, \/wp-content\/uploads\/2025\/09\/mastering-common-tensor-operations-for-ai-and-data-workloads.png 3x, \/wp-content\/uploads\/2025\/09\/mastering-common-tensor-operations-for-ai-and-data-workloads.png 4x"},"classes":[]},{"id":53520,"url":"https:\/\/www.cloudproinc.com.au\/index.php\/2026\/10\/12\/running-pytorch-in-microsoft-azure-machine-learning\/","url_meta":{"origin":53547,"position":4},"title":"Running PyTorch in Microsoft Azure Machine Learning","author":"CPI Staff","date":"October 12, 2026","format":false,"excerpt":"This post will walk you through what PyTorch is, how it's used in ML and LLM development, and how you can start running it in Azure ML using Jupyter notebooks. If you're working on deep learning, computer vision, or building large language models (LLMs), you've probably come across PyTorch. But\u2026","rel":"","context":"In &quot;AI&quot;","block_context":{"text":"AI","link":"https:\/\/www.cloudproinc.com.au\/index.php\/category\/ai\/"},"img":{"alt_text":"","src":"\/wp-content\/uploads\/2025\/05\/Add-bootstrap-logo.png","width":350,"height":200,"srcset":"\/wp-content\/uploads\/2025\/05\/Add-bootstrap-logo.png 1x, \/wp-content\/uploads\/2025\/05\/Add-bootstrap-logo.png 1.5x, \/wp-content\/uploads\/2025\/05\/Add-bootstrap-logo.png 2x, \/wp-content\/uploads\/2025\/05\/Add-bootstrap-logo.png 3x, \/wp-content\/uploads\/2025\/05\/Add-bootstrap-logo.png 4x"},"classes":[]},{"id":53865,"url":"https:\/\/www.cloudproinc.com.au\/index.php\/2026\/10\/12\/loading-and-saving-pytorch-weights\/","url_meta":{"origin":53547,"position":5},"title":"Loading and Saving PyTorch Weights","author":"CPI Staff","date":"October 12, 2026","format":false,"excerpt":"Learn practical, safe patterns for saving, loading, and resuming PyTorch models. We cover state_dicts, checkpoints, device mapping, distributed training, and common pitfalls.","rel":"","context":"In &quot;AI&quot;","block_context":{"text":"AI","link":"https:\/\/www.cloudproinc.com.au\/index.php\/category\/ai\/"},"img":{"alt_text":"","src":"\/wp-content\/uploads\/2025\/09\/best-practices-for-loading-and-saving-pytorch-weights-in-production.png","width":350,"height":200,"srcset":"\/wp-content\/uploads\/2025\/09\/best-practices-for-loading-and-saving-pytorch-weights-in-production.png 1x, \/wp-content\/uploads\/2025\/09\/best-practices-for-loading-and-saving-pytorch-weights-in-production.png 1.5x, \/wp-content\/uploads\/2025\/09\/best-practices-for-loading-and-saving-pytorch-weights-in-production.png 2x, \/wp-content\/uploads\/2025\/09\/best-practices-for-loading-and-saving-pytorch-weights-in-production.png 3x, \/wp-content\/uploads\/2025\/09\/best-practices-for-loading-and-saving-pytorch-weights-in-production.png 4x"},"classes":[]}],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"\/wp-content\/uploads\/2025\/07\/create-a-featured-image-for-a-blog-post-about-the.png","_links":{"self":[{"href":"https:\/\/www.cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/posts\/53547","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/comments?post=53547"}],"version-history":[{"count":1,"href":"https:\/\/www.cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/posts\/53547\/revisions"}],"predecessor-version":[{"id":53551,"href":"https:\/\/www.cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/posts\/53547\/revisions\/53551"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/media\/53550"}],"wp:attachment":[{"href":"https:\/\/www.cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/media?parent=53547"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/categories?post=53547"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/tags?post=53547"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}