{"id":3932,"date":"2023-11-04T23:13:57","date_gmt":"2023-11-04T23:13:57","guid":{"rendered":"http:\/\/localhost:10003\/how-to-use-openai-microscope-for-visualizing-neural-networks\/"},"modified":"2023-11-05T05:48:26","modified_gmt":"2023-11-05T05:48:26","slug":"how-to-use-openai-microscope-for-visualizing-neural-networks","status":"publish","type":"post","link":"http:\/\/localhost:10003\/how-to-use-openai-microscope-for-visualizing-neural-networks\/","title":{"rendered":"How to Use OpenAI Microscope for Visualizing Neural Networks"},"content":{"rendered":"

Neural networks are powerful machine learning models that are capable of performing complex tasks like image classification, natural language processing, and more. However, understanding what these models have learned can be quite challenging, especially as the size and complexity of the models increase.<\/p>\n

OpenAI Microscope is a tool developed by OpenAI that aims to make it easier to understand and visualize neural networks. It provides an interactive visualization interface that allows you to explore the activations of different layers in a neural network, gaining insight into what the network is learning at each stage of processing.<\/p>\n

In this tutorial, we will learn how to use OpenAI Microscope to visualize and explore neural networks. We will cover the following topics:<\/p>\n

    \n
  1. Installing OpenAI Microscope<\/li>\n
  2. Preparing the Neural Network Model<\/li>\n
  3. Loading and Visualizing Activations<\/li>\n
  4. Exploring and Comparing Activations<\/li>\n
  5. Exporting and Sharing Visualizations<\/li>\n<\/ol>\n

    Let’s get started!<\/p>\n

    1. Installing OpenAI Microscope<\/h2>\n

    To install OpenAI Microscope, first make sure you have Python installed on your system. OpenAI Microscope requires Python version 3.6 or higher.<\/p>\n

    You can install OpenAI Microscope using pip by running the following command:<\/p>\n

    pip install openai-microscope\n<\/code><\/pre>\n

    Once the installation is complete, you’re ready to move on to the next step.<\/p>\n

    2. Preparing the Neural Network Model<\/h2>\n

    Before we can visualize a neural network using OpenAI Microscope, we need to prepare the model and extract the activations from the desired layers.<\/p>\n

    OpenAI Microscope currently supports models that are implemented using PyTorch (torch.nn<\/code>) or TensorFlow (tf.keras<\/code>) frameworks. If your model is implemented using a different framework, you will need to convert it to one of these frameworks.<\/p>\n

    Once your model is in either PyTorch or TensorFlow format, you need to add hooks to the layers from which you want to extract activations. These hooks will allow us to capture the activations during forward pass of the model.<\/p>\n

    Here’s an example code snippet that illustrates how to add hooks to the layers of a PyTorch model:<\/p>\n

    import torch\n\nclass MyModel(torch.nn.Module):\n    def __init__(self):\n        super().__init__()\n        self.conv1 = torch.nn.Conv2d(3, 64, 3, 1, 1)\n        self.relu = torch.nn.ReLU()\n        self.conv2 = torch.nn.Conv2d(64, 128, 3, 1, 1)\n\n        self.conv1.register_forward_hook(self.capture_activations)\n        self.relu.register_forward_hook(self.capture_activations)\n        self.conv2.register_forward_hook(self.capture_activations)\n\n    def forward(self, x):\n        x = self.conv1(x)\n        x = self.relu(x)\n        x = self.conv2(x)\n        return x\n\n    def capture_activations(self, module, input, output):\n        self.activations.append(output)\n\nmodel = MyModel()\n<\/code><\/pre>\n

    In this example, we define a simple PyTorch model with two convolutional layers and a ReLU activation function. We register a forward hook for each layer and the ReLU activation function, which will capture the activations during the forward pass of the model. The captured activations are stored in a list self.activations<\/code>.<\/p>\n

    For TensorFlow models, you can add hooks using the tf.keras.layers<\/code> API. Here’s an example code snippet:<\/p>\n

    import tensorflow as tf\n\nclass MyModel(tf.keras.Model):\n    def __init__(self):\n        super().__init__()\n        self.conv1 = tf.keras.layers.Conv2D(64, 3, activation='relu', padding='same')\n        self.conv2 = tf.keras.layers.Conv2D(128, 3, activation='relu', padding='same')\n\n    def call(self, inputs):\n        x = self.conv1(inputs)\n        x = self.conv2(x)\n        return x\n\nmodel = MyModel()\n\n# Add hooks to capture activations\ndef capture_activations(layer, inputs, outputs):\n    activations.append(outputs)\n\nactivations = []\nfor layer in model.layers:\n    layer.add_hook(capture_activations)\n<\/code><\/pre>\n

    Once you have added the hooks to your model, you’re ready to move on to the next step.<\/p>\n

    3. Loading and Visualizing Activations<\/h2>\n

    In this step, we will load the pre-trained OpenAI Microscope model and visualize the activations captured from our prepared model.<\/p>\n

    import openai_microscope\nimport torch\nfrom PIL import Image\n\n\n# Load the prepared model\nmodel = MyModel()\nmodel.load_state_dict(torch.load('path\/to\/saved\/model.pth'))\nmodel.eval()\n\n# Load the OpenAI Microscope model\nmicroscope = openai_microscope.load('microscope')\n\n# Choose a layer to visualize\nlayer_name = 'conv1'\n\n# Load an input image\nimage = Image.open('path\/to\/image.jpg')\n\n# Preprocess the image\npreprocess = openai_microscope.get_preprocess(layer_name, 'default')\ninput_tensor = preprocess(image)\n\n# Forward pass through the model\nwith torch.no_grad():\n    output = model(input_tensor.unsqueeze(0))\n\n# Get the activations of the chosen layer\nactivations = model.activations[layer_name]\n\n# Visualize the activations\nopenai_microscope.plot(activations, layers=[layer_name], model=microscope.model)\n<\/code><\/pre>\n

    In this example code snippet, we first load the pre-trained OpenAI Microscope model using the load<\/code> function. Next, we choose a layer to visualize (in this case, conv1<\/code>). We then load an input image using the PIL<\/code> library and preprocess it using the get_preprocess<\/code> function, which returns a function that can be applied to input images to match the preprocessing used by the chosen layer.<\/p>\n

    Next, we perform a forward pass through the model using the input image and capture the activations of the chosen layer by accessing model.activations[layer_name]<\/code>.<\/p>\n

    Finally, we visualize the activations using the plot<\/code> function by passing in the captured activations, the chosen layer, and the loaded OpenAI Microscope model.<\/p>\n

    You can now run the code and explore the activations of your model!<\/p>\n

    4. Exploring and Comparing Activations<\/h2>\n

    OpenAI Microscope provides an interactive interface that allows you to explore and compare activations from different layers and models.<\/p>\n

    To launch the OpenAI Microscope interface, you can run the following command:<\/p>\n

    openai_microscope.show()\n<\/code><\/pre>\n

    This will open a web browser window with the OpenAI Microscope interface. From here, you can load activations by clicking the “Load Activations” button and selecting an activations file (.pt<\/code> or .npz<\/code> format).<\/p>\n

    Once the activations are loaded, you can choose the layer and model from the dropdown menus. The activations will be displayed as a grid of images, with each image corresponding to an activation map.<\/p>\n

    You can navigate through the activations by using the arrow keys or the scrollbar. You can also zoom in and out using the mouse wheel or the zoom buttons.<\/p>\n

    OpenAI Microscope also allows you to compare activations from different layers and models side by side. To enable comparison mode, click the “Compare” button at the top right corner of the interface. This will open a second grid of activations that you can use to compare with the first grid.<\/p>\n

    You can resize both grids by dragging the dividers between them. You can also switch between different layers and models using the dropdown menus.<\/p>\n

    You can adjust the visualization settings by clicking the gear icon at the top right corner of the interface. This allows you to change the colormap, brightness, and contrast of the activations.<\/p>\n

    5. Exporting and Sharing Visualizations<\/h2>\n

    Once you have explored and compared the activations using OpenAI Microscope, you may want to export and share your visualizations.<\/p>\n

    To export the visualizations, you can use the following code snippet:<\/p>\n

    openai_microscope.export(activations, 'path\/to\/save\/visualizations')\n<\/code><\/pre>\n

    This will save the visualizations as image files to the specified directory.<\/p>\n

    You can also share your visualizations by uploading the saved visualizations to a web server or sharing them as downloadable files.<\/p>\n

    Congratulations! You have now learned how to use OpenAI Microscope for visualizing neural networks. You can apply this knowledge to gain insights into the inner workings of your own neural network models.<\/p>\n

    Conclusion<\/h2>\n

    In this tutorial, we have learned how to use OpenAI Microscope for visualizing and exploring neural networks. We have covered the installation process, preparing the neural network model, loading and visualizing activations, exploring and comparing activations, and exporting and sharing visualizations.<\/p>\n

    OpenAI Microscope provides a powerful and intuitive interface for gaining insight into what neural networks learn at each stage of processing. By visualizing and exploring the activations of different layers, we can better understand the inner workings of neural networks and improve model performance.<\/p>\n

    Happy exploring with OpenAI Microscope!<\/p>\n","protected":false},"excerpt":{"rendered":"

    Neural networks are powerful machine learning models that are capable of performing complex tasks like image classification, natural language processing, and more. However, understanding what these models have learned can be quite challenging, especially as the size and complexity of the models increase. OpenAI Microscope is a tool developed by Continue Reading<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[168,422,417,418,420,416,421,419,415,166],"yoast_head":"\nHow to Use OpenAI Microscope for Visualizing Neural Networks - Pantherax Blogs<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/localhost:10003\/how-to-use-openai-microscope-for-visualizing-neural-networks\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Use OpenAI Microscope for Visualizing Neural Networks\" \/>\n<meta property=\"og:description\" content=\"Neural networks are powerful machine learning models that are capable of performing complex tasks like image classification, natural language processing, and more. However, understanding what these models have learned can be quite challenging, especially as the size and complexity of the models increase. OpenAI Microscope is a tool developed by Continue Reading\" \/>\n<meta property=\"og:url\" content=\"http:\/\/localhost:10003\/how-to-use-openai-microscope-for-visualizing-neural-networks\/\" \/>\n<meta property=\"og:site_name\" content=\"Pantherax Blogs\" \/>\n<meta property=\"article:published_time\" content=\"2023-11-04T23:13:57+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-11-05T05:48:26+00:00\" \/>\n<meta name=\"author\" content=\"Panther\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Panther\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\n\t \"@context\": \"https:\/\/schema.org\",\n\t \"@graph\": [\n\t {\n\t \"@type\": \"Article\",\n\t \"@id\": \"http:\/\/localhost:10003\/how-to-use-openai-microscope-for-visualizing-neural-networks\/#article\",\n\t \"isPartOf\": {\n\t \"@id\": \"http:\/\/localhost:10003\/how-to-use-openai-microscope-for-visualizing-neural-networks\/\"\n\t },\n\t \"author\": {\n\t \"name\": \"Panther\",\n\t \"@id\": \"http:\/\/localhost:10003\/#\/schema\/person\/b63d816f4964b163e53cbbcffaa0f3d7\"\n\t },\n\t \"headline\": \"How to Use OpenAI Microscope for Visualizing Neural Networks\",\n\t \"datePublished\": \"2023-11-04T23:13:57+00:00\",\n\t \"dateModified\": \"2023-11-05T05:48:26+00:00\",\n\t \"mainEntityOfPage\": {\n\t \"@id\": \"http:\/\/localhost:10003\/how-to-use-openai-microscope-for-visualizing-neural-networks\/\"\n\t },\n\t \"wordCount\": 980,\n\t \"publisher\": {\n\t \"@id\": \"http:\/\/localhost:10003\/#organization\"\n\t },\n\t \"keywords\": [\n\t \"\\\"AI model visualization\\\"\",\n\t \"\\\"deep learning model visualization\\\"]\",\n\t \"\\\"deep learning visualization\\\"\",\n\t \"\\\"machine learning visualization\\\"\",\n\t \"\\\"neural network analysis\\\"\",\n\t \"\\\"neural network visualization\\\"\",\n\t \"\\\"openAI microscope tutorial\\\"\",\n\t \"\\\"visualizing AI models\\\"\",\n\t \"\\\"visualizing neural networks\\\"\",\n\t \"[\\\"OpenAI Microscope\\\"\"\n\t ],\n\t \"inLanguage\": \"en-US\"\n\t },\n\t {\n\t \"@type\": \"WebPage\",\n\t \"@id\": \"http:\/\/localhost:10003\/how-to-use-openai-microscope-for-visualizing-neural-networks\/\",\n\t \"url\": \"http:\/\/localhost:10003\/how-to-use-openai-microscope-for-visualizing-neural-networks\/\",\n\t \"name\": \"How to Use OpenAI Microscope for Visualizing Neural Networks - Pantherax Blogs\",\n\t \"isPartOf\": {\n\t \"@id\": \"http:\/\/localhost:10003\/#website\"\n\t },\n\t \"datePublished\": \"2023-11-04T23:13:57+00:00\",\n\t \"dateModified\": \"2023-11-05T05:48:26+00:00\",\n\t \"breadcrumb\": {\n\t \"@id\": \"http:\/\/localhost:10003\/how-to-use-openai-microscope-for-visualizing-neural-networks\/#breadcrumb\"\n\t },\n\t \"inLanguage\": \"en-US\",\n\t \"potentialAction\": [\n\t {\n\t \"@type\": \"ReadAction\",\n\t \"target\": [\n\t \"http:\/\/localhost:10003\/how-to-use-openai-microscope-for-visualizing-neural-networks\/\"\n\t ]\n\t }\n\t ]\n\t },\n\t {\n\t \"@type\": \"BreadcrumbList\",\n\t \"@id\": \"http:\/\/localhost:10003\/how-to-use-openai-microscope-for-visualizing-neural-networks\/#breadcrumb\",\n\t \"itemListElement\": [\n\t {\n\t \"@type\": \"ListItem\",\n\t \"position\": 1,\n\t \"name\": \"Home\",\n\t \"item\": \"http:\/\/localhost:10003\/\"\n\t },\n\t {\n\t \"@type\": \"ListItem\",\n\t \"position\": 2,\n\t \"name\": \"How to Use OpenAI Microscope for Visualizing Neural Networks\"\n\t }\n\t ]\n\t },\n\t {\n\t \"@type\": \"WebSite\",\n\t \"@id\": \"http:\/\/localhost:10003\/#website\",\n\t \"url\": \"http:\/\/localhost:10003\/\",\n\t \"name\": \"Pantherax Blogs\",\n\t \"description\": \"\",\n\t \"publisher\": {\n\t \"@id\": \"http:\/\/localhost:10003\/#organization\"\n\t },\n\t \"potentialAction\": [\n\t {\n\t \"@type\": \"SearchAction\",\n\t \"target\": {\n\t \"@type\": \"EntryPoint\",\n\t \"urlTemplate\": \"http:\/\/localhost:10003\/?s={search_term_string}\"\n\t },\n\t \"query-input\": \"required name=search_term_string\"\n\t }\n\t ],\n\t \"inLanguage\": \"en-US\"\n\t },\n\t {\n\t \"@type\": \"Organization\",\n\t \"@id\": \"http:\/\/localhost:10003\/#organization\",\n\t \"name\": \"Pantherax Blogs\",\n\t \"url\": \"http:\/\/localhost:10003\/\",\n\t \"logo\": {\n\t \"@type\": \"ImageObject\",\n\t \"inLanguage\": \"en-US\",\n\t \"@id\": \"http:\/\/localhost:10003\/#\/schema\/logo\/image\/\",\n\t \"url\": \"http:\/\/localhost:10003\/wp-content\/uploads\/2023\/11\/cropped-9e7721cb-2d62-4f72-ab7f-7d1d8db89226.jpeg\",\n\t \"contentUrl\": \"http:\/\/localhost:10003\/wp-content\/uploads\/2023\/11\/cropped-9e7721cb-2d62-4f72-ab7f-7d1d8db89226.jpeg\",\n\t \"width\": 1024,\n\t \"height\": 1024,\n\t \"caption\": \"Pantherax Blogs\"\n\t },\n\t \"image\": {\n\t \"@id\": \"http:\/\/localhost:10003\/#\/schema\/logo\/image\/\"\n\t }\n\t },\n\t {\n\t \"@type\": \"Person\",\n\t \"@id\": \"http:\/\/localhost:10003\/#\/schema\/person\/b63d816f4964b163e53cbbcffaa0f3d7\",\n\t \"name\": \"Panther\",\n\t \"image\": {\n\t \"@type\": \"ImageObject\",\n\t \"inLanguage\": \"en-US\",\n\t \"@id\": \"http:\/\/localhost:10003\/#\/schema\/person\/image\/\",\n\t \"url\": \"http:\/\/2.gravatar.com\/avatar\/b8c0eda5a49f8f31ec32d0a0f9d6f838?s=96&d=mm&r=g\",\n\t \"contentUrl\": \"http:\/\/2.gravatar.com\/avatar\/b8c0eda5a49f8f31ec32d0a0f9d6f838?s=96&d=mm&r=g\",\n\t \"caption\": \"Panther\"\n\t },\n\t \"sameAs\": [\n\t \"http:\/\/localhost:10003\"\n\t ],\n\t \"url\": \"http:\/\/localhost:10003\/author\/pepethefrog\/\"\n\t }\n\t ]\n\t}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to Use OpenAI Microscope for Visualizing Neural Networks - Pantherax Blogs","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"http:\/\/localhost:10003\/how-to-use-openai-microscope-for-visualizing-neural-networks\/","og_locale":"en_US","og_type":"article","og_title":"How to Use OpenAI Microscope for Visualizing Neural Networks","og_description":"Neural networks are powerful machine learning models that are capable of performing complex tasks like image classification, natural language processing, and more. However, understanding what these models have learned can be quite challenging, especially as the size and complexity of the models increase. OpenAI Microscope is a tool developed by Continue Reading","og_url":"http:\/\/localhost:10003\/how-to-use-openai-microscope-for-visualizing-neural-networks\/","og_site_name":"Pantherax Blogs","article_published_time":"2023-11-04T23:13:57+00:00","article_modified_time":"2023-11-05T05:48:26+00:00","author":"Panther","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Panther","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/localhost:10003\/how-to-use-openai-microscope-for-visualizing-neural-networks\/#article","isPartOf":{"@id":"http:\/\/localhost:10003\/how-to-use-openai-microscope-for-visualizing-neural-networks\/"},"author":{"name":"Panther","@id":"http:\/\/localhost:10003\/#\/schema\/person\/b63d816f4964b163e53cbbcffaa0f3d7"},"headline":"How to Use OpenAI Microscope for Visualizing Neural Networks","datePublished":"2023-11-04T23:13:57+00:00","dateModified":"2023-11-05T05:48:26+00:00","mainEntityOfPage":{"@id":"http:\/\/localhost:10003\/how-to-use-openai-microscope-for-visualizing-neural-networks\/"},"wordCount":980,"publisher":{"@id":"http:\/\/localhost:10003\/#organization"},"keywords":["\"AI model visualization\"","\"deep learning model visualization\"]","\"deep learning visualization\"","\"machine learning visualization\"","\"neural network analysis\"","\"neural network visualization\"","\"openAI microscope tutorial\"","\"visualizing AI models\"","\"visualizing neural networks\"","[\"OpenAI Microscope\""],"inLanguage":"en-US"},{"@type":"WebPage","@id":"http:\/\/localhost:10003\/how-to-use-openai-microscope-for-visualizing-neural-networks\/","url":"http:\/\/localhost:10003\/how-to-use-openai-microscope-for-visualizing-neural-networks\/","name":"How to Use OpenAI Microscope for Visualizing Neural Networks - Pantherax Blogs","isPartOf":{"@id":"http:\/\/localhost:10003\/#website"},"datePublished":"2023-11-04T23:13:57+00:00","dateModified":"2023-11-05T05:48:26+00:00","breadcrumb":{"@id":"http:\/\/localhost:10003\/how-to-use-openai-microscope-for-visualizing-neural-networks\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["http:\/\/localhost:10003\/how-to-use-openai-microscope-for-visualizing-neural-networks\/"]}]},{"@type":"BreadcrumbList","@id":"http:\/\/localhost:10003\/how-to-use-openai-microscope-for-visualizing-neural-networks\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"http:\/\/localhost:10003\/"},{"@type":"ListItem","position":2,"name":"How to Use OpenAI Microscope for Visualizing Neural Networks"}]},{"@type":"WebSite","@id":"http:\/\/localhost:10003\/#website","url":"http:\/\/localhost:10003\/","name":"Pantherax Blogs","description":"","publisher":{"@id":"http:\/\/localhost:10003\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/localhost:10003\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"http:\/\/localhost:10003\/#organization","name":"Pantherax Blogs","url":"http:\/\/localhost:10003\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/localhost:10003\/#\/schema\/logo\/image\/","url":"http:\/\/localhost:10003\/wp-content\/uploads\/2023\/11\/cropped-9e7721cb-2d62-4f72-ab7f-7d1d8db89226.jpeg","contentUrl":"http:\/\/localhost:10003\/wp-content\/uploads\/2023\/11\/cropped-9e7721cb-2d62-4f72-ab7f-7d1d8db89226.jpeg","width":1024,"height":1024,"caption":"Pantherax Blogs"},"image":{"@id":"http:\/\/localhost:10003\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"http:\/\/localhost:10003\/#\/schema\/person\/b63d816f4964b163e53cbbcffaa0f3d7","name":"Panther","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/localhost:10003\/#\/schema\/person\/image\/","url":"http:\/\/2.gravatar.com\/avatar\/b8c0eda5a49f8f31ec32d0a0f9d6f838?s=96&d=mm&r=g","contentUrl":"http:\/\/2.gravatar.com\/avatar\/b8c0eda5a49f8f31ec32d0a0f9d6f838?s=96&d=mm&r=g","caption":"Panther"},"sameAs":["http:\/\/localhost:10003"],"url":"http:\/\/localhost:10003\/author\/pepethefrog\/"}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"http:\/\/localhost:10003\/wp-json\/wp\/v2\/posts\/3932"}],"collection":[{"href":"http:\/\/localhost:10003\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/localhost:10003\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/localhost:10003\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/localhost:10003\/wp-json\/wp\/v2\/comments?post=3932"}],"version-history":[{"count":1,"href":"http:\/\/localhost:10003\/wp-json\/wp\/v2\/posts\/3932\/revisions"}],"predecessor-version":[{"id":4568,"href":"http:\/\/localhost:10003\/wp-json\/wp\/v2\/posts\/3932\/revisions\/4568"}],"wp:attachment":[{"href":"http:\/\/localhost:10003\/wp-json\/wp\/v2\/media?parent=3932"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/localhost:10003\/wp-json\/wp\/v2\/categories?post=3932"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/localhost:10003\/wp-json\/wp\/v2\/tags?post=3932"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}