diff --git a/.ipynb_checkpoints/Demo Trainable Quantum Convolution-checkpoint.ipynb b/.ipynb_checkpoints/Demo Trainable Quantum Convolution-checkpoint.ipynb new file mode 100644 index 0000000..6ec9457 --- /dev/null +++ b/.ipynb_checkpoints/Demo Trainable Quantum Convolution-checkpoint.ipynb @@ -0,0 +1,435 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Trainable Quantum Convolution\n", + "\n", + "**Authors**\n", + " * Denny Mattern (denny.mattern@fokus.fraunhofer.de)\n", + " * Darya Martyniuk (darya.martyniuk@fokus.fraunhofer.de)\n", + " * Fabian Bergmann (fabian.bergmann@fokus.fraunhofer.de)\n", + " * Henri Willems (henri.willems@fokus.fraunhofer.de)\n", + "\n", + "\n", + "**Affiliation**\n", + "\n", + "Data Analytics Center at Fraunhofer Institute for Open Communication Systems (Fraunhofer FOKUS) [1]. This demo results from our research as part of the PlanQK consortium [2].\n", + "\n", + "\n", + "**Abstract**\n", + "\n", + "We implement a trainable version of Quanvolutional Neural Networks [3] using parametrized RandomCircuits. Parameters are optimized using standard gradient descent. Our code is based on the \"Quanvolutional Neural Networks\"-Demo of Andrea Mari [4].\n", + "\n", + "We find that due to the randomized circuits training process is challenging and might take for some randomly generated circuits quite long, while other random circuits seem to be more suitable. For more stable results one might want to use hand crafted circuits instead of randomly generated ones. Otherwise one can use static seeds for the random circuit in order to get reproducable results.\n", + "\n", + "\n", + "**Further Research Questions**\n", + "\n", + "\n", + "1. What is the impact of the quantum layer to the result?\n", + "2. Is our hybrid quantum-classical neural net learning because of the trainable quanvolution or despite the quantum layer? I.e. is the quantum layer learning anything useful which helps the following layer to better classify the digits? Or is the dense layer \"strong enough\" to perform a classification despite the quantum circuit before?\n", + "3. If the quantum circuit is useful, what kinds of circuit architectures perform best?\n", + "\n", + "\n", + "[1] https://www.fokus.fraunhofer.de and https://www.data-analytics-center.org.\n", + "\n", + "[2] https://www.planqk.de.\n", + "\n", + "[3] Maxwell Henderson, Samriddhi Shakya, Shashindra Pradhan, Tristan Cook, \"Quanvolutional Neural Networks: Powering Image Recognition with Quantum Circuits\", 2019, arxiv:1904.04767.\n", + "\n", + "[4] https://pennylane.ai/qml/demos/tutorial_quanvolution.html." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "import torch\n", + "from torch import nn\n", + "\n", + "import torchvision\n", + "\n", + "import pennylane as qml\n", + "from pennylane import numpy as np\n", + "from pennylane.templates import RandomLayers\n", + "\n", + "from sklearn.metrics import accuracy_score\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "class QonvLayer(nn.Module):\n", + " def __init__(self, stride=2, device=\"default.qubit\", wires=4, circuit_layers=4,\n", + " n_rotations=8, out_channels=4, seed=None):\n", + " super(QonvLayer, self).__init__()\n", + " \n", + " # init device\n", + " self.wires = wires\n", + " self.dev = qml.device(device, wires=self.wires)\n", + " \n", + " self.stride = stride\n", + " self.out_channels = min(out_channels, wires)\n", + " \n", + " if seed is None:\n", + " seed = np.random.randint(low=0, high=10e6)\n", + " \n", + " print(\"Initializing Circuit with random seed\", seed)\n", + " \n", + " # random circuits\n", + " @qml.qnode(device=self.dev, interface=\"torch\")\n", + " def circuit(inputs, weights):\n", + " n_inputs=4\n", + " # Encoding of 4 classical input values\n", + " for j in range(n_inputs):\n", + " qml.RY(inputs[j], wires=j)\n", + " # Random quantum circuit\n", + " RandomLayers(weights, wires=list(range(self.wires)), seed=seed)\n", + " # Measurement producing 4 classical output values\n", + " return [qml.expval(qml.PauliZ(j)) for j in range(self.out_channels)]\n", + " \n", + " weight_shapes = {\"weights\": [circuit_layers, n_rotations]}\n", + " self.circuit = qml.qnn.TorchLayer(circuit, weight_shapes=weight_shapes)\n", + " \n", + " def draw(self):\n", + " print(qml.draw_mpl(self.circuit)(torch.from_numpy(np.zeros(4))))\n", + " self.circuit.zero_grad()\n", + " \n", + " def forward(self, img):\n", + " bs, h, w, ch = img.size()\n", + " if ch > 1:\n", + " img = img.mean(axis=-1).reshape(bs, h, w, 1)\n", + " \n", + " kernel_size = 2 \n", + " h_out = (h-kernel_size) // self.stride + 1\n", + " w_out = (w-kernel_size) // self.stride + 1\n", + " \n", + " \n", + " out = torch.zeros((bs, h_out, w_out, self.out_channels))\n", + " \n", + " # Loop over the coordinates of the top-left pixel of 2X2 squares\n", + " for b in range(bs):\n", + " for j in range(0, h_out, self.stride):\n", + " for k in range(0, w_out, self.stride):\n", + " # Process a squared 2x2 region of the image with a quantum circuit\n", + " q_results = self.circuit(\n", + " torch.Tensor(\n", + " [\n", + " img[b, j, k, 0],\n", + " img[b, j, k + 1, 0],\n", + " img[b, j + 1, k, 0],\n", + " img[b, j + 1, k + 1, 0],\n", + " ]\n", + " )\n", + " )\n", + " # Assign expectation values to different channels of the output pixel (j/2, k/2)\n", + " for c in range(self.out_channels):\n", + " out[b, j // kernel_size, k // kernel_size, c] = q_results[c] \n", + " \n", + " return out" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Initializing Circuit with random seed 4808758\n", + "(
, )\n" + ] + }, + { + "data": { + "text/plain": [ + "torch.Size([1, 14, 14, 4])" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgcAAAIHCAYAAAALof87AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABhA0lEQVR4nO3de1xUdf4/8NfA4IAXrLxgigECrqWGZGoXxUuGurq4aFq5rqk1iLfEsFBX3cx2xbS0tYuAqWmXDcoyt6+iFCqZl5QgAi1AwUsmiiXqyHCZ8/vDn9RnZsBhmJkzZ+b1fDx41PnM4cx7zof38T3nfM7nqCRJkkBERET0/3nIHQARERE5FxYHREREJGBxQERERAIWB0RERCRgcUBEREQCFgdEREQkYHFAREREAhYHREREJGBxQERERAIWB0RERCRgcUBEREQCFgdEREQkYHFAREREAhYHREREJGBxQERERAIWB0RERCRgcUBEREQCFgdEREQkYHFAREREAhYHREREJGBxQERERAIWB0RERCRgcUBEREQCFgdEREQkYHFAREREAhYHREREJGBxQERERAIWB0RERCRgcUBEREQCFgdEREQkYHFAREREAhYHREREJGBxQERERAIWB0RERCRgcUBEREQCFgdEREQkYHFAREREAhYHREREJGBxQERERAIWB0RERCRgcUBEREQCFgdEREQkYHFAREREAhYHREREJGBxQERERAIWB0RERCRgcUBEREQCFgdEREQkYHFAREREAhYHREREJGBxQERERAIWB0RERCRgcUBEREQCFgdEREQkYHFAREREAhYHREREJGBxQERERAIWB0RERCRgcUBEREQCFgdEREQkYHFAREREAhYHREREJGBxQERERAIWB0RERCRgcUBEREQCFgdEREQkYHFAREREAhYHREREJFDLHQCRI+j1epw4cQKFhYUoKirCxYsXUVlZCb1eL3doAo1GA29vb7Rt2xYhISEIDQ1Fly5doNFo5A7NptgfzoX9QcZYHJBLqqmpwd69e5GWlob09HSUlpZCkiS5w7KKSqVCQEAAhg0bhnHjxmHgwIFQq5WVuuwP58L+oFuSiFxIYWGhFBsbK7Vr104C4JI/7dq1k2JjY6WioiK5d/ctsT+cC/uDLMXigFzCtWvXpMWLF0vNmjWT/eDkqB+NRiMtXrxYunbtmty7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/cH+sAdX6Q/FkPfEBZFt6HQ6acmSJZJGozE5neiqPxqNRlqyZIlTDq5ifzgX9gc1FosDcilFRUVSbGys1K5dO9kPTvb6ad++vRQbG6uIa8bsD+fC/iBL8bICuaSamhrs27cPaWlpSE9PR0lJCZT6p65SqRAYGIhhw4Zh3LhxiIiIUNzMbuwP58L+oFthcUBuQa/X4+TJkygsLERhYSHKy8tRWVmJyspKuUMTeHt7w9vbG23atEFoaChCQ0MRFBTkco+VZX84F/YHGWNxQERERALnGIZKREREToPFAREREQlYHBAREZGAxQEREREJWBwQERGRgMUBERERCVgcEBERkYDFAREREQlYHBAREZGAxQEREREJWBwQERGRgMUBERERCVgcEBERkYDFAREREQlYHBAREZGAxQEREREJWBwQERGRgMUBERERCVgcEBERkYDFAREREQlYHBAREZGAxQEREREJWBwQERGRgMUBERERCVgcEBERkYDFAREREQlYHBAREZGAxQEREREJWBwQERGRgMUBERERCVgcEBERkYDFAREREQlYHBAREZGAxQEREREJWBwQERGRgMUBERERCVgcEBERkYDFAREREQlYHBAREZGAxQEREREJWBwQERGRgMUBERERCVgcEBERkYDFAREREQlYHBAREZGAxQEREREJWBwQERGRgMUBERERCVgcEBERkYDFAREREQlYHBAREZGAxQEREREJWBwQERGRgMUBERERCVgcEBERkYDFAREREQlYHBAREZGAxQEREREJWBwQERGRgMUBERERCVgcEBERkYDFAREREQlYHBAREZGAxQEREREJWBwQERGRgMUBERERCVgcEBERkYDFAREREQlYHBAREZHg/wE9njvB6/T4XAAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Test QonvLayer\n", + "\n", + "qonv = QonvLayer(circuit_layers=1, n_rotations=8, out_channels=4, stride=2)\n", + "qonv.draw()\n", + "x = torch.rand(size=(1,28,28,1))\n", + "\n", + "# Check OonvLayer Output shape\n", + "qonv(x).shape" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "def transform(x):\n", + " x = np.array(x)\n", + " x = x/255.0\n", + " \n", + " return torch.from_numpy(x).float()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Model training" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "def train(model, train_loader, epochs=50):\n", + " print(\"Starting Training for {} epochs\".format(epochs))\n", + "\n", + " model.train()\n", + "\n", + " optimizer = torch.optim.Adam(params=model.parameters(), lr=0.01)\n", + " criterion = torch.nn.CrossEntropyLoss()\n", + " \n", + " losses = np.array([])\n", + " accs = np.array([])\n", + "\n", + " for epoch in range(epochs):\n", + " for i, (x, y) in enumerate(train_loader):\n", + "\n", + " # prepare inputs and labels\n", + " x = x.view(-1, 28, 28, 1)\n", + " y = y.long()\n", + "\n", + " # reset optimizer\n", + " optimizer.zero_grad()\n", + "\n", + " # engage\n", + " y_pred = model(x)\n", + "\n", + " # error, gradients and optimization\n", + " loss = criterion(y_pred, y) \n", + " loss.backward()\n", + " optimizer.step()\n", + "\n", + " # output\n", + " acc = accuracy_score(y, y_pred.argmax(-1).numpy())\n", + " \n", + " accs = np.append(accs, acc)\n", + " losses = np.append(losses, loss.item())\n", + "\n", + " print(\"Epoch:\", epoch, \n", + " \"\\tStep:\", i, \n", + " \"\\tAcc:\", round(acc, 3), \n", + " \"\\tLoss:\", round(loss.item(),3),\n", + " \"\\tMean Loss:\", round(float(losses[-30:].mean()), 3),\n", + " \"\\tMean Acc:\", round(float(accs[-30:].mean()), 3)\n", + " )\n", + " print(\"\\nGradients Layer 0:\")\n", + " #print(model[0].circuit.weights.grad)\n", + "\n", + " if i % 5 == 0:\n", + " #model[0].draw()\n", + " \n", + " print(\"---------------------------------------\\n\")\n", + " \n", + " \n", + " return model, losses, accs" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Downloading http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz\n", + "Downloading http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz to ./mnist\\MNIST\\raw\\train-images-idx3-ubyte.gz\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|███████████████████████████████████████████████████████████████████| 9912422/9912422 [00:05<00:00, 1680626.42it/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Extracting ./mnist\\MNIST\\raw\\train-images-idx3-ubyte.gz to ./mnist\\MNIST\\raw\n", + "\n", + "Downloading http://yann.lecun.com/exdb/mnist/train-labels-idx1-ubyte.gz\n", + "Downloading http://yann.lecun.com/exdb/mnist/train-labels-idx1-ubyte.gz to ./mnist\\MNIST\\raw\\train-labels-idx1-ubyte.gz\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|████████████████████████████████████████████████████████████████████████| 28881/28881 [00:00<00:00, 434212.35it/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Extracting ./mnist\\MNIST\\raw\\train-labels-idx1-ubyte.gz to ./mnist\\MNIST\\raw\n", + "\n", + "Downloading http://yann.lecun.com/exdb/mnist/t10k-images-idx3-ubyte.gz\n", + "Downloading http://yann.lecun.com/exdb/mnist/t10k-images-idx3-ubyte.gz to ./mnist\\MNIST\\raw\\t10k-images-idx3-ubyte.gz\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|████████████████████████████████████████████████████████████████████| 1648877/1648877 [00:01<00:00, 929175.38it/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Extracting ./mnist\\MNIST\\raw\\t10k-images-idx3-ubyte.gz to ./mnist\\MNIST\\raw\n", + "\n", + "Downloading http://yann.lecun.com/exdb/mnist/t10k-labels-idx1-ubyte.gz\n", + "Downloading http://yann.lecun.com/exdb/mnist/t10k-labels-idx1-ubyte.gz to ./mnist\\MNIST\\raw\\t10k-labels-idx1-ubyte.gz\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████████████████████████████████████████████████████████████████████| 4542/4542 [00:00<00:00, 145279.71it/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Extracting ./mnist\\MNIST\\raw\\t10k-labels-idx1-ubyte.gz to ./mnist\\MNIST\\raw\n", + "\n", + "Initializing Circuit with random seed 9321727\n", + "Starting Training for 1 epochs\n", + "Epoch: 0 \tStep: 0 \tAcc: 0.0 \tLoss: 2.349 \tMean Loss: 2.349 \tMean Acc: 0.0\n", + "\n", + "Gradients Layer 0:\n" + ] + }, + { + "ename": "AttributeError", + "evalue": "'QNode' object has no attribute 'weights'", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mAttributeError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[1;32mIn[7], line 18\u001b[0m\n\u001b[0;32m 11\u001b[0m model \u001b[38;5;241m=\u001b[39m torch\u001b[38;5;241m.\u001b[39mnn\u001b[38;5;241m.\u001b[39mSequential(\n\u001b[0;32m 12\u001b[0m QonvLayer(stride\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m2\u001b[39m, circuit_layers\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m2\u001b[39m, n_rotations\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m4\u001b[39m, out_channels\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m4\u001b[39m, seed\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m9321727\u001b[39m),\n\u001b[0;32m 13\u001b[0m torch\u001b[38;5;241m.\u001b[39mnn\u001b[38;5;241m.\u001b[39mFlatten(),\n\u001b[0;32m 14\u001b[0m torch\u001b[38;5;241m.\u001b[39mnn\u001b[38;5;241m.\u001b[39mLinear(in_features\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m14\u001b[39m\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m14\u001b[39m\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m4\u001b[39m, out_features\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m10\u001b[39m)\n\u001b[0;32m 15\u001b[0m )\n\u001b[0;32m 17\u001b[0m \u001b[38;5;66;03m# start training\u001b[39;00m\n\u001b[1;32m---> 18\u001b[0m model, losses, accs \u001b[38;5;241m=\u001b[39m \u001b[43mtrain\u001b[49m\u001b[43m(\u001b[49m\u001b[43mmodel\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtrain_loader\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mepochs\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[0;32m 21\u001b[0m \u001b[38;5;66;03m# plot losses and accuracies\u001b[39;00m\n\u001b[0;32m 22\u001b[0m fig, (ax1, ax2) \u001b[38;5;241m=\u001b[39m plt\u001b[38;5;241m.\u001b[39msubplots(\u001b[38;5;241m1\u001b[39m,\u001b[38;5;241m2\u001b[39m, figsize\u001b[38;5;241m=\u001b[39m(\u001b[38;5;241m16\u001b[39m, \u001b[38;5;241m4\u001b[39m))\n", + "Cell \u001b[1;32mIn[6], line 44\u001b[0m, in \u001b[0;36mtrain\u001b[1;34m(model, train_loader, epochs)\u001b[0m\n\u001b[0;32m 36\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mEpoch:\u001b[39m\u001b[38;5;124m\"\u001b[39m, epoch, \n\u001b[0;32m 37\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;130;01m\\t\u001b[39;00m\u001b[38;5;124mStep:\u001b[39m\u001b[38;5;124m\"\u001b[39m, i, \n\u001b[0;32m 38\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;130;01m\\t\u001b[39;00m\u001b[38;5;124mAcc:\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;28mround\u001b[39m(acc, \u001b[38;5;241m3\u001b[39m), \n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 41\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;130;01m\\t\u001b[39;00m\u001b[38;5;124mMean Acc:\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;28mround\u001b[39m(\u001b[38;5;28mfloat\u001b[39m(accs[\u001b[38;5;241m-\u001b[39m\u001b[38;5;241m30\u001b[39m:]\u001b[38;5;241m.\u001b[39mmean()), \u001b[38;5;241m3\u001b[39m)\n\u001b[0;32m 42\u001b[0m )\n\u001b[0;32m 43\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;124mGradients Layer 0:\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m---> 44\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[43mmodel\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m]\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcircuit\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mweights\u001b[49m\u001b[38;5;241m.\u001b[39mgrad)\n\u001b[0;32m 46\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m i \u001b[38;5;241m%\u001b[39m \u001b[38;5;241m5\u001b[39m \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m0\u001b[39m:\n\u001b[0;32m 47\u001b[0m model[\u001b[38;5;241m0\u001b[39m]\u001b[38;5;241m.\u001b[39mdraw()\n", + "File \u001b[1;32m~\\anaconda3\\envs\\pennylane_env\\lib\\site-packages\\pennylane\\qnn\\torch.py:460\u001b[0m, in \u001b[0;36mTorchLayer.__getattr__\u001b[1;34m(self, item)\u001b[0m\n\u001b[0;32m 458\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"If the given attribute does not exist in the class, look for it in the wrapped QNode.\"\"\"\u001b[39;00m\n\u001b[0;32m 459\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_initialized:\n\u001b[1;32m--> 460\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mgetattr\u001b[39;49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mqnode\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mitem\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 462\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m 463\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__dict__\u001b[39m[item]\n", + "\u001b[1;31mAttributeError\u001b[0m: 'QNode' object has no attribute 'weights'" + ] + } + ], + "source": [ + "if __name__ == \"__main__\":\n", + " \n", + " \n", + " # prepare dataset\n", + " train_set = torchvision.datasets.MNIST(root='./mnist', train=True, download=True, transform=transform)\n", + " test_set = torchvision.datasets.MNIST(root='./mnist', train=False, download=True, transform=transform)\n", + "\n", + " train_loader = torch.utils.data.DataLoader(dataset=train_set, batch_size=4)\n", + " \n", + " # build the model\n", + " model = torch.nn.Sequential(\n", + " QonvLayer(stride=2, circuit_layers=2, n_rotations=4, out_channels=4, seed=9321727),\n", + " torch.nn.Flatten(),\n", + " torch.nn.Linear(in_features=14*14*4, out_features=10)\n", + " )\n", + " \n", + " # start training\n", + " model, losses, accs = train(model, train_loader, epochs=1)\n", + " \n", + " \n", + " # plot losses and accuracies\n", + " fig, (ax1, ax2) = plt.subplots(1,2, figsize=(16, 4))\n", + " ax1.plot(losses)\n", + " ax1.set_title(\"Loss\")\n", + " ax1.set_xlabel(\"Steps\")\n", + " ax1.set_ylabel(\"Loss\")\n", + "\n", + " ax2.plot(accs)\n", + " ax2.set_title(\"Accuracy\")\n", + " ax2.set_xlabel(\"Steps\")\n", + " ax2.set_ylabel(\"Accuracy\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.16" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/Demo Trainable Quantum Convolution.ipynb b/Demo Trainable Quantum Convolution.ipynb index 02f64d4..6ec9457 100644 --- a/Demo Trainable Quantum Convolution.ipynb +++ b/Demo Trainable Quantum Convolution.ipynb @@ -44,7 +44,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ @@ -63,12 +63,13 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "class QonvLayer(nn.Module):\n", - " def __init__(self, stride=2, device=\"default.qubit\", wires=4, circuit_layers=4, n_rotations=8, out_channels=4, seed=None):\n", + " def __init__(self, stride=2, device=\"default.qubit\", wires=4, circuit_layers=4,\n", + " n_rotations=8, out_channels=4, seed=None):\n", " super(QonvLayer, self).__init__()\n", " \n", " # init device\n", @@ -92,20 +93,15 @@ " qml.RY(inputs[j], wires=j)\n", " # Random quantum circuit\n", " RandomLayers(weights, wires=list(range(self.wires)), seed=seed)\n", - " \n", " # Measurement producing 4 classical output values\n", " return [qml.expval(qml.PauliZ(j)) for j in range(self.out_channels)]\n", " \n", " weight_shapes = {\"weights\": [circuit_layers, n_rotations]}\n", " self.circuit = qml.qnn.TorchLayer(circuit, weight_shapes=weight_shapes)\n", - " \n", - " \n", + " \n", " def draw(self):\n", - " # build circuit by sending dummy data through it\n", - " _ = self.circuit(inputs=torch.from_numpy(np.zeros(4)))\n", - " print(self.circuit.qnode.draw())\n", + " print(qml.draw_mpl(self.circuit)(torch.from_numpy(np.zeros(4))))\n", " self.circuit.zero_grad()\n", - " \n", " \n", " def forward(self, img):\n", " bs, h, w, ch = img.size()\n", @@ -125,36 +121,33 @@ " for k in range(0, w_out, self.stride):\n", " # Process a squared 2x2 region of the image with a quantum circuit\n", " q_results = self.circuit(\n", - " inputs=torch.Tensor([\n", - " img[b, j, k, 0],\n", - " img[b, j, k + 1, 0],\n", - " img[b, j + 1, k, 0],\n", - " img[b, j + 1, k + 1, 0]\n", - " ])\n", + " torch.Tensor(\n", + " [\n", + " img[b, j, k, 0],\n", + " img[b, j, k + 1, 0],\n", + " img[b, j + 1, k, 0],\n", + " img[b, j + 1, k + 1, 0],\n", + " ]\n", + " )\n", " )\n", " # Assign expectation values to different channels of the output pixel (j/2, k/2)\n", " for c in range(self.out_channels):\n", - " out[b, j // kernel_size, k // kernel_size, c] = q_results[c]\n", - " \n", + " out[b, j // kernel_size, k // kernel_size, c] = q_results[c] \n", " \n", " return out" ] }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Initializing Circuit with random seed 245211\n", - " 0: ──RY(0)─────────────╭X─────────────╭X──╭C──────────────────────────────────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──RZ(0.495)──│──────────────│───╰X──────────RY(1.969)──RX(2.676)──╭C──╭C────────────────────────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)─────────────╰C──RY(2.999)──│────RZ(0.098)────────────────────────│───╰X──RZ(5.226)──╭C──╭C─────────────┤ ⟨Z⟩ \n", - " 3: ──RY(0)──RY(2.797)─────────────────╰C────────────────────────────────────╰X─────────────────╰X──╰X──RZ(3.887)──┤ ⟨Z⟩ \n", - "\n" + "Initializing Circuit with random seed 4808758\n", + "(
, )\n" ] }, { @@ -163,9 +156,19 @@ "torch.Size([1, 14, 14, 4])" ] }, - "execution_count": 3, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgcAAAIHCAYAAAALof87AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABhA0lEQVR4nO3de1xUdf4/8NfA4IAXrLxgigECrqWGZGoXxUuGurq4aFq5rqk1iLfEsFBX3cx2xbS0tYuAqWmXDcoyt6+iFCqZl5QgAi1AwUsmiiXqyHCZ8/vDn9RnZsBhmJkzZ+b1fDx41PnM4cx7zof38T3nfM7nqCRJkkBERET0/3nIHQARERE5FxYHREREJGBxQERERAIWB0RERCRgcUBEREQCFgdEREQkYHFAREREAhYHREREJGBxQERERAIWB0RERCRgcUBEREQCFgdEREQkYHFAREREAhYHREREJGBxQERERAIWB0RERCRgcUBEREQCFgdEREQkYHFAREREAhYHREREJGBxQERERAIWB0RERCRgcUBEREQCFgdEREQkYHFAREREAhYHREREJGBxQERERAIWB0RERCRgcUBEREQCFgdEREQkYHFAREREAhYHREREJGBxQERERAIWB0RERCRgcUBEREQCFgdEREQkYHFAREREAhYHREREJGBxQERERAIWB0RERCRgcUBEREQCFgdEREQkYHFAREREAhYHREREJGBxQERERAIWB0RERCRgcUBEREQCFgdEREQkYHFAREREAhYHREREJGBxQERERAIWB0RERCRgcUBEREQCFgdEREQkYHFAREREAhYHREREJGBxQERERAIWB0RERCRgcUBEREQCFgdEREQkYHFAREREAhYHREREJGBxQERERAIWB0RERCRgcUBEREQCFgdEREQkYHFAREREAhYHREREJFDLHQCRI+j1epw4cQKFhYUoKirCxYsXUVlZCb1eL3doAo1GA29vb7Rt2xYhISEIDQ1Fly5doNFo5A7NptgfzoX9QcZYHJBLqqmpwd69e5GWlob09HSUlpZCkiS5w7KKSqVCQEAAhg0bhnHjxmHgwIFQq5WVuuwP58L+oFuSiFxIYWGhFBsbK7Vr104C4JI/7dq1k2JjY6WioiK5d/ctsT+cC/uDLMXigFzCtWvXpMWLF0vNmjWT/eDkqB+NRiMtXrxYunbtmty7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/cH+sAdX6Q/FkPfEBZFt6HQ6acmSJZJGozE5neiqPxqNRlqyZIlTDq5ifzgX9gc1FosDcilFRUVSbGys1K5dO9kPTvb6ad++vRQbG6uIa8bsD+fC/iBL8bICuaSamhrs27cPaWlpSE9PR0lJCZT6p65SqRAYGIhhw4Zh3LhxiIiIUNzMbuwP58L+oFthcUBuQa/X4+TJkygsLERhYSHKy8tRWVmJyspKuUMTeHt7w9vbG23atEFoaChCQ0MRFBTkco+VZX84F/YHGWNxQERERALnGIZKREREToPFAREREQlYHBAREZGAxQEREREJWBwQERGRgMUBERERCVgcEBERkYDFAREREQlYHBAREZGAxQEREREJWBwQERGRgMUBERERCVgcEBERkYDFAREREQlYHBAREZGAxQEREREJWBwQERGRgMUBERERCVgcEBERkYDFAREREQlYHBAREZGAxQEREREJWBwQERGRgMUBERERCVgcEBERkYDFAREREQlYHBAREZGAxQEREREJWBwQERGRgMUBERERCVgcEBERkYDFAREREQlYHBAREZGAxQEREREJWBwQERGRgMUBERERCVgcEBERkYDFAREREQlYHBAREZGAxQEREREJWBwQERGRgMUBERERCVgcEBERkYDFAREREQlYHBAREZGAxQEREREJWBwQERGRgMUBERERCVgcEBERkYDFAREREQlYHBAREZGAxQEREREJWBwQERGRgMUBERERCVgcEBERkYDFAREREQlYHBAREZGAxQEREREJWBwQERGRgMUBERERCVgcEBERkYDFAREREQlYHBAREZGAxQEREREJWBwQERGRgMUBERERCVgcEBERkYDFAREREQlYHBAREZHg/wE9njvB6/T4XAAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ @@ -181,7 +184,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ @@ -201,7 +204,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 12, "metadata": {}, "outputs": [], "source": [ @@ -248,10 +251,10 @@ " \"\\tMean Acc:\", round(float(accs[-30:].mean()), 3)\n", " )\n", " print(\"\\nGradients Layer 0:\")\n", - " print(model[0].circuit.weights.grad)\n", + " #print(model[0].circuit.weights.grad)\n", "\n", " if i % 5 == 0:\n", - " model[0].draw()\n", + " #model[0].draw()\n", " \n", " print(\"---------------------------------------\\n\")\n", " \n", @@ -261,7 +264,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "metadata": { "scrolled": false }, @@ -270,4033 +273,93 @@ "name": "stdout", "output_type": "stream", "text": [ - "Initializing Circuit with random seed 9321727\n", - "Starting Training for 1 epochs\n", - "Epoch: 0 \tStep: 0 \tAcc: 0.0 \tLoss: 2.399 \tMean Loss: 2.399 \tMean Acc: 0.0\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 4.0659e-03, 5.1654e-18, -6.8949e-03, -1.9132e-02],\n", - " [ 4.0659e-03, -1.3017e-18, 4.1630e-02, -8.1339e-04]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.639)─────────────╭C───RX(1.221)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(1.456)──│───╭X──────────RX(5.189)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(2.243)──╰X──╰C──────────RX(4.126)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 1 \tAcc: 0.0 \tLoss: 3.01 \tMean Loss: 2.704 \tMean Acc: 0.0\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-8.5335e-02, 5.1939e-17, 3.4218e-01, 6.1666e-01],\n", - " [-8.5335e-02, 4.3881e-17, -4.5369e-01, -2.9817e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 2 \tAcc: 0.25 \tLoss: 1.998 \tMean Loss: 2.469 \tMean Acc: 0.083\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.0843e-02, -1.2992e-19, 8.2954e-02, 1.3221e-01],\n", - " [-1.0843e-02, 2.6724e-17, -1.3508e-01, -7.4626e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 3 \tAcc: 0.25 \tLoss: 3.546 \tMean Loss: 2.738 \tMean Acc: 0.125\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.3132e-01, 7.3329e-17, 4.9487e-01, 8.4080e-01],\n", - " [-1.3132e-01, 2.8384e-16, -7.4060e-01, -3.1958e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 4 \tAcc: 0.0 \tLoss: 4.12 \tMean Loss: 3.015 \tMean Acc: 0.1\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-2.0348e-01, 8.8901e-17, 6.6239e-01, 1.0752e+00],\n", - " [-2.0348e-01, 2.3869e-16, -9.7292e-01, -4.2099e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 5 \tAcc: 0.0 \tLoss: 2.248 \tMean Loss: 2.887 \tMean Acc: 0.083\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.2597e-02, 3.1088e-19, 6.7167e-02, 1.0665e-01],\n", - " [-1.2597e-02, 1.6271e-17, -7.3118e-02, -5.3111e-02]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.6)───────────────╭C───RX(1.259)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(1.493)──│───╭X──────────RX(5.226)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(2.205)──╰X──╰C──────────RX(4.165)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 6 \tAcc: 0.25 \tLoss: 1.847 \tMean Loss: 2.738 \tMean Acc: 0.107\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.3692e-02, -4.2737e-17, -4.0057e-02, -9.1979e-02],\n", - " [ 2.3692e-02, 2.6150e-18, 4.9231e-02, 2.7121e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 7 \tAcc: 0.25 \tLoss: 3.002 \tMean Loss: 2.771 \tMean Acc: 0.125\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.0320e-01, -1.6595e-18, 2.9563e-01, 4.9011e-01],\n", - " [-1.0320e-01, 3.2094e-17, -4.6296e-01, -1.4388e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 8 \tAcc: 0.0 \tLoss: 2.936 \tMean Loss: 2.79 \tMean Acc: 0.111\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.0908e-01, 1.9428e-16, 2.5151e-01, 4.3175e-01],\n", - " [-1.0908e-01, 5.6506e-17, -3.6171e-01, -1.3828e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 9 \tAcc: 0.0 \tLoss: 2.908 \tMean Loss: 2.802 \tMean Acc: 0.1\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-9.7414e-02, 1.8581e-16, 2.1123e-01, 3.6549e-01],\n", - " [-9.7414e-02, -2.2940e-17, -3.5921e-01, -9.9536e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 10 \tAcc: 0.0 \tLoss: 2.718 \tMean Loss: 2.794 \tMean Acc: 0.091\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-8.1811e-02, 3.4969e-18, 2.0076e-01, 3.7427e-01],\n", - " [-8.1811e-02, 3.2625e-17, -2.7178e-01, -1.4520e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.564)─────────────╭C───RX(1.295)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(1.529)──│───╭X──────────RX(5.261)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(2.169)──╰X──╰C──────────RX(4.2)────┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 11 \tAcc: 0.0 \tLoss: 2.733 \tMean Loss: 2.789 \tMean Acc: 0.083\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-6.7393e-02, -1.3134e-17, 1.9976e-01, 3.6231e-01],\n", - " [-6.7393e-02, 1.9674e-17, -2.3482e-01, -1.4149e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 12 \tAcc: 0.0 \tLoss: 2.447 \tMean Loss: 2.762 \tMean Acc: 0.077\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-4.3731e-02, 4.6601e-18, 1.3353e-01, 2.3980e-01],\n", - " [-4.3731e-02, 5.8557e-18, -6.0334e-02, -1.2495e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 13 \tAcc: 0.0 \tLoss: 2.313 \tMean Loss: 2.73 \tMean Acc: 0.071\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-3.0114e-02, 2.8269e-17, 7.6862e-02, 1.1801e-01],\n", - " [-3.0114e-02, 8.5862e-18, -1.1271e-01, -3.4752e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 14 \tAcc: 0.0 \tLoss: 2.951 \tMean Loss: 2.745 \tMean Acc: 0.067\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-7.2573e-02, 6.3739e-18, 2.5115e-01, 4.0996e-01],\n", - " [-7.2573e-02, 3.5941e-17, -3.2884e-01, -2.5342e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 15 \tAcc: 0.0 \tLoss: 2.917 \tMean Loss: 2.756 \tMean Acc: 0.062\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-5.7861e-02, -6.8259e-17, 1.8966e-01, 2.7528e-01],\n", - " [-5.7861e-02, 2.0831e-17, -3.0757e-01, -1.5077e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.528)─────────────╭C───RX(1.329)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(1.567)──│───╭X──────────RX(5.3)────┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(2.133)──╰X──╰C──────────RX(4.237)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 16 \tAcc: 0.0 \tLoss: 3.294 \tMean Loss: 2.787 \tMean Acc: 0.059\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.2696e-01, 3.1880e-17, 3.3470e-01, 5.5234e-01],\n", - " [-1.2696e-01, 1.0218e-17, -5.4975e-01, -2.7840e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 17 \tAcc: 0.0 \tLoss: 2.269 \tMean Loss: 2.759 \tMean Acc: 0.056\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.7942e-02, -2.6358e-18, 5.8209e-02, 1.1139e-01],\n", - " [-1.7942e-02, 3.5609e-18, -7.3841e-02, -2.9442e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 18 \tAcc: 0.25 \tLoss: 2.43 \tMean Loss: 2.741 \tMean Acc: 0.066\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-2.9996e-02, 6.8571e-18, 1.1335e-01, 2.1312e-01],\n", - " [-2.9996e-02, -1.6551e-17, -1.6438e-01, -1.6410e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 19 \tAcc: 0.0 \tLoss: 3.226 \tMean Loss: 2.766 \tMean Acc: 0.062\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.3964e-01, 1.4798e-17, 3.7999e-01, 6.3517e-01],\n", - " [-1.3964e-01, 1.9995e-17, -6.4615e-01, -3.1639e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 20 \tAcc: 0.25 \tLoss: 2.674 \tMean Loss: 2.761 \tMean Acc: 0.071\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-7.9287e-02, -1.4226e-17, 1.8704e-01, 3.0575e-01],\n", - " [-7.9287e-02, 6.3292e-18, -3.0566e-01, -1.5239e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.49)──────────────╭C───RX(1.366)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(1.606)──│───╭X──────────RX(5.339)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(2.095)──╰X──╰C──────────RX(4.277)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 21 \tAcc: 0.0 \tLoss: 2.706 \tMean Loss: 2.759 \tMean Acc: 0.068\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-8.2634e-02, 1.6840e-17, 2.0925e-01, 3.5589e-01],\n", - " [-8.2634e-02, 2.4735e-17, -3.1945e-01, -1.5172e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 22 \tAcc: 0.25 \tLoss: 2.016 \tMean Loss: 2.726 \tMean Acc: 0.076\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.2429e-03, 6.0415e-18, -3.4987e-02, -6.3631e-02],\n", - " [-1.2429e-03, 5.2444e-19, -1.5702e-02, 2.8623e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 23 \tAcc: 0.25 \tLoss: 2.165 \tMean Loss: 2.703 \tMean Acc: 0.083\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 4.5795e-03, -1.8475e-18, -1.3177e-02, -2.4144e-02],\n", - " [ 4.5795e-03, 1.4923e-18, -2.9664e-02, -2.3212e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 24 \tAcc: 0.25 \tLoss: 2.411 \tMean Loss: 2.691 \tMean Acc: 0.09\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-6.5663e-02, -1.3327e-17, 1.4648e-01, 2.4155e-01],\n", - " [-6.5663e-02, 2.4102e-17, -2.3429e-01, -1.2502e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 25 \tAcc: 0.25 \tLoss: 2.292 \tMean Loss: 2.676 \tMean Acc: 0.096\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-5.8829e-02, -6.0618e-18, 9.5876e-02, 1.8222e-01],\n", - " [-5.8829e-02, 4.3984e-17, -2.3900e-01, -3.8902e-02]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.457)─────────────╭C───RX(1.401)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(1.643)──│───╭X──────────RX(5.376)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(2.061)──╰X──╰C──────────RX(4.314)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 26 \tAcc: 0.5 \tLoss: 1.856 \tMean Loss: 2.646 \tMean Acc: 0.111\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 8.4776e-04, -4.2420e-19, -1.2748e-02, 4.2077e-02],\n", - " [ 8.4776e-04, -6.8868e-18, -1.1920e-03, -7.4652e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 27 \tAcc: 0.0 \tLoss: 3.165 \tMean Loss: 2.664 \tMean Acc: 0.107\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.2670e-01, 9.7604e-17, 2.5443e-01, 4.4943e-01],\n", - " [-1.2670e-01, 1.0102e-16, -3.6280e-01, -1.7565e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 28 \tAcc: 0.5 \tLoss: 1.673 \tMean Loss: 2.63 \tMean Acc: 0.121\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 5.3590e-02, 4.3584e-18, -7.8335e-02, -1.3967e-01],\n", - " [ 5.3590e-02, -4.1996e-18, 1.3286e-01, -2.4106e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 29 \tAcc: 0.0 \tLoss: 3.178 \tMean Loss: 2.648 \tMean Acc: 0.117\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.1308e-01, 3.8388e-17, 2.3090e-01, 3.5798e-01],\n", - " [-1.1308e-01, -5.0598e-17, -3.3081e-01, -1.6946e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 30 \tAcc: 0.0 \tLoss: 3.062 \tMean Loss: 2.67 \tMean Acc: 0.117\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.5236e-01, 7.0623e-18, 2.4214e-01, 3.7190e-01],\n", - " [-1.5236e-01, -4.7574e-17, -4.5729e-01, -1.1550e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.428)─────────────╭C───RX(1.432)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(1.677)──│───╭X──────────RX(5.409)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(2.032)──╰X──╰C──────────RX(4.347)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 31 \tAcc: 0.25 \tLoss: 2.226 \tMean Loss: 2.644 \tMean Acc: 0.125\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-5.7744e-03, -7.8611e-18, 7.6376e-03, 2.5942e-02],\n", - " [-5.7744e-03, 2.8595e-17, -1.0074e-01, -7.6428e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 32 \tAcc: 0.25 \tLoss: 1.959 \tMean Loss: 2.643 \tMean Acc: 0.125\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 3.0531e-02, -8.5366e-18, -5.3403e-02, -7.2316e-02],\n", - " [ 3.0531e-02, 7.9445e-18, 3.5338e-02, -6.5968e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 33 \tAcc: 0.25 \tLoss: 2.421 \tMean Loss: 2.605 \tMean Acc: 0.125\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-5.7577e-02, 1.5988e-17, 1.2811e-01, 2.0345e-01],\n", - " [-5.7577e-02, -2.2594e-18, -1.6233e-01, -1.1729e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 34 \tAcc: 0.0 \tLoss: 2.566 \tMean Loss: 2.554 \tMean Acc: 0.125\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-5.8702e-02, 8.7361e-17, 1.0560e-01, 1.1725e-01],\n", - " [-5.8702e-02, 8.9480e-18, -1.9586e-01, -8.6239e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 35 \tAcc: 0.0 \tLoss: 2.367 \tMean Loss: 2.558 \tMean Acc: 0.125\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.5541e-03, 3.5634e-18, -1.3879e-02, -4.4533e-02],\n", - " [ 2.5541e-03, 2.2139e-17, -5.7469e-02, 5.6250e-02]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)───────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.404)─────────────╭C───RX(1.46)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(1.707)──│───╭X─────────RX(5.44)───┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(2.007)──╰X──╰C─────────RX(4.379)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 36 \tAcc: 0.0 \tLoss: 2.736 \tMean Loss: 2.587 \tMean Acc: 0.117\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-8.3742e-02, 6.6500e-18, 9.4643e-02, 2.1006e-01],\n", - " [-8.3742e-02, 6.8445e-17, -2.8913e-01, -9.7245e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 37 \tAcc: 0.25 \tLoss: 2.06 \tMean Loss: 2.556 \tMean Acc: 0.117\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.8551e-02, 1.1105e-17, -8.1422e-02, -1.3687e-01],\n", - " [ 2.8551e-02, -9.7147e-19, 8.0593e-02, -1.5997e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 38 \tAcc: 0.0 \tLoss: 2.513 \tMean Loss: 2.542 \tMean Acc: 0.117\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-2.0137e-02, -8.2345e-18, 6.1930e-02, 1.3661e-01],\n", - " [-2.0137e-02, -6.4627e-17, -1.6116e-01, -2.0041e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 39 \tAcc: 0.25 \tLoss: 2.161 \tMean Loss: 2.517 \tMean Acc: 0.125\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.4070e-03, 2.9120e-18, -2.8733e-02, -8.2402e-02],\n", - " [-1.4070e-03, -2.1939e-18, 9.8768e-02, 1.2735e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 40 \tAcc: 0.5 \tLoss: 2.128 \tMean Loss: 2.497 \tMean Acc: 0.142\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.3425e-03, -3.6886e-18, -9.1959e-03, -1.5537e-02],\n", - " [ 2.3425e-03, -1.3717e-17, -5.7638e-02, -4.3068e-02]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.386)─────────────╭C───RX(1.484)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(1.732)──│───╭X──────────RX(5.465)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.989)──╰X──╰C──────────RX(4.406)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 41 \tAcc: 0.0 \tLoss: 2.125 \tMean Loss: 2.477 \tMean Acc: 0.142\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 5.4457e-02, 1.0621e-17, -6.3229e-02, -1.3114e-01],\n", - " [ 5.4457e-02, -2.1355e-18, 5.6921e-02, -6.2364e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 42 \tAcc: 0.25 \tLoss: 2.328 \tMean Loss: 2.473 \tMean Acc: 0.15\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.4978e-02, -1.0443e-17, 3.5179e-03, -9.7194e-03],\n", - " [-1.4978e-02, 1.1835e-17, 7.4802e-03, -9.6564e-03]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 43 \tAcc: 0.0 \tLoss: 2.561 \tMean Loss: 2.481 \tMean Acc: 0.15\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-8.8519e-02, -5.1050e-17, 1.3101e-01, 2.8640e-01],\n", - " [-8.8519e-02, 4.3920e-17, -3.4674e-01, -2.3672e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 44 \tAcc: 0.25 \tLoss: 2.309 \tMean Loss: 2.46 \tMean Acc: 0.158\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-2.5405e-02, 2.9891e-17, 5.6591e-02, 1.3413e-01],\n", - " [-2.5405e-02, 2.1514e-17, -9.7882e-02, -1.6835e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 45 \tAcc: 0.25 \tLoss: 2.115 \tMean Loss: 2.433 \tMean Acc: 0.167\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.4823e-02, 8.6073e-18, 3.4289e-02, 6.4648e-02],\n", - " [-1.4823e-02, 4.4634e-18, -2.9867e-02, -3.5788e-02]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.373)─────────────╭C───RX(1.502)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(1.749)──│───╭X──────────RX(5.482)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.977)──╰X──╰C──────────RX(4.433)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 46 \tAcc: 0.0 \tLoss: 2.608 \tMean Loss: 2.41 \tMean Acc: 0.167\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-5.4820e-02, -6.5211e-17, 6.2343e-02, 1.7704e-01],\n", - " [-5.4820e-02, 3.8867e-17, -2.2386e-01, -8.7642e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 47 \tAcc: 0.0 \tLoss: 2.104 \tMean Loss: 2.405 \tMean Acc: 0.167\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-3.8330e-02, -8.6548e-19, 2.6032e-02, 8.5927e-02],\n", - " [-3.8330e-02, 7.8539e-18, -1.6808e-01, -3.0046e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 48 \tAcc: 0.25 \tLoss: 2.366 \tMean Loss: 2.403 \tMean Acc: 0.167\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-7.4974e-03, -3.8202e-17, -1.9443e-02, -3.8768e-02],\n", - " [-7.4974e-03, 3.6330e-18, 6.6255e-02, -3.6232e-03]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 49 \tAcc: 0.0 \tLoss: 2.329 \tMean Loss: 2.373 \tMean Acc: 0.167\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-3.5595e-02, 5.0733e-18, 3.8882e-02, 2.6010e-02],\n", - " [-3.5595e-02, 6.4128e-18, -8.1780e-02, -7.2048e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 50 \tAcc: 0.0 \tLoss: 3.126 \tMean Loss: 2.388 \tMean Acc: 0.158\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-8.7001e-02, 7.6988e-18, 1.2496e-01, 4.0057e-01],\n", - " [-8.7001e-02, 6.3441e-18, -3.4138e-01, -2.5135e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.361)─────────────╭C───RX(1.521)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(1.77)───│───╭X──────────RX(5.503)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.963)──╰X──╰C──────────RX(4.461)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 51 \tAcc: 0.0 \tLoss: 2.955 \tMean Loss: 2.396 \tMean Acc: 0.158\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-6.6951e-02, 1.8035e-17, 7.4364e-02, 1.8679e-01],\n", - " [-6.6951e-02, 2.3486e-17, -1.3229e-01, -1.9610e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 52 \tAcc: 0.0 \tLoss: 2.979 \tMean Loss: 2.428 \tMean Acc: 0.15\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.0023e-01, -2.4015e-18, 8.8051e-02, 2.6893e-01],\n", - " [-1.0023e-01, 3.9543e-18, -2.5318e-01, -2.1383e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 53 \tAcc: 0.25 \tLoss: 1.95 \tMean Loss: 2.421 \tMean Acc: 0.15\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.0004e-02, -4.6703e-18, -1.3981e-02, -1.1622e-01],\n", - " [-1.0004e-02, 1.0503e-17, 6.6392e-02, 2.2733e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 54 \tAcc: 0.0 \tLoss: 2.583 \tMean Loss: 2.427 \tMean Acc: 0.142\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.5449e-02, -2.3035e-17, -2.5216e-02, -5.4643e-03],\n", - " [-1.5449e-02, 1.2820e-17, -1.3113e-02, -4.1014e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 55 \tAcc: 0.25 \tLoss: 2.257 \tMean Loss: 2.425 \tMean Acc: 0.142\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-3.2581e-03, 4.0445e-18, -6.4904e-02, -8.5951e-02],\n", - " [-3.2581e-03, 3.3983e-18, 2.0524e-02, 1.9999e-02]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.349)─────────────╭C───RX(1.542)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(1.797)──│───╭X──────────RX(5.53)───┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.946)──╰X──╰C──────────RX(4.494)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 56 \tAcc: 0.0 \tLoss: 2.493 \tMean Loss: 2.447 \tMean Acc: 0.125\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-4.0145e-02, -6.9012e-18, 7.3061e-02, 1.2959e-01],\n", - " [-4.0145e-02, 1.1726e-16, -1.8551e-01, -1.5952e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 57 \tAcc: 0.25 \tLoss: 1.836 \tMean Loss: 2.402 \tMean Acc: 0.133\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.6637e-03, 3.2618e-18, -2.8072e-02, -8.9376e-02],\n", - " [-1.6637e-03, -2.2121e-17, 5.7789e-02, -3.6202e-03]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 58 \tAcc: 0.0 \tLoss: 2.07 \tMean Loss: 2.416 \tMean Acc: 0.117\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.1889e-02, -6.2794e-18, -4.1116e-02, -1.2616e-01],\n", - " [-1.1889e-02, 6.9874e-18, 2.5343e-01, 5.6800e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 59 \tAcc: 0.0 \tLoss: 2.803 \tMean Loss: 2.403 \tMean Acc: 0.117\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-9.6885e-02, 5.3714e-17, -4.2203e-03, 1.7198e-01],\n", - " [-9.6885e-02, 4.2663e-17, -2.2440e-01, -1.1424e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 60 \tAcc: 0.0 \tLoss: 2.242 \tMean Loss: 2.376 \tMean Acc: 0.117\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-3.5477e-02, -2.9283e-17, 2.1024e-02, -3.7209e-02],\n", - " [-3.5477e-02, -2.1998e-18, 1.1849e-02, -1.1718e-02]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.342)─────────────╭C───RX(1.555)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(1.821)──│───╭X──────────RX(5.554)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.936)──╰X──╰C──────────RX(4.52)───┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 61 \tAcc: 0.25 \tLoss: 2.685 \tMean Loss: 2.391 \tMean Acc: 0.117\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-9.3129e-02, -7.4328e-17, 1.9915e-02, 1.4585e-01],\n", - " [-9.3129e-02, 1.2871e-18, -1.4212e-01, -8.1847e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 62 \tAcc: 0.5 \tLoss: 1.657 \tMean Loss: 2.381 \tMean Acc: 0.125\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.4672e-02, -1.8507e-17, -1.0075e-01, 7.7748e-02],\n", - " [ 1.4672e-02, 1.4525e-18, -6.6797e-02, -9.9689e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 63 \tAcc: 0.0 \tLoss: 2.383 \tMean Loss: 2.38 \tMean Acc: 0.117\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-7.8194e-02, 1.5276e-17, 6.7702e-02, 1.9059e-02],\n", - " [-7.8194e-02, 5.9248e-18, -3.2830e-02, -1.0076e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 64 \tAcc: 0.0 \tLoss: 2.603 \tMean Loss: 2.381 \tMean Acc: 0.117\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-4.1521e-02, 4.1180e-17, 1.9647e-02, 1.9133e-02],\n", - " [-4.1521e-02, -6.4025e-17, -1.1985e-01, -2.4218e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 65 \tAcc: 0.25 \tLoss: 2.237 \tMean Loss: 2.377 \tMean Acc: 0.125\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-3.9402e-02, -5.5880e-17, -3.2658e-02, -4.5909e-02],\n", - " [-3.9402e-02, -3.2501e-18, 3.5518e-02, 1.1830e-02]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.338)─────────────╭C───RX(1.568)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(1.85)───│───╭X──────────RX(5.583)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.927)──╰X──╰C──────────RX(4.544)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 66 \tAcc: 0.0 \tLoss: 3.199 \tMean Loss: 2.392 \tMean Acc: 0.125\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.5730e-01, 1.8994e-16, 1.0651e-01, 3.1200e-01],\n", - " [-1.5730e-01, 2.5667e-16, -3.6510e-01, -2.0359e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 67 \tAcc: 0.5 \tLoss: 2.298 \tMean Loss: 2.4 \tMean Acc: 0.133\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.7293e-02, -1.8524e-17, 2.4063e-02, 1.5021e-01],\n", - " [-1.7293e-02, -1.1763e-17, -4.1632e-01, -2.4254e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 68 \tAcc: 0.0 \tLoss: 2.428 \tMean Loss: 2.397 \tMean Acc: 0.133\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.5494e-03, 9.2687e-18, -2.6174e-02, -2.0641e-02],\n", - " [ 1.5494e-03, -1.4582e-18, -1.3316e-01, -6.2040e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 69 \tAcc: 0.5 \tLoss: 2.03 \tMean Loss: 2.393 \tMean Acc: 0.142\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-3.0429e-02, -7.1088e-19, 3.3545e-02, 3.6427e-02],\n", - " [-3.0429e-02, -8.2445e-17, -2.0935e-01, -1.6817e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 70 \tAcc: 0.5 \tLoss: 2.457 \tMean Loss: 2.404 \tMean Acc: 0.142\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-6.7132e-02, 3.4622e-17, 5.3620e-03, -3.3132e-02],\n", - " [-6.7132e-02, 4.0792e-17, 8.2623e-02, -1.4589e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.333)─────────────╭C───RX(1.589)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(1.883)──│───╭X──────────RX(5.615)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.915)──╰X──╰C──────────RX(4.575)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 71 \tAcc: 0.5 \tLoss: 2.015 \tMean Loss: 2.4 \tMean Acc: 0.158\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-5.4119e-02, -4.1342e-18, -5.6719e-02, 2.8183e-02],\n", - " [-5.4119e-02, -3.5726e-17, -2.0020e-01, -1.5812e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 72 \tAcc: 0.0 \tLoss: 2.124 \tMean Loss: 2.393 \tMean Acc: 0.15\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-3.4823e-03, -2.8003e-18, -3.0482e-03, -4.2556e-02],\n", - " [-3.4823e-03, 4.6507e-18, 1.5996e-03, -6.6511e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 73 \tAcc: 0.0 \tLoss: 2.285 \tMean Loss: 2.384 \tMean Acc: 0.15\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.5491e-02, -2.3821e-17, -5.0291e-02, -1.0236e-01],\n", - " [ 2.5491e-02, -1.4480e-17, 9.4490e-02, 1.1657e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 74 \tAcc: 0.0 \tLoss: 1.978 \tMean Loss: 2.373 \tMean Acc: 0.142\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.4365e-02, -2.5158e-17, -7.2910e-02, -1.4269e-01],\n", - " [ 2.4365e-02, -1.8658e-18, 2.4074e-01, -1.5166e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 75 \tAcc: 0.0 \tLoss: 2.626 \tMean Loss: 2.39 \tMean Acc: 0.133\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.0139e-03, -1.4271e-17, 8.7943e-04, -9.7036e-02],\n", - " [-1.0139e-03, -1.2275e-17, 1.7353e-01, -1.4537e-02]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.333)─────────────╭C───RX(1.604)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(1.909)──│───╭X──────────RX(5.641)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.91)───╰X──╰C──────────RX(4.608)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 76 \tAcc: 0.0 \tLoss: 2.432 \tMean Loss: 2.384 \tMean Acc: 0.133\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-7.5550e-02, 2.1877e-17, 2.8486e-02, -2.0051e-02],\n", - " [-7.5550e-02, 2.6022e-17, -5.7492e-03, -8.6646e-03]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 77 \tAcc: 0.0 \tLoss: 2.137 \tMean Loss: 2.385 \tMean Acc: 0.133\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-5.6993e-02, -4.5431e-17, -6.0813e-02, 8.7782e-02],\n", - " [-5.6993e-02, -3.9871e-17, -4.3325e-01, -3.1358e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 78 \tAcc: 0.25 \tLoss: 2.042 \tMean Loss: 2.375 \tMean Acc: 0.133\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-3.0430e-02, -9.3662e-17, -5.6809e-02, 5.2128e-02],\n", - " [-3.0430e-02, 4.9251e-18, -2.9964e-01, -2.0241e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 79 \tAcc: 0.0 \tLoss: 2.244 \tMean Loss: 2.372 \tMean Acc: 0.133\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-5.8551e-02, -7.9277e-18, 1.6810e-02, 2.6497e-02],\n", - " [-5.8551e-02, 1.6717e-17, -1.5498e-01, -1.0089e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 80 \tAcc: 0.0 \tLoss: 2.261 \tMean Loss: 2.343 \tMean Acc: 0.133\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.5590e-02, -5.4419e-18, -3.6475e-02, -7.2795e-02],\n", - " [-1.5590e-02, -8.5416e-20, 2.5304e-01, -7.9483e-03]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.335)─────────────╭C───RX(1.618)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(1.933)──│───╭X──────────RX(5.666)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.909)──╰X──╰C──────────RX(4.641)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 81 \tAcc: 0.0 \tLoss: 2.413 \tMean Loss: 2.325 \tMean Acc: 0.133\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-3.3988e-02, 1.5723e-17, 3.4603e-02, -1.0552e-01],\n", - " [-3.3988e-02, 2.0942e-17, 2.6253e-01, 4.0565e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 82 \tAcc: 0.0 \tLoss: 2.019 \tMean Loss: 2.293 \tMean Acc: 0.133\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 3.7985e-03, -5.3108e-18, -4.6371e-02, -8.1118e-02],\n", - " [ 3.7985e-03, -1.3875e-17, 1.1998e-01, -5.6145e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 83 \tAcc: 0.25 \tLoss: 2.315 \tMean Loss: 2.305 \tMean Acc: 0.133\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-7.7578e-02, 1.3052e-17, -3.3467e-02, 1.1154e-01],\n", - " [-7.7578e-02, 1.7369e-17, -1.1121e-01, -8.0777e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 84 \tAcc: 0.25 \tLoss: 1.992 \tMean Loss: 2.285 \tMean Acc: 0.142\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.0336e-02, -2.4039e-17, -2.4041e-02, -1.0787e-01],\n", - " [ 2.0336e-02, -2.8214e-17, 8.0482e-04, 1.7170e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 85 \tAcc: 0.0 \tLoss: 2.286 \tMean Loss: 2.286 \tMean Acc: 0.133\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.1722e-02, -5.1688e-18, 2.3256e-02, -8.0421e-02],\n", - " [ 1.1722e-02, -1.7273e-17, 1.1716e-01, 2.0889e-02]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.339)─────────────╭C───RX(1.622)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(1.956)──│───╭X──────────RX(5.689)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.911)──╰X──╰C──────────RX(4.667)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 86 \tAcc: 0.75 \tLoss: 1.709 \tMean Loss: 2.26 \tMean Acc: 0.158\n", + "Downloading http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz\n", + "Downloading http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz to ./mnist\\MNIST\\raw\\train-images-idx3-ubyte.gz\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|███████████████████████████████████████████████████████████████████| 9912422/9912422 [00:05<00:00, 1680626.42it/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Extracting ./mnist\\MNIST\\raw\\train-images-idx3-ubyte.gz to ./mnist\\MNIST\\raw\n", "\n", - "Gradients Layer 0:\n", - "tensor([[-4.7956e-02, -5.3488e-18, -3.1084e-02, 1.2431e-03],\n", - " [-4.7956e-02, -4.8084e-18, -3.4923e-01, -2.3553e-01]])\n", - "---------------------------------------\n", + "Downloading http://yann.lecun.com/exdb/mnist/train-labels-idx1-ubyte.gz\n", + "Downloading http://yann.lecun.com/exdb/mnist/train-labels-idx1-ubyte.gz to ./mnist\\MNIST\\raw\\train-labels-idx1-ubyte.gz\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|████████████████████████████████████████████████████████████████████████| 28881/28881 [00:00<00:00, 434212.35it/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Extracting ./mnist\\MNIST\\raw\\train-labels-idx1-ubyte.gz to ./mnist\\MNIST\\raw\n", "\n", - "Epoch: 0 \tStep: 87 \tAcc: 0.25 \tLoss: 1.923 \tMean Loss: 2.263 \tMean Acc: 0.158\n", + "Downloading http://yann.lecun.com/exdb/mnist/t10k-images-idx3-ubyte.gz\n", + "Downloading http://yann.lecun.com/exdb/mnist/t10k-images-idx3-ubyte.gz to ./mnist\\MNIST\\raw\\t10k-images-idx3-ubyte.gz\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|████████████████████████████████████████████████████████████████████| 1648877/1648877 [00:01<00:00, 929175.38it/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Extracting ./mnist\\MNIST\\raw\\t10k-images-idx3-ubyte.gz to ./mnist\\MNIST\\raw\n", "\n", - "Gradients Layer 0:\n", - "tensor([[-6.3775e-02, 1.7901e-19, -8.9053e-02, -1.5206e-02],\n", - " [-6.3775e-02, 4.6772e-17, -3.2833e-01, -2.1643e-01]])\n", - "---------------------------------------\n", + "Downloading http://yann.lecun.com/exdb/mnist/t10k-labels-idx1-ubyte.gz\n", + "Downloading http://yann.lecun.com/exdb/mnist/t10k-labels-idx1-ubyte.gz to ./mnist\\MNIST\\raw\\t10k-labels-idx1-ubyte.gz\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████████████████████████████████████████████████████████████████████| 4542/4542 [00:00<00:00, 145279.71it/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Extracting ./mnist\\MNIST\\raw\\t10k-labels-idx1-ubyte.gz to ./mnist\\MNIST\\raw\n", "\n", - "Epoch: 0 \tStep: 88 \tAcc: 0.0 \tLoss: 2.136 \tMean Loss: 2.265 \tMean Acc: 0.158\n", + "Initializing Circuit with random seed 9321727\n", + "Starting Training for 1 epochs\n", + "Epoch: 0 \tStep: 0 \tAcc: 0.0 \tLoss: 2.349 \tMean Loss: 2.349 \tMean Acc: 0.0\n", "\n", - "Gradients Layer 0:\n", - "tensor([[-1.8019e-02, 7.6610e-18, -1.7159e-02, -8.0094e-03],\n", - " [-1.8019e-02, -2.3939e-17, -2.6273e-01, -1.1571e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 89 \tAcc: 0.0 \tLoss: 2.242 \tMean Loss: 2.247 \tMean Acc: 0.158\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-2.3960e-02, 5.9539e-17, -2.8695e-02, 2.8508e-02],\n", - " [-2.3960e-02, 1.3110e-17, -1.9081e-01, -2.2448e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 90 \tAcc: 0.5 \tLoss: 1.814 \tMean Loss: 2.232 \tMean Acc: 0.175\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.3054e-02, -2.7396e-17, -5.0973e-02, -8.3864e-02],\n", - " [ 1.3054e-02, -1.4686e-17, 6.1439e-02, -6.5041e-02]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.346)─────────────╭C───RX(1.637)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(1.978)──│───╭X──────────RX(5.711)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.914)──╰X──╰C──────────RX(4.701)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 91 \tAcc: 0.75 \tLoss: 1.952 \tMean Loss: 2.208 \tMean Acc: 0.192\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-3.7563e-02, -5.3474e-17, -1.2486e-01, 1.6218e-02],\n", - " [-3.7563e-02, 1.4167e-17, -2.7404e-01, -2.3871e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 92 \tAcc: 0.5 \tLoss: 1.835 \tMean Loss: 2.214 \tMean Acc: 0.192\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 5.3507e-03, -3.7369e-17, 1.4601e-03, -1.1129e-01],\n", - " [ 5.3507e-03, -3.5707e-17, 2.9557e-02, 6.3566e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 93 \tAcc: 0.25 \tLoss: 1.83 \tMean Loss: 2.195 \tMean Acc: 0.2\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.0869e-02, -8.0954e-18, -8.8877e-02, -4.6856e-02],\n", - " [ 1.0869e-02, -2.3919e-17, -2.3841e-02, -4.1671e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 94 \tAcc: 0.25 \tLoss: 1.963 \tMean Loss: 2.174 \tMean Acc: 0.208\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-2.3523e-02, -3.7336e-17, -2.7450e-02, -5.8982e-02],\n", - " [-2.3523e-02, 1.6954e-17, 5.5304e-02, 1.4485e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 95 \tAcc: 0.0 \tLoss: 1.836 \tMean Loss: 2.161 \tMean Acc: 0.2\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-2.4943e-02, 4.1188e-17, -8.9100e-02, 2.3284e-02],\n", - " [-2.4943e-02, -8.0260e-19, -2.7273e-01, -1.4003e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.358)─────────────╭C───RX(1.654)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(1.995)──│───╭X──────────RX(5.728)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.919)──╰X──╰C──────────RX(4.734)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 96 \tAcc: 0.5 \tLoss: 1.759 \tMean Loss: 2.113 \tMean Acc: 0.217\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-2.9352e-02, -3.7765e-18, -2.3428e-02, -2.7810e-02],\n", - " [-2.9352e-02, -6.4201e-18, 3.9452e-02, 7.5667e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 97 \tAcc: 0.25 \tLoss: 2.474 \tMean Loss: 2.119 \tMean Acc: 0.208\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.4682e-02, -1.6611e-17, 1.9295e-02, -4.4969e-02],\n", - " [-1.4682e-02, -1.1263e-17, 9.7499e-02, -2.4030e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 98 \tAcc: 0.0 \tLoss: 2.336 \tMean Loss: 2.116 \tMean Acc: 0.208\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-3.8830e-02, 7.7028e-18, -8.0467e-02, 6.9815e-03],\n", - " [-3.8830e-02, 2.1276e-17, 4.2548e-03, -1.8943e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 99 \tAcc: 0.5 \tLoss: 2.418 \tMean Loss: 2.128 \tMean Acc: 0.208\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-6.1010e-02, 3.3514e-17, -9.5629e-02, 1.8764e-02],\n", - " [-6.1010e-02, -7.6062e-17, -1.0560e-01, -2.8722e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 100 \tAcc: 0.5 \tLoss: 2.239 \tMean Loss: 2.121 \tMean Acc: 0.208\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-2.5534e-02, 2.4712e-17, -2.3074e-02, -1.0701e-01],\n", - " [-2.5534e-02, 2.9608e-17, 1.0295e-01, -1.0798e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.372)─────────────╭C───RX(1.665)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.014)──│───╭X──────────RX(5.747)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.924)──╰X──╰C──────────RX(4.764)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 101 \tAcc: 0.0 \tLoss: 2.423 \tMean Loss: 2.135 \tMean Acc: 0.192\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-6.0471e-02, -6.3584e-17, -3.3198e-02, -3.0972e-02],\n", - " [-6.0471e-02, -3.3886e-17, 1.0985e-01, -1.6538e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 102 \tAcc: 0.75 \tLoss: 1.535 \tMean Loss: 2.115 \tMean Acc: 0.217\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-3.5757e-02, 6.3725e-17, -5.6388e-02, -8.5894e-02],\n", - " [-3.5757e-02, 3.6970e-18, -1.1344e-01, -1.3721e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 103 \tAcc: 0.0 \tLoss: 1.901 \tMean Loss: 2.102 \tMean Acc: 0.217\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 8.8406e-02, 2.3633e-17, 3.7893e-03, -6.0885e-02],\n", - " [ 8.8406e-02, -1.6377e-17, 1.7688e-01, 1.0051e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 104 \tAcc: 0.25 \tLoss: 2.24 \tMean Loss: 2.111 \tMean Acc: 0.225\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-2.2175e-02, 8.7772e-18, -2.6706e-02, -6.2350e-02],\n", - " [-2.2175e-02, -4.9736e-18, 1.0923e-01, -1.3407e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 105 \tAcc: 0.0 \tLoss: 2.289 \tMean Loss: 2.1 \tMean Acc: 0.225\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-2.3200e-02, 4.0994e-18, -5.0237e-02, -9.4561e-02],\n", - " [-2.3200e-02, 1.5439e-17, 2.8117e-01, -6.2801e-02]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.387)─────────────╭C───RX(1.667)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.033)──│───╭X──────────RX(5.766)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.932)──╰X──╰C──────────RX(4.798)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 106 \tAcc: 0.0 \tLoss: 2.532 \tMean Loss: 2.103 \tMean Acc: 0.225\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 8.2135e-03, 1.8128e-17, 6.4180e-02, -7.7697e-03],\n", - " [ 8.2135e-03, 6.0659e-18, 5.5494e-01, 5.8293e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 107 \tAcc: 0.0 \tLoss: 2.44 \tMean Loss: 2.113 \tMean Acc: 0.225\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.0627e-04, 2.9015e-17, -5.0077e-02, -7.0158e-02],\n", - " [ 1.0627e-04, -1.4093e-17, 2.6764e-01, -6.0283e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 108 \tAcc: 0.0 \tLoss: 2.375 \tMean Loss: 2.124 \tMean Acc: 0.217\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-3.3473e-02, -2.8548e-17, 5.8901e-02, -2.7044e-02],\n", - " [-3.3473e-02, -6.2770e-18, 3.9457e-01, 9.7761e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 109 \tAcc: 0.25 \tLoss: 2.064 \tMean Loss: 2.118 \tMean Acc: 0.225\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.7802e-02, -1.4024e-17, 2.2908e-02, -5.5739e-02],\n", - " [ 1.7802e-02, -2.6197e-17, 1.7003e-01, 6.8446e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 110 \tAcc: 0.5 \tLoss: 1.839 \tMean Loss: 2.104 \tMean Acc: 0.242\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 4.3860e-04, -5.6476e-17, -5.5898e-02, -1.1018e-01],\n", - " [ 4.3860e-04, 1.2827e-17, -1.4646e-01, -1.7756e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.395)─────────────╭C───RX(1.646)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.045)──│───╭X──────────RX(5.778)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.941)──╰X──╰C──────────RX(4.82)───┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 111 \tAcc: 0.5 \tLoss: 1.832 \tMean Loss: 2.085 \tMean Acc: 0.258\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-5.1549e-02, -1.1301e-17, -6.5593e-02, -5.9955e-02],\n", - " [-5.1549e-02, -2.4889e-17, -2.2950e-01, -1.7234e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 112 \tAcc: 0.25 \tLoss: 1.982 \tMean Loss: 2.084 \tMean Acc: 0.267\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.5787e-02, -2.3794e-17, -8.9682e-02, -2.7356e-02],\n", - " [-1.5787e-02, 5.2465e-18, -1.2327e-01, -1.2977e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 113 \tAcc: 0.5 \tLoss: 1.877 \tMean Loss: 2.069 \tMean Acc: 0.275\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-4.1918e-02, -2.9694e-17, -8.0225e-02, -7.6609e-02],\n", - " [-4.1918e-02, -9.5287e-17, -3.0103e-01, -3.4631e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 114 \tAcc: 0.25 \tLoss: 2.06 \tMean Loss: 2.071 \tMean Acc: 0.275\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-3.4302e-03, -5.1015e-19, -2.6896e-04, 1.7297e-02],\n", - " [-3.4302e-03, -1.3188e-17, 2.6088e-01, 2.6123e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 115 \tAcc: 0.75 \tLoss: 1.752 \tMean Loss: 2.054 \tMean Acc: 0.3\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-6.1077e-03, -1.3255e-17, -8.1700e-02, -3.2394e-02],\n", - " [-6.1077e-03, 1.4447e-17, 2.1301e-02, -4.0806e-02]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.408)─────────────╭C───RX(1.637)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.059)──│───╭X──────────RX(5.792)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.952)──╰X──╰C──────────RX(4.85)───┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 116 \tAcc: 0.75 \tLoss: 1.673 \tMean Loss: 2.052 \tMean Acc: 0.3\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-3.1428e-02, 2.4923e-17, -8.8315e-02, -4.0189e-02],\n", - " [-3.1428e-02, 1.2410e-17, -1.7805e-01, -1.1483e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 117 \tAcc: 0.0 \tLoss: 2.23 \tMean Loss: 2.063 \tMean Acc: 0.292\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-7.6262e-02, 7.3168e-18, -4.3863e-02, -6.9753e-03],\n", - " [-7.6262e-02, -1.2349e-17, -2.2534e-01, -1.5388e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 118 \tAcc: 0.5 \tLoss: 1.825 \tMean Loss: 2.052 \tMean Acc: 0.308\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-7.7515e-02, 2.6600e-17, -7.5848e-02, -5.4709e-02],\n", - " [-7.7515e-02, -1.3458e-16, -2.8900e-01, -2.0239e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 119 \tAcc: 0.0 \tLoss: 2.163 \tMean Loss: 2.05 \tMean Acc: 0.308\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-9.9161e-02, 2.0850e-17, 8.5078e-02, -2.4785e-02],\n", - " [-9.9161e-02, -2.2697e-18, 1.3019e-01, -2.8448e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 120 \tAcc: 0.0 \tLoss: 2.526 \tMean Loss: 2.073 \tMean Acc: 0.292\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-8.8155e-02, 1.5952e-16, 2.4498e-02, -3.6283e-02],\n", - " [-8.8155e-02, 1.2617e-16, -1.9251e-02, -1.2171e-02]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)───────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.423)─────────────╭C───RX(1.64)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.084)──│───╭X─────────RX(5.816)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.961)──╰X──╰C─────────RX(4.883)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 121 \tAcc: 0.25 \tLoss: 1.938 \tMean Loss: 2.073 \tMean Acc: 0.275\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-6.0634e-02, -3.4713e-17, -3.5166e-02, -1.1834e-01],\n", - " [-6.0634e-02, -4.5494e-17, -2.7686e-01, -3.0628e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 122 \tAcc: 0.75 \tLoss: 1.588 \tMean Loss: 2.065 \tMean Acc: 0.283\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.1344e-03, 5.2525e-17, -4.2480e-02, -6.4887e-02],\n", - " [ 2.1344e-03, -1.6566e-17, -1.8120e-01, -1.5460e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 123 \tAcc: 0.25 \tLoss: 1.868 \tMean Loss: 2.066 \tMean Acc: 0.283\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-7.3949e-02, -4.1373e-17, -7.1791e-02, -1.0767e-01],\n", - " [-7.3949e-02, 7.8337e-18, -2.6458e-01, -1.7652e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 124 \tAcc: 0.0 \tLoss: 2.337 \tMean Loss: 2.078 \tMean Acc: 0.275\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[7.1149e-03, 5.2746e-17, 4.7817e-02, 1.7797e-02],\n", - " [7.1149e-03, 2.3481e-17, 2.0150e-01, 1.4735e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 125 \tAcc: 0.25 \tLoss: 2.379 \tMean Loss: 2.097 \tMean Acc: 0.283\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[4.4032e-02, 7.4342e-18, 7.6333e-02, 2.6579e-02],\n", - " [4.4032e-02, 4.7626e-19, 3.4023e-01, 1.2543e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)───────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.433)─────────────╭C───RX(1.65)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.115)──│───╭X─────────RX(5.848)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.972)──╰X──╰C─────────RX(4.919)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 126 \tAcc: 0.5 \tLoss: 2.103 \tMean Loss: 2.108 \tMean Acc: 0.283\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-3.7994e-02, 3.4959e-17, -6.6355e-02, -1.9789e-02],\n", - " [-3.7994e-02, -4.4055e-17, -2.3508e-01, -1.3184e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 127 \tAcc: 0.5 \tLoss: 1.454 \tMean Loss: 2.074 \tMean Acc: 0.292\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-2.3788e-02, -3.7182e-17, -8.3183e-02, -7.1163e-02],\n", - " [-2.3788e-02, -1.1905e-16, -1.5578e-01, -1.7833e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 128 \tAcc: 0.0 \tLoss: 2.109 \tMean Loss: 2.066 \tMean Acc: 0.292\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-9.1613e-02, 1.0382e-17, -2.7791e-02, -2.7596e-02],\n", - " [-9.1613e-02, 2.6120e-18, -8.6231e-02, -1.4098e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 129 \tAcc: 0.25 \tLoss: 2.109 \tMean Loss: 2.056 \tMean Acc: 0.283\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 6.7357e-02, -3.9338e-17, 1.0092e-01, 1.0854e-01],\n", - " [ 6.7357e-02, 4.5679e-17, 3.1418e-01, 1.9393e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 130 \tAcc: 0.5 \tLoss: 1.581 \tMean Loss: 2.034 \tMean Acc: 0.283\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-2.3256e-02, -2.8148e-17, 4.3863e-02, 4.1718e-02],\n", - " [-2.3256e-02, -3.4952e-17, 1.4837e-01, 8.7566e-02]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)───────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.441)────────────╭C───RX(1.656)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.14)──│───╭X──────────RX(5.872)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.98)──╰X──╰C──────────RX(4.942)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 131 \tAcc: 0.0 \tLoss: 2.674 \tMean Loss: 2.043 \tMean Acc: 0.283\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[1.6806e-01, 8.3569e-17, 1.8020e-01, 2.7726e-01],\n", - " [1.6806e-01, 6.4122e-17, 8.5415e-01, 4.3283e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 132 \tAcc: 0.0 \tLoss: 2.671 \tMean Loss: 2.08 \tMean Acc: 0.258\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.3672e-02, 2.1642e-17, -4.7659e-02, -3.0748e-03],\n", - " [-1.3672e-02, 9.9183e-18, 5.6659e-02, 2.6457e-03]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 133 \tAcc: 0.5 \tLoss: 1.942 \tMean Loss: 2.082 \tMean Acc: 0.275\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-6.7123e-02, -5.3314e-17, -2.2718e-01, -2.5869e-01],\n", - " [-6.7123e-02, -4.8405e-17, -7.5020e-01, -4.9391e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 134 \tAcc: 0.5 \tLoss: 1.622 \tMean Loss: 2.061 \tMean Acc: 0.283\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.2533e-02, -1.6401e-17, -1.9508e-01, -7.1685e-02],\n", - " [-1.2533e-02, -8.3178e-17, -3.8515e-01, -2.4369e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 135 \tAcc: 0.25 \tLoss: 2.523 \tMean Loss: 2.069 \tMean Acc: 0.292\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 9.1281e-02, 2.4447e-17, 1.0301e-01, 1.2674e-01],\n", - " [ 9.1281e-02, -7.6115e-18, 5.6728e-01, 2.8687e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.445)─────────────╭C───RX(1.649)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.146)──│───╭X──────────RX(5.879)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.981)──╰X──╰C──────────RX(4.95)───┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 136 \tAcc: 0.25 \tLoss: 1.884 \tMean Loss: 2.047 \tMean Acc: 0.3\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 8.3996e-02, -1.2952e-17, 7.8024e-02, 1.0949e-02],\n", - " [ 8.3996e-02, 4.6210e-18, 1.5009e-01, 7.2279e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 137 \tAcc: 0.0 \tLoss: 1.942 \tMean Loss: 2.031 \tMean Acc: 0.3\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-4.4922e-02, -9.3938e-17, 4.6470e-02, -6.1945e-02],\n", - " [-4.4922e-02, -4.4697e-17, 1.6518e-01, -4.0842e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 138 \tAcc: 0.5 \tLoss: 1.706 \tMean Loss: 2.008 \tMean Acc: 0.317\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.8664e-01, -9.2712e-18, -1.9314e-01, -3.0754e-01],\n", - " [-1.8664e-01, -7.9892e-17, -7.5509e-01, -5.0506e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 139 \tAcc: 0.25 \tLoss: 1.844 \tMean Loss: 2.001 \tMean Acc: 0.317\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-6.5843e-02, 2.7222e-17, -7.3150e-02, -9.1781e-02],\n", - " [-6.5843e-02, 1.3604e-17, -1.5898e-01, -2.1776e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 140 \tAcc: 0.25 \tLoss: 1.993 \tMean Loss: 2.006 \tMean Acc: 0.308\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.4936e-02, 4.6237e-18, 1.9854e-01, 1.6409e-01],\n", - " [ 1.4936e-02, -2.1884e-17, 6.0725e-01, 3.4939e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.452)─────────────╭C───RX(1.648)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.154)──│───╭X──────────RX(5.887)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.987)──╰X──╰C──────────RX(4.964)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 141 \tAcc: 0.25 \tLoss: 2.26 \tMean Loss: 2.021 \tMean Acc: 0.3\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.7950e-02, -3.1497e-17, 2.3268e-02, 2.8300e-02],\n", - " [ 1.7950e-02, 4.4442e-18, 1.0057e-01, 1.1604e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 142 \tAcc: 0.5 \tLoss: 1.75 \tMean Loss: 2.013 \tMean Acc: 0.308\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-5.9591e-02, -2.6626e-17, 2.1132e-02, -8.2814e-02],\n", - " [-5.9591e-02, 5.9316e-18, -1.0460e-01, -5.6867e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 143 \tAcc: 0.75 \tLoss: 1.423 \tMean Loss: 1.998 \tMean Acc: 0.317\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-4.2712e-02, 7.3929e-18, -1.1957e-01, -2.6749e-01],\n", - " [-4.2712e-02, -4.9115e-18, -4.3410e-01, -4.4106e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 144 \tAcc: 0.25 \tLoss: 2.159 \tMean Loss: 2.001 \tMean Acc: 0.317\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.1662e-01, -5.8088e-18, 5.3703e-02, 1.3233e-01],\n", - " [ 1.1662e-01, -9.0244e-18, 2.4190e-01, 1.8321e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 145 \tAcc: 0.25 \tLoss: 2.07 \tMean Loss: 2.012 \tMean Acc: 0.3\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.1724e-01, -1.6747e-17, 1.7974e-01, 7.0963e-02],\n", - " [ 1.1724e-01, -1.8813e-17, 4.6336e-01, 1.6939e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.453)─────────────╭C───RX(1.646)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.164)──│───╭X──────────RX(5.896)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.994)──╰X──╰C──────────RX(4.976)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 146 \tAcc: 0.5 \tLoss: 1.772 \tMean Loss: 2.015 \tMean Acc: 0.292\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-8.0912e-02, -3.9476e-17, -2.0909e-02, -8.8304e-02],\n", - " [-8.0912e-02, 4.0474e-17, -1.4117e-01, -1.3350e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 147 \tAcc: 0.25 \tLoss: 1.759 \tMean Loss: 1.999 \tMean Acc: 0.3\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-6.0159e-02, -6.3335e-18, -2.5243e-02, -5.7913e-02],\n", - " [-6.0159e-02, -6.4821e-17, -9.7089e-02, -2.5514e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 148 \tAcc: 0.25 \tLoss: 2.06 \tMean Loss: 2.007 \tMean Acc: 0.292\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.5483e-02, 5.0263e-17, -1.4656e-01, -6.6057e-02],\n", - " [ 1.5483e-02, 2.1089e-17, -3.0138e-01, -1.9813e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 149 \tAcc: 0.25 \tLoss: 1.909 \tMean Loss: 1.999 \tMean Acc: 0.3\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.6238e-01, -3.4928e-17, 1.6441e-01, 1.7907e-01],\n", - " [ 1.6238e-01, -8.9011e-19, 2.4647e-01, 2.2835e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 150 \tAcc: 0.25 \tLoss: 2.349 \tMean Loss: 1.993 \tMean Acc: 0.308\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.3378e-01, -3.9331e-18, 1.1353e-01, 1.4225e-01],\n", - " [ 1.3378e-01, 1.5834e-17, 4.3216e-01, 2.0073e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.45)──────────────╭C───RX(1.643)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.162)──│───╭X──────────RX(5.895)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.999)──╰X──╰C──────────RX(4.981)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 151 \tAcc: 0.25 \tLoss: 1.635 \tMean Loss: 1.983 \tMean Acc: 0.308\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.1038e-02, -8.1852e-17, -1.0513e-01, -8.4046e-02],\n", - " [ 1.1038e-02, -1.2867e-18, -3.8770e-01, -1.9484e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 152 \tAcc: 0.5 \tLoss: 2.51 \tMean Loss: 2.013 \tMean Acc: 0.3\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-2.0645e-02, 1.9658e-17, -5.7582e-03, -3.1209e-02],\n", - " [-2.0645e-02, 4.7624e-17, 1.1882e-01, 2.8914e-03]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 153 \tAcc: 0.25 \tLoss: 2.574 \tMean Loss: 2.037 \tMean Acc: 0.3\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.5422e-01, -2.0449e-17, 1.1569e-01, 2.9823e-01],\n", - " [ 1.5422e-01, -3.5326e-17, 7.3093e-01, 2.8248e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 154 \tAcc: 0.5 \tLoss: 1.677 \tMean Loss: 2.015 \tMean Acc: 0.317\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.5884e-01, 4.2064e-17, -1.4919e-01, -1.6213e-01],\n", - " [-1.5884e-01, 7.2631e-18, -3.3689e-01, -2.1546e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 155 \tAcc: 0.0 \tLoss: 2.668 \tMean Loss: 2.024 \tMean Acc: 0.308\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 8.6666e-02, -1.5863e-17, 1.0141e-01, 9.6485e-02],\n", - " [ 8.6666e-02, -1.7766e-17, 2.4302e-01, 3.4863e-02]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.448)─────────────╭C───RX(1.635)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.147)──│───╭X──────────RX(5.88)───┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.998)──╰X──╰C──────────RX(4.982)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 156 \tAcc: 0.0 \tLoss: 2.693 \tMean Loss: 2.044 \tMean Acc: 0.292\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 4.1760e-04, -3.9954e-17, 9.4196e-02, 3.5519e-02],\n", - " [ 4.1760e-04, -4.2010e-17, 3.0998e-01, 1.1374e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 157 \tAcc: 0.0 \tLoss: 2.518 \tMean Loss: 2.08 \tMean Acc: 0.275\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.5926e-01, -3.7412e-18, 6.1709e-02, 1.7059e-01],\n", - " [ 1.5926e-01, 9.9980e-17, 4.3124e-01, 1.2822e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 158 \tAcc: 0.25 \tLoss: 2.415 \tMean Loss: 2.09 \tMean Acc: 0.283\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.2205e-01, 1.1504e-16, 2.2534e-01, 2.6159e-01],\n", - " [ 1.2205e-01, -1.6888e-17, 7.8646e-01, 4.4921e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 159 \tAcc: 0.75 \tLoss: 1.51 \tMean Loss: 2.07 \tMean Acc: 0.3\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.2521e-01, -5.5411e-17, -1.8586e-01, -2.0586e-01],\n", - " [-1.2521e-01, -2.2956e-17, -4.8978e-01, -4.1618e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 160 \tAcc: 0.5 \tLoss: 1.633 \tMean Loss: 2.071 \tMean Acc: 0.3\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-5.6751e-02, -4.3722e-17, 2.1896e-02, -3.0053e-02],\n", - " [-5.6751e-02, 5.2579e-17, 1.1519e-01, -5.5071e-02]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.438)─────────────╭C───RX(1.613)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.128)──│───╭X──────────RX(5.861)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.991)──╰X──╰C──────────RX(4.974)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 161 \tAcc: 0.5 \tLoss: 1.838 \tMean Loss: 2.044 \tMean Acc: 0.317\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-3.6420e-02, 4.6719e-17, 1.0053e-01, 4.5695e-02],\n", - " [-3.6420e-02, 5.1212e-18, 2.6151e-01, 1.2217e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 162 \tAcc: 0.5 \tLoss: 1.799 \tMean Loss: 2.015 \tMean Acc: 0.333\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-5.4926e-02, 1.0398e-17, -1.0410e-01, -2.0906e-01],\n", - " [-5.4926e-02, 4.0967e-17, -5.2412e-01, -3.1858e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 163 \tAcc: 0.5 \tLoss: 1.67 \tMean Loss: 2.005 \tMean Acc: 0.333\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-4.6644e-03, -4.6750e-17, 7.8010e-02, 4.8418e-03],\n", - " [-4.6644e-03, 6.5380e-18, 1.1526e-01, 7.1980e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 164 \tAcc: 0.0 \tLoss: 2.661 \tMean Loss: 2.04 \tMean Acc: 0.317\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.5920e-01, 9.3039e-17, -1.6931e-02, 1.8575e-01],\n", - " [ 1.5920e-01, 5.7604e-17, 3.5062e-01, 1.1909e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 165 \tAcc: 0.0 \tLoss: 2.316 \tMean Loss: 2.033 \tMean Acc: 0.308\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[1.1877e-01, 5.9537e-17, 1.4521e-02, 1.3937e-01],\n", - " [1.1877e-01, 5.6576e-17, 1.6128e-02, 2.1317e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.43)──────────────╭C───RX(1.597)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.119)──│───╭X──────────RX(5.851)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.987)──╰X──╰C──────────RX(4.972)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 166 \tAcc: 0.0 \tLoss: 2.591 \tMean Loss: 2.057 \tMean Acc: 0.3\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.1485e-01, -1.5516e-16, -3.4746e-03, 3.1921e-01],\n", - " [ 2.1485e-01, 9.0437e-18, 4.1407e-01, 2.9521e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 167 \tAcc: 0.25 \tLoss: 1.804 \tMean Loss: 2.052 \tMean Acc: 0.308\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.7327e-02, 7.0581e-18, -7.3405e-02, -3.8951e-02],\n", - " [ 2.7327e-02, 3.9170e-17, -2.6589e-02, -1.1225e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 168 \tAcc: 0.5 \tLoss: 1.681 \tMean Loss: 2.051 \tMean Acc: 0.308\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-3.3638e-02, -2.4219e-17, 1.4173e-03, -8.1021e-03],\n", - " [-3.3638e-02, -1.4278e-17, 1.9345e-02, -6.8364e-03]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 169 \tAcc: 0.5 \tLoss: 1.815 \tMean Loss: 2.05 \tMean Acc: 0.317\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-2.7072e-01, -2.4340e-17, -2.3848e-01, -5.0892e-01],\n", - " [-2.7072e-01, 6.2700e-17, -1.2042e+00, -8.3287e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 170 \tAcc: 0.25 \tLoss: 2.037 \tMean Loss: 2.052 \tMean Acc: 0.317\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-6.9012e-02, -1.1853e-17, 9.4481e-03, 2.1008e-03],\n", - " [-6.9012e-02, -1.6660e-17, -3.0145e-01, 1.3877e-02]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)───────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.431)────────────╭C───RX(1.588)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.1)───│───╭X──────────RX(5.832)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.98)──╰X──╰C──────────RX(4.97)───┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 171 \tAcc: 0.5 \tLoss: 2.045 \tMean Loss: 2.045 \tMean Acc: 0.325\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.5688e-01, 4.5175e-17, 5.8517e-03, -1.3967e-01],\n", - " [-1.5688e-01, -3.4700e-17, -2.9236e-01, -1.4772e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 172 \tAcc: 0.75 \tLoss: 1.456 \tMean Loss: 2.035 \tMean Acc: 0.333\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.0194e-01, 1.1718e-17, -1.3494e-01, -2.0024e-01],\n", - " [-1.0194e-01, 1.6713e-16, -4.0494e-01, -3.3844e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 173 \tAcc: 0.25 \tLoss: 1.97 \tMean Loss: 2.053 \tMean Acc: 0.317\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-6.1304e-02, -7.9377e-18, -3.6345e-03, -2.6171e-03],\n", - " [-6.1304e-02, 8.6160e-18, 5.6254e-02, 8.0346e-03]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 174 \tAcc: 0.5 \tLoss: 1.62 \tMean Loss: 2.035 \tMean Acc: 0.325\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-2.0859e-01, 4.1935e-17, -1.5445e-01, -3.3143e-01],\n", - " [-2.0859e-01, 1.3147e-16, -6.2910e-01, -4.2090e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 175 \tAcc: 0.25 \tLoss: 1.941 \tMean Loss: 2.031 \tMean Acc: 0.325\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.9979e-02, 1.8744e-18, 1.3647e-02, 1.2840e-02],\n", - " [-1.9979e-02, -2.7596e-17, -1.5263e-01, 2.4950e-02]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.441)─────────────╭C───RX(1.607)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.121)──│───╭X──────────RX(5.853)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.991)──╰X──╰C──────────RX(4.992)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 176 \tAcc: 0.0 \tLoss: 2.982 \tMean Loss: 2.071 \tMean Acc: 0.308\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.4096e-02, -1.1852e-16, 1.2047e-02, 4.4475e-02],\n", - " [ 2.4096e-02, 8.6594e-18, 5.2801e-02, 1.2097e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 177 \tAcc: 0.5 \tLoss: 1.67 \tMean Loss: 2.068 \tMean Acc: 0.317\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.4473e-01, -5.6311e-17, -2.6514e-01, -2.8268e-01],\n", - " [-1.4473e-01, -8.5599e-17, -7.1642e-01, -5.2525e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 178 \tAcc: 0.5 \tLoss: 1.581 \tMean Loss: 2.052 \tMean Acc: 0.325\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[1.2499e-01, 1.6798e-17, 1.5162e-01, 1.9635e-01],\n", - " [1.2499e-01, 6.0623e-17, 6.9893e-01, 3.4571e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 179 \tAcc: 0.75 \tLoss: 1.327 \tMean Loss: 2.033 \tMean Acc: 0.342\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-7.2831e-02, -3.7946e-17, -2.1789e-03, -1.1837e-01],\n", - " [-7.2831e-02, -1.2539e-17, -8.3181e-02, -9.8425e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 180 \tAcc: 0.0 \tLoss: 2.317 \tMean Loss: 2.032 \tMean Acc: 0.333\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 8.8515e-02, 6.3503e-17, 1.2989e-01, 1.1844e-01],\n", - " [ 8.8515e-02, -9.7450e-17, 5.0745e-02, 1.5347e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.453)─────────────╭C───RX(1.626)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.143)──│───╭X──────────RX(5.876)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(2.004)──╰X──╰C──────────RX(5.013)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 181 \tAcc: 0.0 \tLoss: 2.429 \tMean Loss: 2.058 \tMean Acc: 0.325\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[5.3502e-04, 2.8174e-17, 1.5413e-01, 4.6903e-02],\n", - " [5.3502e-04, 3.0037e-17, 1.7296e-02, 1.3192e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 182 \tAcc: 0.25 \tLoss: 2.418 \tMean Loss: 2.055 \tMean Acc: 0.317\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.0978e-03, 1.3651e-16, 3.1293e-01, 1.7575e-01],\n", - " [-1.0978e-03, 1.2211e-16, 4.0801e-01, 4.6939e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 183 \tAcc: 0.5 \tLoss: 1.69 \tMean Loss: 2.026 \tMean Acc: 0.325\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 9.7501e-02, -1.4458e-17, 7.4741e-02, 1.5916e-01],\n", - " [ 9.7501e-02, -2.7782e-17, 1.2450e-01, 1.7571e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 184 \tAcc: 0.0 \tLoss: 1.849 \tMean Loss: 2.031 \tMean Acc: 0.308\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.7786e-02, 6.8823e-17, -1.6341e-01, -1.6155e-01],\n", - " [ 1.7786e-02, 1.4396e-16, -6.2429e-01, -3.0238e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 185 \tAcc: 0.5 \tLoss: 1.778 \tMean Loss: 2.002 \tMean Acc: 0.325\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 3.8092e-02, -6.8047e-17, 1.6028e-02, 7.3127e-02],\n", - " [ 3.8092e-02, -2.3776e-17, 9.1662e-02, 7.3816e-02]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.444)─────────────╭C───RX(1.634)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.15)───│───╭X──────────RX(5.882)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(2.005)──╰X──╰C──────────RX(5.012)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 186 \tAcc: 0.25 \tLoss: 2.441 \tMean Loss: 1.993 \tMean Acc: 0.333\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 5.7365e-03, 2.6602e-17, 1.0606e-03, -3.0849e-02],\n", - " [ 5.7365e-03, -4.7885e-17, -7.3154e-02, 2.2734e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 187 \tAcc: 0.25 \tLoss: 1.961 \tMean Loss: 1.975 \tMean Acc: 0.342\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-9.3245e-03, 1.1311e-17, 1.4976e-01, 1.0858e-01],\n", - " [-9.3245e-03, 2.0012e-18, 1.8423e-01, 1.5956e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 188 \tAcc: 0.0 \tLoss: 1.851 \tMean Loss: 1.956 \tMean Acc: 0.333\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-7.6766e-03, 1.4771e-17, 1.4533e-01, 1.2284e-02],\n", - " [-7.6766e-03, 5.9018e-18, 1.4409e-01, 5.3542e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 189 \tAcc: 0.5 \tLoss: 1.594 \tMean Loss: 1.959 \tMean Acc: 0.325\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 6.8077e-02, 3.4218e-18, 9.4728e-03, 2.0936e-02],\n", - " [ 6.8077e-02, 3.1110e-18, 1.8837e-02, -6.7279e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 190 \tAcc: 0.25 \tLoss: 1.956 \tMean Loss: 1.97 \tMean Acc: 0.317\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.4342e-02, 5.0404e-18, -8.0357e-02, 4.0170e-02],\n", - " [ 1.4342e-02, -9.6690e-18, 3.0305e-02, -8.1666e-02]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.432)─────────────╭C───RX(1.638)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.148)──│───╭X──────────RX(5.881)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(2.003)──╰X──╰C──────────RX(5.008)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 191 \tAcc: 0.5 \tLoss: 1.568 \tMean Loss: 1.961 \tMean Acc: 0.317\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.2895e-01, 1.9999e-17, -1.0464e-01, -3.0537e-01],\n", - " [-1.2895e-01, 6.9133e-17, -3.4968e-01, -3.6621e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 192 \tAcc: 0.25 \tLoss: 2.144 \tMean Loss: 1.972 \tMean Acc: 0.308\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[1.7015e-01, 4.2333e-17, 2.0392e-01, 2.6820e-01],\n", - " [1.7015e-01, 7.5626e-18, 3.9607e-01, 2.9098e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 193 \tAcc: 0.25 \tLoss: 1.655 \tMean Loss: 1.972 \tMean Acc: 0.3\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-6.3890e-02, -1.5860e-17, 8.1498e-02, -5.1551e-03],\n", - " [-6.3890e-02, -1.3268e-18, 8.3558e-02, 7.4341e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 194 \tAcc: 0.5 \tLoss: 1.799 \tMean Loss: 1.943 \tMean Acc: 0.317\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 5.3057e-02, -2.0965e-17, -7.1675e-02, 1.2533e-02],\n", - " [ 5.3057e-02, 2.4302e-17, 1.9551e-02, -4.2680e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 195 \tAcc: 0.5 \tLoss: 1.691 \tMean Loss: 1.922 \tMean Acc: 0.333\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-2.1805e-01, -8.7255e-17, -3.8570e-01, -3.7073e-01],\n", - " [-2.1805e-01, 8.4093e-17, -8.4112e-01, -5.9358e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)───────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.424)─────────────╭C───RX(1.64)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.148)──│───╭X─────────RX(5.881)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(2.004)──╰X──╰C─────────RX(5.012)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 196 \tAcc: 0.25 \tLoss: 1.736 \tMean Loss: 1.894 \tMean Acc: 0.342\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.1460e-01, 1.4029e-17, 1.1570e-01, 2.2839e-01],\n", - " [ 1.1460e-01, -1.5470e-17, 2.6294e-01, 3.2799e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 197 \tAcc: 0.5 \tLoss: 1.983 \tMean Loss: 1.9 \tMean Acc: 0.35\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.8509e-02, 2.4707e-17, 9.7723e-02, 6.3543e-02],\n", - " [ 2.8509e-02, -2.5855e-17, 2.9389e-01, 1.2782e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 198 \tAcc: 0.5 \tLoss: 1.528 \tMean Loss: 1.894 \tMean Acc: 0.35\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-2.2089e-02, 5.2767e-17, 9.8570e-04, -6.6284e-02],\n", - " [-2.2089e-02, 3.7348e-17, -2.3886e-01, -3.2097e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 199 \tAcc: 0.5 \tLoss: 1.665 \tMean Loss: 1.889 \tMean Acc: 0.35\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[3.2779e-02, 2.4882e-17, 1.0628e-01, 6.3192e-02],\n", - " [3.2779e-02, 2.3785e-17, 2.3975e-01, 1.6373e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 200 \tAcc: 0.5 \tLoss: 1.851 \tMean Loss: 1.883 \tMean Acc: 0.358\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-7.0434e-02, -4.8016e-18, 4.5332e-02, 4.1708e-02],\n", - " [-7.0434e-02, -3.8766e-17, 2.2686e-02, 1.3176e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.42)──────────────╭C───RX(1.643)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.148)──│───╭X──────────RX(5.881)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(2.004)──╰X──╰C──────────RX(5.011)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 201 \tAcc: 0.25 \tLoss: 2.086 \tMean Loss: 1.885 \tMean Acc: 0.35\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 6.2328e-02, -5.2674e-18, 1.8217e-01, 2.0829e-01],\n", - " [ 6.2328e-02, 7.3459e-17, 5.4505e-01, 3.5736e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 202 \tAcc: 0.25 \tLoss: 1.686 \tMean Loss: 1.892 \tMean Acc: 0.333\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-5.7636e-02, -4.9796e-17, -1.0619e-01, -1.6785e-01],\n", - " [-5.7636e-02, -1.5392e-17, -1.3603e-01, -2.3339e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 203 \tAcc: 0.25 \tLoss: 1.965 \tMean Loss: 1.892 \tMean Acc: 0.333\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-6.9048e-02, 2.7943e-17, -5.3834e-02, -5.5355e-02],\n", - " [-6.9048e-02, 6.2339e-18, 1.2048e-01, -6.7623e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 204 \tAcc: 0.5 \tLoss: 1.682 \tMean Loss: 1.894 \tMean Acc: 0.333\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.0871e-01, 9.5597e-19, 1.1132e-01, 1.6150e-01],\n", - " [ 1.0871e-01, -1.8138e-17, 1.6846e-01, 2.8976e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 205 \tAcc: 0.75 \tLoss: 1.267 \tMean Loss: 1.872 \tMean Acc: 0.35\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.6692e-01, -5.4140e-17, -2.0985e-01, -3.2985e-01],\n", - " [-1.6692e-01, -2.8604e-17, -4.9898e-01, -4.1634e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.412)─────────────╭C───RX(1.637)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.152)──│───╭X──────────RX(5.884)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(2.002)──╰X──╰C──────────RX(5.004)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 206 \tAcc: 0.25 \tLoss: 1.732 \tMean Loss: 1.83 \tMean Acc: 0.358\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-4.5574e-02, 5.1252e-17, -1.3835e-02, -5.9065e-02],\n", - " [-4.5574e-02, 2.3717e-18, -5.4147e-02, -9.7604e-03]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 207 \tAcc: 0.5 \tLoss: 1.82 \tMean Loss: 1.835 \tMean Acc: 0.358\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 3.0648e-02, -3.6512e-17, -3.6529e-02, 1.0603e-01],\n", - " [ 3.0648e-02, -7.1362e-18, -4.4557e-03, 4.4603e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 208 \tAcc: 0.5 \tLoss: 1.826 \tMean Loss: 1.843 \tMean Acc: 0.358\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.4690e-01, -1.8564e-17, -2.1793e-01, -4.0390e-01],\n", - " [-1.4690e-01, 1.1607e-16, -6.1004e-01, -4.9255e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 209 \tAcc: 0.5 \tLoss: 1.476 \tMean Loss: 1.848 \tMean Acc: 0.35\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.3042e-01, 3.0339e-17, -4.7160e-02, -2.6425e-01],\n", - " [-1.3042e-01, -1.2261e-18, -3.3436e-01, -2.9908e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 210 \tAcc: 0.5 \tLoss: 2.02 \tMean Loss: 1.838 \tMean Acc: 0.367\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.2478e-01, 4.6652e-17, 1.8558e-01, 8.3685e-02],\n", - " [ 1.2478e-01, -2.2239e-17, 3.6008e-01, 1.3024e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.417)─────────────╭C───RX(1.644)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.167)──│───╭X──────────RX(5.899)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(2.012)──╰X──╰C──────────RX(5.012)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 211 \tAcc: 0.0 \tLoss: 2.02 \tMean Loss: 1.825 \tMean Acc: 0.367\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.2600e-02, 2.8881e-17, -6.8680e-02, 1.5576e-01],\n", - " [ 1.2600e-02, 2.3910e-17, 1.0186e-01, 2.0101e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 212 \tAcc: 0.0 \tLoss: 2.293 \tMean Loss: 1.82 \tMean Acc: 0.358\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.8268e-01, -9.2542e-17, 1.9413e-01, 4.3426e-01],\n", - " [ 1.8268e-01, -8.1702e-17, 6.3450e-01, 5.3159e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 213 \tAcc: 0.25 \tLoss: 2.338 \tMean Loss: 1.842 \tMean Acc: 0.35\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.9702e-02, -5.2579e-17, 6.8926e-02, -6.2246e-04],\n", - " [-1.9702e-02, -3.1495e-17, -7.2451e-02, 3.4513e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 214 \tAcc: 0.25 \tLoss: 1.959 \tMean Loss: 1.846 \tMean Acc: 0.358\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[1.2710e-01, 1.4701e-17, 7.2454e-02, 2.0368e-01],\n", - " [1.2710e-01, 3.8548e-18, 6.0693e-01, 1.8835e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 215 \tAcc: 0.25 \tLoss: 1.557 \tMean Loss: 1.838 \tMean Acc: 0.35\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-3.7046e-02, 5.9761e-17, 1.4014e-01, 3.1835e-02],\n", - " [-3.7046e-02, -1.5185e-17, 3.1392e-01, 1.5267e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.413)─────────────╭C───RX(1.637)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.166)──│───╭X──────────RX(5.899)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(2.01)───╰X──╰C──────────RX(5.01)───┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 216 \tAcc: 0.25 \tLoss: 1.865 \tMean Loss: 1.819 \tMean Acc: 0.35\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.1433e-03, 6.4276e-17, -1.3724e-02, -2.9940e-02],\n", - " [ 2.1433e-03, 2.2867e-17, 2.0930e-01, -6.1648e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 217 \tAcc: 0.25 \tLoss: 2.243 \tMean Loss: 1.828 \tMean Acc: 0.35\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-2.5606e-01, -3.3721e-17, -3.1831e-01, -4.2875e-01],\n", - " [-2.5606e-01, -8.8998e-17, -8.9675e-01, -5.3989e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 218 \tAcc: 0.75 \tLoss: 0.815 \tMean Loss: 1.794 \tMean Acc: 0.375\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.2037e-02, -4.7607e-17, 8.8046e-02, -3.2717e-02],\n", - " [-1.2037e-02, -1.1952e-17, 5.4728e-02, -3.2592e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 219 \tAcc: 0.5 \tLoss: 1.475 \tMean Loss: 1.79 \tMean Acc: 0.375\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.1662e-01, -1.6338e-17, -5.1790e-02, 1.3647e-01],\n", - " [ 1.1662e-01, 5.3798e-17, 2.4765e-01, 8.8923e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 220 \tAcc: 0.5 \tLoss: 1.395 \tMean Loss: 1.771 \tMean Acc: 0.383\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-7.4785e-02, 7.0830e-18, -5.4802e-03, -3.1097e-02],\n", - " [-7.4785e-02, -8.1112e-18, -3.0303e-01, -5.2864e-02]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.411)─────────────╭C───RX(1.631)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.172)──│───╭X──────────RX(5.904)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(2.011)──╰X──╰C──────────RX(5.012)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 221 \tAcc: 0.0 \tLoss: 2.944 \tMean Loss: 1.817 \tMean Acc: 0.367\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.2429e-02, -5.7883e-17, 1.0134e-01, 1.2141e-01],\n", - " [ 2.2429e-02, -7.0149e-17, 2.3171e-01, 2.0984e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 222 \tAcc: 0.5 \tLoss: 1.341 \tMean Loss: 1.79 \tMean Acc: 0.375\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.3707e-01, 5.2648e-18, -1.6001e-01, -3.0645e-01],\n", - " [-1.3707e-01, -1.1825e-16, -4.8336e-01, -3.8632e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 223 \tAcc: 0.5 \tLoss: 1.855 \tMean Loss: 1.797 \tMean Acc: 0.383\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[1.1191e-01, 7.0874e-17, 1.2811e-01, 6.5640e-02],\n", - " [1.1191e-01, 8.0012e-17, 7.3410e-02, 2.5691e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 224 \tAcc: 0.75 \tLoss: 1.461 \tMean Loss: 1.786 \tMean Acc: 0.392\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[5.6876e-02, 1.0656e-17, 1.0789e-01, 6.6988e-02],\n", - " [5.6876e-02, 2.1905e-17, 6.3537e-02, 1.4460e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 225 \tAcc: 0.0 \tLoss: 2.634 \tMean Loss: 1.817 \tMean Acc: 0.375\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 8.8522e-02, -5.7275e-17, -3.8797e-02, 3.8501e-02],\n", - " [ 8.8522e-02, -4.3003e-17, 4.4912e-02, 7.2745e-03]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.409)─────────────╭C───RX(1.631)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.175)──│───╭X──────────RX(5.908)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(2.014)──╰X──╰C──────────RX(5.015)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 226 \tAcc: 0.75 \tLoss: 1.077 \tMean Loss: 1.795 \tMean Acc: 0.392\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.9164e-01, -1.0278e-16, -2.6556e-01, -3.2437e-01],\n", - " [-1.9164e-01, -1.2032e-16, -6.4638e-01, -3.4913e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 227 \tAcc: 0.75 \tLoss: 1.491 \tMean Loss: 1.779 \tMean Acc: 0.4\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-5.5724e-02, 3.3994e-17, -5.1159e-02, 4.3335e-02],\n", - " [-5.5724e-02, -2.6080e-18, -1.2506e-01, -6.7876e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 228 \tAcc: 0.25 \tLoss: 2.383 \tMean Loss: 1.807 \tMean Acc: 0.392\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.5348e-01, -4.7270e-18, 6.7018e-02, 4.2865e-01],\n", - " [ 2.5348e-01, 8.4643e-17, 6.6321e-01, 3.3918e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 229 \tAcc: 0.5 \tLoss: 1.527 \tMean Loss: 1.803 \tMean Acc: 0.392\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.9247e-01, -1.3850e-16, 5.1610e-03, -3.4234e-01],\n", - " [-1.9247e-01, -1.9781e-16, -4.8554e-01, -2.2656e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 230 \tAcc: 0.25 \tLoss: 2.09 \tMean Loss: 1.811 \tMean Acc: 0.383\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 4.9872e-02, 1.1400e-16, -1.4517e-01, 1.5201e-02],\n", - " [ 4.9872e-02, -7.5757e-17, -1.4832e-01, -1.2280e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.416)─────────────╭C───RX(1.638)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.179)──│───╭X──────────RX(5.912)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(2.018)──╰X──╰C──────────RX(5.023)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 231 \tAcc: 0.0 \tLoss: 1.998 \tMean Loss: 1.808 \tMean Acc: 0.375\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[1.5846e-01, 2.7119e-17, 7.3059e-02, 3.0920e-01],\n", - " [1.5846e-01, 1.3455e-16, 3.5454e-01, 2.1610e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 232 \tAcc: 0.25 \tLoss: 2.078 \tMean Loss: 1.821 \tMean Acc: 0.375\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-9.2645e-02, -1.3770e-18, -8.9001e-03, -1.7105e-01],\n", - " [-9.2645e-02, -4.0356e-17, -1.4854e-02, -1.5912e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 233 \tAcc: 0.25 \tLoss: 2.107 \tMean Loss: 1.826 \tMean Acc: 0.375\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-3.6641e-02, 3.8936e-18, 1.3179e-01, 5.8849e-02],\n", - " [-3.6641e-02, -2.3598e-17, 2.8490e-01, 2.3509e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 234 \tAcc: 0.5 \tLoss: 1.505 \tMean Loss: 1.82 \tMean Acc: 0.375\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 6.9436e-02, -4.7408e-17, 1.7059e-01, 1.6212e-01],\n", - " [ 6.9436e-02, 6.7611e-18, 7.8050e-02, 3.0507e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 235 \tAcc: 0.5 \tLoss: 1.807 \tMean Loss: 1.838 \tMean Acc: 0.367\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-8.1032e-02, 1.1595e-16, -1.3101e-01, -1.2529e-01],\n", - " [-8.1032e-02, 5.3603e-17, -2.5869e-01, -3.0844e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.417)─────────────╭C───RX(1.639)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.178)──│───╭X──────────RX(5.91)───┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(2.016)──╰X──╰C──────────RX(5.024)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 236 \tAcc: 0.25 \tLoss: 2.488 \tMean Loss: 1.863 \tMean Acc: 0.367\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.4399e-01, 5.1770e-17, -6.0682e-02, 1.8653e-01],\n", - " [ 1.4399e-01, 5.0572e-18, 1.1199e-01, 6.0703e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 237 \tAcc: 0.75 \tLoss: 1.054 \tMean Loss: 1.837 \tMean Acc: 0.375\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.7242e-01, -9.3042e-18, -1.0716e-01, -2.4167e-01],\n", - " [-1.7242e-01, 2.7385e-17, -4.6536e-01, -1.9818e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 238 \tAcc: 0.25 \tLoss: 2.28 \tMean Loss: 1.853 \tMean Acc: 0.367\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.1648e-01, -3.7833e-17, 1.0352e-01, 2.7228e-01],\n", - " [ 2.1648e-01, -2.1470e-18, 3.7744e-01, 2.3194e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 239 \tAcc: 0.25 \tLoss: 1.736 \tMean Loss: 1.861 \tMean Acc: 0.358\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-2.8645e-03, 3.5655e-17, -1.3174e-01, -1.2890e-01],\n", - " [-2.8645e-03, 5.1898e-17, -3.2451e-01, -1.7524e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 240 \tAcc: 0.75 \tLoss: 1.182 \tMean Loss: 1.833 \tMean Acc: 0.367\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-2.0773e-02, 2.4712e-17, -6.6253e-02, -1.4824e-01],\n", - " [-2.0773e-02, 8.9342e-17, -1.2076e-01, -2.5669e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.421)─────────────╭C───RX(1.642)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.173)──│───╭X──────────RX(5.906)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(2.013)──╰X──╰C──────────RX(5.026)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 241 \tAcc: 0.0 \tLoss: 2.859 \tMean Loss: 1.861 \tMean Acc: 0.367\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 3.1727e-01, -1.5095e-17, 3.9349e-01, 3.5656e-01],\n", - " [ 3.1727e-01, 2.0169e-16, 8.1164e-01, 5.4946e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 242 \tAcc: 1.0 \tLoss: 1.083 \tMean Loss: 1.821 \tMean Acc: 0.4\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.2338e-01, 1.2472e-17, 7.8715e-02, 8.7631e-03],\n", - " [-1.2338e-01, -1.5666e-18, 9.1450e-02, 1.1527e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 243 \tAcc: 0.0 \tLoss: 2.237 \tMean Loss: 1.818 \tMean Acc: 0.392\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 3.2900e-03, 9.0874e-17, 3.2942e-03, -6.6717e-02],\n", - " [ 3.2900e-03, -3.2238e-17, -4.9394e-03, -9.5547e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 244 \tAcc: 0.0 \tLoss: 2.013 \tMean Loss: 1.819 \tMean Acc: 0.383\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-9.7392e-02, 1.5162e-17, -2.6512e-01, -1.4911e-01],\n", - " [-9.7392e-02, -6.9865e-18, -5.1888e-01, -4.1571e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 245 \tAcc: 0.25 \tLoss: 2.191 \tMean Loss: 1.84 \tMean Acc: 0.383\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-4.0224e-02, -9.5197e-17, -2.9480e-01, -2.0521e-01],\n", - " [-4.0224e-02, 5.3395e-17, -2.6208e-01, -6.0746e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.418)─────────────╭C───RX(1.639)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.161)──│───╭X──────────RX(5.894)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(2.01)───╰X──╰C──────────RX(5.028)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 246 \tAcc: 0.0 \tLoss: 2.23 \tMean Loss: 1.853 \tMean Acc: 0.375\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.5331e-01, -5.2209e-17, 7.8402e-02, 4.3719e-01],\n", - " [ 2.5331e-01, 4.1145e-18, 4.2691e-01, 4.3257e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 247 \tAcc: 0.0 \tLoss: 2.523 \tMean Loss: 1.862 \tMean Acc: 0.367\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.2837e-01, -2.2181e-17, 7.7972e-02, 1.4116e-01],\n", - " [ 1.2837e-01, 1.4481e-17, 3.2418e-02, 1.8756e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 248 \tAcc: 0.5 \tLoss: 1.594 \tMean Loss: 1.888 \tMean Acc: 0.358\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.7340e-01, 3.0829e-17, -2.6827e-02, -3.2701e-01],\n", - " [-1.7340e-01, 6.9479e-17, -1.8658e-01, -2.3410e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 249 \tAcc: 0.25 \tLoss: 1.744 \tMean Loss: 1.897 \tMean Acc: 0.35\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.2862e-01, 4.8178e-17, 1.8652e-01, 2.2135e-01],\n", - " [ 2.2862e-01, -8.2424e-17, 3.5895e-01, 3.0786e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 250 \tAcc: 0.75 \tLoss: 1.267 \tMean Loss: 1.893 \tMean Acc: 0.358\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.8792e-01, -2.9228e-16, -3.0889e-01, -2.7740e-01],\n", - " [-1.8792e-01, -6.3933e-18, -5.8011e-01, -5.0849e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.423)─────────────╭C───RX(1.639)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.146)──│───╭X──────────RX(5.878)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(2.006)──╰X──╰C──────────RX(5.033)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 251 \tAcc: 0.5 \tLoss: 2.027 \tMean Loss: 1.862 \tMean Acc: 0.375\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.9901e-01, 9.5394e-19, -5.6961e-02, 2.8590e-01],\n", - " [ 1.9901e-01, 2.8146e-17, 4.8387e-01, 1.6577e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 252 \tAcc: 0.25 \tLoss: 2.281 \tMean Loss: 1.893 \tMean Acc: 0.367\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.5392e-01, 1.7197e-16, 2.4043e-01, 5.2652e-01],\n", - " [ 2.5392e-01, -7.6996e-17, 9.1671e-01, 6.3626e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 253 \tAcc: 0.75 \tLoss: 1.492 \tMean Loss: 1.881 \tMean Acc: 0.375\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.0732e-01, -1.0755e-16, -1.6479e-01, 4.0294e-03],\n", - " [-1.0732e-01, -1.1619e-17, -4.3375e-02, -1.9303e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 254 \tAcc: 0.25 \tLoss: 2.121 \tMean Loss: 1.903 \tMean Acc: 0.358\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.6861e-01, -7.3116e-19, -7.5595e-02, -2.1763e-01],\n", - " [-1.6861e-01, 1.2839e-16, -2.3273e-01, -1.8512e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 255 \tAcc: 0.25 \tLoss: 1.952 \tMean Loss: 1.881 \tMean Acc: 0.367\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-3.8136e-02, 1.3466e-17, 5.5875e-02, 1.8601e-01],\n", - " [-3.8136e-02, -3.0765e-17, 3.3965e-01, 2.1175e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.43)──────────────╭C───RX(1.628)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.128)──│───╭X──────────RX(5.861)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.994)──╰X──╰C──────────RX(5.032)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 256 \tAcc: 0.0 \tLoss: 2.63 \tMean Loss: 1.932 \tMean Acc: 0.342\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.7145e-01, 4.8645e-17, -1.2592e-03, 2.2685e-01],\n", - " [ 1.7145e-01, 5.0826e-17, 7.1477e-01, 1.1095e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 257 \tAcc: 0.25 \tLoss: 1.584 \tMean Loss: 1.936 \tMean Acc: 0.325\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.1585e-02, -1.6153e-16, -1.0528e-01, -9.4120e-02],\n", - " [-1.1585e-02, -4.8938e-17, -3.4717e-01, -1.3213e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 258 \tAcc: 0.0 \tLoss: 3.111 \tMean Loss: 1.96 \tMean Acc: 0.317\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.4798e-01, -8.6445e-17, 1.6036e-01, 2.9460e-01],\n", - " [ 1.4798e-01, -2.2071e-17, 8.2833e-01, 3.4991e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 259 \tAcc: 0.0 \tLoss: 2.899 \tMean Loss: 2.006 \tMean Acc: 0.3\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 7.6962e-02, -7.6947e-18, 9.2425e-02, 5.9452e-02],\n", - " [ 7.6962e-02, 5.8208e-17, 3.8142e-01, 9.8251e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 260 \tAcc: 0.25 \tLoss: 2.172 \tMean Loss: 2.008 \tMean Acc: 0.3\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 5.3296e-02, -4.2216e-17, 2.8054e-02, 2.0745e-01],\n", - " [ 5.3296e-02, 2.3162e-17, 1.3526e-01, 2.4711e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.432)─────────────╭C───RX(1.604)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.11)───│───╭X──────────RX(5.843)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.976)──╰X──╰C──────────RX(5.022)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 261 \tAcc: 0.5 \tLoss: 1.658 \tMean Loss: 1.997 \tMean Acc: 0.317\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.4995e-01, 8.0634e-17, -2.9995e-01, -2.4433e-01],\n", - " [-1.4995e-01, 2.4413e-17, -6.7543e-01, -3.8890e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 262 \tAcc: 1.0 \tLoss: 1.127 \tMean Loss: 1.965 \tMean Acc: 0.342\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.6744e-01, 1.2906e-18, -1.5746e-01, -3.7975e-01],\n", - " [-1.6744e-01, -1.3730e-17, -7.5462e-01, -4.1522e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 263 \tAcc: 0.5 \tLoss: 1.361 \tMean Loss: 1.94 \tMean Acc: 0.35\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.4377e-01, 7.0000e-17, -2.5250e-01, -1.0254e-01],\n", - " [-1.4377e-01, 8.9751e-17, -3.0913e-01, -4.4507e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 264 \tAcc: 0.5 \tLoss: 1.642 \tMean Loss: 1.945 \tMean Acc: 0.35\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.8641e-03, -2.9021e-17, 3.0683e-02, 2.2626e-02],\n", - " [ 2.8641e-03, -4.2844e-17, 2.4101e-01, 1.3011e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 265 \tAcc: 0.75 \tLoss: 1.828 \tMean Loss: 1.946 \tMean Acc: 0.358\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.1268e-01, -6.2594e-17, -2.9547e-01, -2.2945e-01],\n", - " [-1.1268e-01, -2.9959e-17, -3.3377e-01, -3.9507e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.451)─────────────╭C───RX(1.601)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.111)──│───╭X──────────RX(5.844)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.973)──╰X──╰C──────────RX(5.03)───┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 266 \tAcc: 0.5 \tLoss: 1.618 \tMean Loss: 1.917 \tMean Acc: 0.367\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.4115e-01, -7.0227e-17, -2.2681e-01, -4.3725e-01],\n", - " [-1.4115e-01, -2.3617e-17, -5.7243e-01, -4.8536e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 267 \tAcc: 0.5 \tLoss: 1.962 \tMean Loss: 1.947 \tMean Acc: 0.358\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 9.8925e-02, 1.2885e-17, 5.5523e-02, -3.3243e-03],\n", - " [ 9.8925e-02, 2.0640e-20, 4.9616e-02, -2.7151e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 268 \tAcc: 0.5 \tLoss: 1.854 \tMean Loss: 1.933 \tMean Acc: 0.367\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-3.1836e-02, 6.4911e-17, 1.2632e-01, 2.5606e-01],\n", - " [-3.1836e-02, -5.9142e-17, 2.1991e-01, 3.8579e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 269 \tAcc: 0.25 \tLoss: 2.651 \tMean Loss: 1.963 \tMean Acc: 0.367\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[2.5901e-01, 1.6432e-19, 2.3739e-01, 7.1493e-01],\n", - " [2.5901e-01, 1.2265e-16, 8.0076e-01, 8.2569e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 270 \tAcc: 0.75 \tLoss: 0.987 \tMean Loss: 1.957 \tMean Acc: 0.367\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-3.0600e-01, -3.8252e-18, -1.8083e-01, -6.3195e-01],\n", - " [-3.0600e-01, 2.6639e-16, -8.8925e-01, -6.6137e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.472)─────────────╭C───RX(1.607)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.12)───│───╭X──────────RX(5.852)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.979)──╰X──╰C──────────RX(5.044)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 271 \tAcc: 0.75 \tLoss: 1.18 \tMean Loss: 1.901 \tMean Acc: 0.392\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.9539e-01, -4.9689e-17, -2.8573e-01, -3.6012e-01],\n", - " [-1.9539e-01, 6.8465e-19, -6.3236e-01, -5.7161e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 272 \tAcc: 0.0 \tLoss: 2.595 \tMean Loss: 1.951 \tMean Acc: 0.358\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.1453e-01, -2.2385e-16, 3.6627e-01, 7.0667e-01],\n", - " [ 2.1453e-01, 9.4494e-17, 8.9632e-01, 8.4459e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 273 \tAcc: 0.25 \tLoss: 1.644 \tMean Loss: 1.931 \tMean Acc: 0.367\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 6.1428e-03, -5.0080e-18, -1.3548e-03, 6.9725e-02],\n", - " [ 6.1428e-03, 4.1409e-17, -3.7802e-01, 9.2695e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 274 \tAcc: 0.0 \tLoss: 2.35 \tMean Loss: 1.943 \tMean Acc: 0.367\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.2444e-01, 8.6182e-17, 4.1713e-01, 4.5280e-01],\n", - " [ 2.2444e-01, -1.6430e-16, 5.0521e-01, 6.3810e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 275 \tAcc: 0.5 \tLoss: 1.862 \tMean Loss: 1.932 \tMean Acc: 0.375\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[1.9788e-01, 1.8142e-18, 1.5207e-01, 3.2364e-01],\n", - " [1.9788e-01, 6.3355e-17, 3.4939e-01, 3.5985e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)───────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.475)─────────────╭C───RX(1.61)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.123)──│───╭X─────────RX(5.855)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.972)──╰X──╰C─────────RX(5.04)───┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 276 \tAcc: 0.5 \tLoss: 1.602 \tMean Loss: 1.911 \tMean Acc: 0.392\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 7.4399e-02, -7.8864e-18, 2.1321e-01, 4.1207e-01],\n", - " [ 7.4399e-02, -2.5821e-17, 5.8348e-01, 4.7511e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 277 \tAcc: 0.25 \tLoss: 1.832 \tMean Loss: 1.888 \tMean Acc: 0.4\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 3.2478e-01, -3.7253e-17, 3.4109e-01, 3.8366e-01],\n", - " [ 3.2478e-01, 1.8911e-16, 9.1657e-01, 5.0600e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 278 \tAcc: 0.5 \tLoss: 1.419 \tMean Loss: 1.882 \tMean Acc: 0.4\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-9.4598e-02, 9.2657e-18, -1.7925e-02, -1.9583e-01],\n", - " [-9.4598e-02, 1.0180e-17, -3.3252e-01, -1.8497e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 279 \tAcc: 0.25 \tLoss: 2.643 \tMean Loss: 1.912 \tMean Acc: 0.4\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.1237e-01, 2.2105e-17, -2.3143e-02, 2.1912e-01],\n", - " [ 2.1237e-01, 9.3312e-17, 4.8397e-01, 1.2248e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 280 \tAcc: 0.25 \tLoss: 2.468 \tMean Loss: 1.952 \tMean Acc: 0.383\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-4.0803e-02, -7.1546e-17, -1.6052e-01, -1.5480e-01],\n", - " [-4.0803e-02, 3.0653e-17, -1.1816e-01, -2.5415e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)───────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.453)─────────────╭C───RX(1.59)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.098)──│───╭X─────────RX(5.83)───┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.944)──╰X──╰C─────────RX(5.013)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 281 \tAcc: 0.25 \tLoss: 2.856 \tMean Loss: 1.979 \tMean Acc: 0.375\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.4588e-01, 7.4385e-18, 1.2572e-01, 2.7621e-01],\n", - " [-1.4588e-01, 7.9187e-17, 5.2276e-01, 4.3546e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 282 \tAcc: 0.5 \tLoss: 1.7 \tMean Loss: 1.96 \tMean Acc: 0.383\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-8.4748e-02, -1.6139e-16, -1.1286e-01, -2.6205e-01],\n", - " [-8.4748e-02, -8.5925e-17, -4.3124e-01, -3.8185e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 283 \tAcc: 0.5 \tLoss: 1.764 \tMean Loss: 1.969 \tMean Acc: 0.375\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.7460e-01, -8.8193e-17, -2.1167e-01, -2.2330e-01],\n", - " [-1.7460e-01, -1.4677e-17, -7.0080e-01, -2.9842e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 284 \tAcc: 0.0 \tLoss: 1.906 \tMean Loss: 1.962 \tMean Acc: 0.367\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 3.6097e-02, 1.8381e-17, 2.2230e-02, 1.3309e-02],\n", - " [ 3.6097e-02, 1.7208e-17, -1.0915e-01, 9.0531e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 285 \tAcc: 0.0 \tLoss: 2.591 \tMean Loss: 1.983 \tMean Acc: 0.358\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-9.1854e-02, 1.9233e-17, -2.6975e-02, 2.9908e-03],\n", - " [-9.1854e-02, 1.3093e-16, -8.0417e-02, -8.9275e-02]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)───────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.446)─────────────╭C───RX(1.58)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.092)──│───╭X─────────RX(5.825)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.929)──╰X──╰C─────────RX(4.999)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 286 \tAcc: 0.5 \tLoss: 1.354 \tMean Loss: 1.941 \tMean Acc: 0.375\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 7.1951e-02, -4.7504e-17, -1.2022e-01, -1.3822e-02],\n", - " [ 7.1951e-02, -5.1699e-17, 1.7058e-01, -1.5624e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 287 \tAcc: 0.5 \tLoss: 2.225 \tMean Loss: 1.962 \tMean Acc: 0.383\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-4.8539e-02, -4.1805e-17, -7.9523e-02, -1.3332e-01],\n", - " [-4.8539e-02, -2.9103e-17, -3.3322e-01, -2.7000e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 288 \tAcc: 0.75 \tLoss: 1.539 \tMean Loss: 1.91 \tMean Acc: 0.408\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-2.7692e-01, -6.6347e-17, -5.6861e-02, -2.4825e-01],\n", - " [-2.7692e-01, 1.8094e-17, -5.5962e-01, -3.1809e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 289 \tAcc: 0.75 \tLoss: 1.328 \tMean Loss: 1.857 \tMean Acc: 0.433\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.3488e-01, -8.7237e-17, 8.7634e-02, -6.5005e-02],\n", - " [-1.3488e-01, 3.2386e-18, -5.3452e-04, 1.4021e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 290 \tAcc: 0.5 \tLoss: 1.928 \tMean Loss: 1.849 \tMean Acc: 0.442\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 7.0347e-02, -4.5598e-17, 3.4696e-02, 9.5072e-02],\n", - " [ 7.0347e-02, 7.4510e-17, 3.7266e-02, 1.1926e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.449)─────────────╭C───RX(1.585)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.101)──│───╭X──────────RX(5.834)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.927)──╰X──╰C──────────RX(5.004)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 291 \tAcc: 0.75 \tLoss: 1.25 \tMean Loss: 1.836 \tMean Acc: 0.45\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-3.7318e-02, 1.3109e-17, -6.3153e-02, -2.3336e-03],\n", - " [-3.7318e-02, -3.4283e-17, -5.0062e-02, 6.7428e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 292 \tAcc: 0.25 \tLoss: 2.537 \tMean Loss: 1.883 \tMean Acc: 0.425\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.0021e-01, -2.9108e-17, 1.3187e-02, 1.8643e-01],\n", - " [ 1.0021e-01, 9.5116e-17, 8.2978e-02, 2.0955e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 293 \tAcc: 0.75 \tLoss: 1.319 \tMean Loss: 1.881 \tMean Acc: 0.433\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-2.3105e-01, 3.6730e-17, -3.3749e-01, -4.1007e-01],\n", - " [-2.3105e-01, 1.0555e-17, -9.3389e-01, -4.8767e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 294 \tAcc: 0.75 \tLoss: 1.419 \tMean Loss: 1.874 \tMean Acc: 0.442\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 7.4171e-02, -1.5698e-18, 2.4048e-02, 6.9131e-03],\n", - " [ 7.4171e-02, -3.8122e-17, 1.1953e-01, 1.2502e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 295 \tAcc: 0.25 \tLoss: 1.685 \tMean Loss: 1.869 \tMean Acc: 0.425\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-2.1640e-01, -2.0427e-18, -1.7109e-01, -4.3240e-01],\n", - " [-2.1640e-01, -1.6255e-17, -1.0438e+00, -4.8303e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.459)─────────────╭C───RX(1.598)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.116)──│───╭X──────────RX(5.849)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.932)──╰X──╰C──────────RX(5.009)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 296 \tAcc: 0.5 \tLoss: 1.398 \tMean Loss: 1.862 \tMean Acc: 0.425\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[5.6608e-02, 2.2886e-17, 3.1150e-02, 7.2437e-02],\n", - " [5.6608e-02, 4.2300e-17, 2.0842e-02, 1.6273e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 297 \tAcc: 0.5 \tLoss: 1.754 \tMean Loss: 1.855 \tMean Acc: 0.425\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-5.2456e-02, 1.3772e-17, -3.4928e-02, 6.1240e-02],\n", - " [-5.2456e-02, 4.4466e-17, -3.0390e-01, -4.7074e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 298 \tAcc: 0.0 \tLoss: 2.5 \tMean Loss: 1.876 \tMean Acc: 0.408\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-2.0208e-01, 1.6556e-17, -2.7970e-01, -2.2836e-01],\n", - " [-2.0208e-01, 2.0570e-17, -5.7113e-01, -2.7977e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 299 \tAcc: 0.75 \tLoss: 1.059 \tMean Loss: 1.823 \tMean Acc: 0.425\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.2903e-01, 8.8813e-18, -1.5464e-01, -1.4070e-01],\n", - " [-1.2903e-01, 3.1653e-17, -6.5900e-01, -1.8523e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 300 \tAcc: 0.5 \tLoss: 1.365 \tMean Loss: 1.836 \tMean Acc: 0.417\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-2.9120e-02, -3.5349e-17, -2.0967e-01, -2.1411e-01],\n", - " [-2.9120e-02, 4.2352e-17, -4.2533e-01, -3.4628e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.48)──────────────╭C───RX(1.629)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.139)──│───╭X──────────RX(5.872)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.945)──╰X──╰C──────────RX(5.023)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 301 \tAcc: 0.25 \tLoss: 2.112 \tMean Loss: 1.867 \tMean Acc: 0.4\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-4.3157e-02, -4.5429e-17, 3.4978e-02, 1.7352e-01],\n", - " [-4.3157e-02, -5.3108e-17, 2.3572e-02, 2.2874e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 302 \tAcc: 0.5 \tLoss: 1.601 \tMean Loss: 1.834 \tMean Acc: 0.417\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.2992e-01, 6.4367e-17, 7.1244e-02, -1.7296e-01],\n", - " [-1.2992e-01, 5.1034e-17, -3.0452e-01, -1.5180e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 303 \tAcc: 0.5 \tLoss: 1.495 \tMean Loss: 1.829 \tMean Acc: 0.425\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.6634e-03, -2.1094e-18, 4.3128e-02, -1.6872e-02],\n", - " [ 1.6634e-03, 8.4843e-18, -1.3636e-01, 1.0360e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 304 \tAcc: 0.5 \tLoss: 1.533 \tMean Loss: 1.802 \tMean Acc: 0.442\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-4.9265e-02, -5.3987e-17, 3.8696e-01, 1.7050e-02],\n", - " [-4.9265e-02, -3.3367e-18, 3.4585e-01, 6.2507e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 305 \tAcc: 0.25 \tLoss: 2.744 \tMean Loss: 1.831 \tMean Acc: 0.433\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.8863e-01, -9.2358e-17, 1.9285e-01, 5.2732e-01],\n", - " [ 2.8863e-01, 1.4086e-16, 9.1351e-01, 4.6075e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.492)─────────────╭C───RX(1.657)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.163)──│───╭X──────────RX(5.895)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.956)──╰X──╰C──────────RX(5.037)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 306 \tAcc: 0.5 \tLoss: 1.181 \tMean Loss: 1.817 \tMean Acc: 0.433\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[4.3853e-02, 2.0095e-17, 1.0094e-01, 3.0152e-02],\n", - " [4.3853e-02, 1.1029e-16, 4.2984e-03, 3.1261e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 307 \tAcc: 0.5 \tLoss: 1.024 \tMean Loss: 1.79 \tMean Acc: 0.442\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-8.0197e-02, -5.9694e-17, 1.1981e-01, 1.5550e-02],\n", - " [-8.0197e-02, 1.3875e-16, -1.2139e-01, 1.1629e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 308 \tAcc: 0.25 \tLoss: 2.592 \tMean Loss: 1.829 \tMean Acc: 0.433\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 3.9260e-01, -4.0000e-17, 4.6604e-01, 4.5417e-01],\n", - " [ 3.9260e-01, -6.0616e-17, 1.3257e+00, 6.5288e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 309 \tAcc: 0.5 \tLoss: 1.368 \tMean Loss: 1.787 \tMean Acc: 0.442\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 9.1460e-02, -4.0584e-17, -1.3487e-01, 4.5063e-02],\n", - " [ 9.1460e-02, -3.7132e-17, -1.9772e-02, -1.3281e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 310 \tAcc: 0.5 \tLoss: 1.222 \tMean Loss: 1.745 \tMean Acc: 0.45\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 3.5266e-02, -1.8401e-17, -4.8480e-02, -9.3081e-02],\n", - " [ 3.5266e-02, -2.9661e-17, -1.1767e-01, -1.8013e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.476)─────────────╭C───RX(1.656)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.16)───│───╭X──────────RX(5.892)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.949)──╰X──╰C──────────RX(5.032)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 311 \tAcc: 0.25 \tLoss: 2.332 \tMean Loss: 1.728 \tMean Acc: 0.45\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[2.4490e-01, 5.8412e-18, 1.6512e-01, 3.5715e-01],\n", - " [2.4490e-01, 3.9685e-17, 8.6829e-01, 3.2458e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 312 \tAcc: 0.5 \tLoss: 1.63 \tMean Loss: 1.725 \tMean Acc: 0.45\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.0116e-01, -3.4194e-17, 1.4322e-01, -6.5185e-02],\n", - " [-1.0116e-01, 6.6569e-17, 1.5291e-01, 8.9646e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 313 \tAcc: 0.75 \tLoss: 0.764 \tMean Loss: 1.692 \tMean Acc: 0.458\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.9726e-01, -8.2367e-17, -1.0776e-01, -3.1604e-01],\n", - " [-1.9726e-01, 6.1922e-17, -4.6719e-01, -3.4722e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 314 \tAcc: 0.25 \tLoss: 1.79 \tMean Loss: 1.688 \tMean Acc: 0.467\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-3.0629e-01, -1.5762e-16, -3.8521e-01, -3.9137e-01],\n", - " [-3.0629e-01, 9.0789e-17, -6.7940e-01, -4.4527e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 315 \tAcc: 0.25 \tLoss: 2.108 \tMean Loss: 1.672 \tMean Acc: 0.475\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.0755e-02, -3.8124e-17, 1.0747e-01, 9.0712e-02],\n", - " [ 2.0755e-02, -5.1496e-17, 3.2096e-01, 6.2024e-03]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.463)─────────────╭C───RX(1.648)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.154)──│───╭X──────────RX(5.887)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.944)──╰X──╰C──────────RX(5.029)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 316 \tAcc: 0.5 \tLoss: 1.475 \tMean Loss: 1.676 \tMean Acc: 0.475\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.9986e-02, -1.5245e-17, -1.0364e-01, 8.7075e-03],\n", - " [-1.9986e-02, -3.1694e-17, -3.5092e-02, -2.2238e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 317 \tAcc: 0.25 \tLoss: 2.016 \tMean Loss: 1.669 \tMean Acc: 0.467\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 3.2039e-02, -1.8649e-17, -2.8384e-02, 4.8225e-02],\n", - " [ 3.2039e-02, -7.8357e-17, 6.9293e-02, 1.2810e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 318 \tAcc: 0.25 \tLoss: 1.455 \tMean Loss: 1.666 \tMean Acc: 0.45\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.4260e-02, -4.2790e-17, -9.8761e-02, -1.8121e-01],\n", - " [-1.4260e-02, -8.7511e-17, -6.2906e-02, -1.5203e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 319 \tAcc: 0.5 \tLoss: 1.662 \tMean Loss: 1.677 \tMean Acc: 0.442\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.4707e-02, -5.4251e-17, -1.2189e-01, -1.0270e-01],\n", - " [-1.4707e-02, -4.1544e-17, -2.0153e-01, -1.4520e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 320 \tAcc: 0.25 \tLoss: 2.088 \tMean Loss: 1.683 \tMean Acc: 0.433\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-9.5791e-02, -3.4931e-17, 1.4666e-01, -6.8321e-03],\n", - " [-9.5791e-02, -1.4289e-17, -8.2757e-03, 2.0740e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.466)─────────────╭C───RX(1.647)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.161)──│───╭X──────────RX(5.894)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.948)──╰X──╰C──────────RX(5.033)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 321 \tAcc: 0.5 \tLoss: 1.614 \tMean Loss: 1.695 \tMean Acc: 0.425\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.4428e-01, 1.2898e-16, -1.6869e-01, -4.2370e-01],\n", - " [-1.4428e-01, 3.5764e-17, -3.2099e-01, -3.8504e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 322 \tAcc: 0.5 \tLoss: 1.417 \tMean Loss: 1.657 \tMean Acc: 0.433\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 8.8116e-02, -1.6367e-16, -3.1274e-02, 8.4664e-02],\n", - " [ 8.8116e-02, 9.0594e-18, 1.6184e-01, -9.5856e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 323 \tAcc: 0.25 \tLoss: 1.865 \tMean Loss: 1.676 \tMean Acc: 0.417\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-4.5723e-02, 7.2353e-17, -5.2148e-02, -3.7063e-01],\n", - " [-4.5723e-02, -6.8573e-17, -1.7966e-01, -2.0532e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 324 \tAcc: 0.0 \tLoss: 1.935 \tMean Loss: 1.693 \tMean Acc: 0.392\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.5836e-01, 5.0148e-17, 9.3726e-02, 4.3871e-01],\n", - " [ 1.5836e-01, -1.0475e-16, 5.6219e-01, 3.6690e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 325 \tAcc: 0.0 \tLoss: 1.807 \tMean Loss: 1.697 \tMean Acc: 0.383\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-8.9804e-02, -7.9923e-18, 2.8332e-04, 1.1474e-01],\n", - " [-8.9804e-02, -5.6173e-17, 2.2682e-01, 7.5596e-02]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.472)─────────────╭C───RX(1.647)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.17)───│───╭X──────────RX(5.902)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.959)──╰X──╰C──────────RX(5.041)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 326 \tAcc: 0.5 \tLoss: 1.603 \tMean Loss: 1.704 \tMean Acc: 0.383\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 7.5264e-03, -4.9003e-17, 7.5928e-02, 1.3283e-02],\n", - " [ 7.5264e-03, -7.2805e-17, 2.3568e-01, 3.1041e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 327 \tAcc: 0.5 \tLoss: 2.029 \tMean Loss: 1.713 \tMean Acc: 0.383\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[7.4686e-02, 1.3191e-16, 1.2982e-01, 2.9872e-01],\n", - " [7.4686e-02, 2.5945e-17, 1.6207e-01, 3.4380e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 328 \tAcc: 0.25 \tLoss: 1.263 \tMean Loss: 1.672 \tMean Acc: 0.392\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 5.9829e-02, -2.1867e-17, 1.9089e-01, 1.2822e-01],\n", - " [ 5.9829e-02, 1.1563e-17, 3.3710e-01, 1.0312e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 329 \tAcc: 0.25 \tLoss: 2.186 \tMean Loss: 1.709 \tMean Acc: 0.375\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.1782e-01, 1.6654e-17, -5.0343e-02, 2.6563e-01],\n", - " [ 2.1782e-01, 3.8247e-17, 4.2277e-01, 1.3432e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 330 \tAcc: 0.5 \tLoss: 1.091 \tMean Loss: 1.7 \tMean Acc: 0.375\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-9.1684e-02, -1.9640e-17, -1.1980e-02, -2.3436e-01],\n", - " [-9.1684e-02, -6.2737e-17, -2.6771e-01, -1.8424e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.467)─────────────╭C───RX(1.635)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.167)──│───╭X──────────RX(5.9)────┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.954)──╰X──╰C──────────RX(5.037)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 331 \tAcc: 0.0 \tLoss: 1.574 \tMean Loss: 1.682 \tMean Acc: 0.367\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 3.1211e-02, 2.8657e-17, 2.5313e-01, 1.9010e-01],\n", - " [ 3.1211e-02, -5.6917e-17, -3.7416e-02, 2.7932e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 332 \tAcc: 0.25 \tLoss: 1.698 \tMean Loss: 1.685 \tMean Acc: 0.358\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.9666e-02, 6.6251e-17, -3.0249e-02, 8.0586e-02],\n", - " [ 2.9666e-02, -5.2144e-18, 2.7731e-01, 8.0662e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 333 \tAcc: 1.0 \tLoss: 0.557 \tMean Loss: 1.654 \tMean Acc: 0.375\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.6532e-01, -7.3728e-18, 5.5429e-02, -1.7686e-01],\n", - " [-1.6532e-01, -5.6441e-17, -1.3440e-01, -4.3754e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 334 \tAcc: 0.5 \tLoss: 1.253 \tMean Loss: 1.645 \tMean Acc: 0.375\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 8.1906e-03, 6.8492e-18, 4.5532e-02, 1.3058e-02],\n", - " [ 8.1906e-03, -6.5980e-19, 9.3674e-02, 2.0026e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 335 \tAcc: 0.25 \tLoss: 1.845 \tMean Loss: 1.615 \tMean Acc: 0.375\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.2498e-01, 6.7087e-17, 3.0204e-01, 4.9809e-01],\n", - " [ 1.2498e-01, -8.3018e-17, 7.0345e-01, 5.2410e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.452)─────────────╭C───RX(1.622)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.164)──│───╭X──────────RX(5.896)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.946)──╰X──╰C──────────RX(5.026)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 336 \tAcc: 0.25 \tLoss: 1.96 \tMean Loss: 1.641 \tMean Acc: 0.367\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-3.3773e-02, 5.2072e-18, 6.2175e-02, 2.2231e-01],\n", - " [-3.3773e-02, 8.2966e-17, 2.0897e-01, 3.1605e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 337 \tAcc: 0.5 \tLoss: 1.746 \tMean Loss: 1.665 \tMean Acc: 0.367\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 3.0403e-01, -2.6037e-18, 1.5278e-01, 3.6065e-01],\n", - " [ 3.0403e-01, 1.2065e-17, 6.5474e-01, 3.5801e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 338 \tAcc: 0.5 \tLoss: 2.076 \tMean Loss: 1.648 \tMean Acc: 0.375\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-2.6212e-01, -1.5363e-17, -2.7188e-01, -4.5124e-01],\n", - " [-2.6212e-01, 2.5920e-17, -6.7753e-01, -4.9736e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 339 \tAcc: 0.5 \tLoss: 1.716 \tMean Loss: 1.659 \tMean Acc: 0.375\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.2624e-01, -2.4103e-17, 1.2408e-02, 1.6001e-01],\n", - " [ 2.2624e-01, -5.7125e-17, 2.2478e-01, 1.1013e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 340 \tAcc: 0.0 \tLoss: 2.541 \tMean Loss: 1.703 \tMean Acc: 0.358\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.1688e-01, 1.9645e-16, -5.4120e-03, 1.3219e-01],\n", - " [ 1.1688e-01, 5.2667e-17, 4.2652e-01, 1.5197e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.436)─────────────╭C───RX(1.603)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.153)──│───╭X──────────RX(5.886)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.928)──╰X──╰C──────────RX(5.008)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 341 \tAcc: 0.5 \tLoss: 2.211 \tMean Loss: 1.699 \tMean Acc: 0.367\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-2.0708e-01, 4.1887e-17, -2.3285e-01, -4.2856e-01],\n", - " [-2.0708e-01, 1.1388e-16, -7.8593e-01, -4.3584e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 342 \tAcc: 0.25 \tLoss: 1.819 \tMean Loss: 1.705 \tMean Acc: 0.358\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-2.1269e-01, 9.5563e-17, -2.7008e-01, -4.0838e-01],\n", - " [-2.1269e-01, -2.8547e-16, -5.9483e-01, -4.2295e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 343 \tAcc: 0.25 \tLoss: 2.239 \tMean Loss: 1.755 \tMean Acc: 0.342\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.4452e-01, -1.0268e-16, -1.7494e-01, -2.0232e-01],\n", - " [-1.4452e-01, 1.2981e-16, -3.5285e-01, -3.5300e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 344 \tAcc: 0.5 \tLoss: 1.327 \tMean Loss: 1.739 \tMean Acc: 0.35\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-3.2331e-02, 2.3305e-17, 1.0266e-01, 1.6938e-02],\n", - " [-3.2331e-02, -8.3442e-17, 1.9661e-02, 1.0827e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 345 \tAcc: 0.25 \tLoss: 2.302 \tMean Loss: 1.746 \tMean Acc: 0.35\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[1.3117e-01, 3.1413e-17, 1.9324e-01, 2.0159e-01],\n", - " [1.3117e-01, 2.1169e-17, 2.8472e-01, 2.7062e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.441)─────────────╭C───RX(1.604)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.158)──│───╭X──────────RX(5.89)───┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.932)──╰X──╰C──────────RX(5.011)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 346 \tAcc: 0.5 \tLoss: 1.166 \tMean Loss: 1.735 \tMean Acc: 0.35\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 5.9545e-02, -6.2366e-17, -3.1175e-02, 1.0346e-02],\n", - " [ 5.9545e-02, 1.4379e-17, 2.4746e-01, 4.3885e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 347 \tAcc: 0.25 \tLoss: 1.739 \tMean Loss: 1.726 \tMean Acc: 0.35\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.5556e-01, 2.2992e-18, -2.4877e-02, 1.2581e-01],\n", - " [ 1.5556e-01, -3.4403e-18, 4.1307e-01, -1.3001e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 348 \tAcc: 0.5 \tLoss: 1.481 \tMean Loss: 1.727 \tMean Acc: 0.358\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-3.0189e-01, 5.6724e-17, -1.7381e-01, -5.1577e-01],\n", - " [-3.0189e-01, -1.4940e-16, -7.6861e-01, -6.2083e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 349 \tAcc: 0.25 \tLoss: 1.401 \tMean Loss: 1.718 \tMean Acc: 0.35\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.2870e-02, -4.5421e-18, -1.1249e-01, -2.2237e-01],\n", - " [-1.2870e-02, 1.3769e-17, -1.8096e-01, -3.4006e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 350 \tAcc: 0.5 \tLoss: 1.667 \tMean Loss: 1.704 \tMean Acc: 0.358\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.8577e-02, -1.2630e-17, 4.7344e-02, -1.3113e-01],\n", - " [-1.8577e-02, 3.1234e-17, -2.0399e-01, -1.1105e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.448)─────────────╭C───RX(1.604)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.161)──│───╭X──────────RX(5.894)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.94)───╰X──╰C──────────RX(5.023)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 351 \tAcc: 0.5 \tLoss: 1.663 \tMean Loss: 1.706 \tMean Acc: 0.358\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.8896e-02, -9.0263e-18, -3.7647e-02, -9.7059e-02],\n", - " [ 2.8896e-02, -1.1874e-17, -7.4750e-02, -2.5720e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 352 \tAcc: 0.25 \tLoss: 1.836 \tMean Loss: 1.72 \tMean Acc: 0.35\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 8.3360e-02, -1.5416e-17, -3.4255e-02, 1.1023e-01],\n", - " [ 8.3360e-02, -1.9271e-17, 1.2509e-01, 1.2213e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 353 \tAcc: 0.25 \tLoss: 2.717 \tMean Loss: 1.748 \tMean Acc: 0.35\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-4.9019e-02, 5.1740e-17, 1.3673e-01, 1.2721e-01],\n", - " [-4.9019e-02, -3.2719e-17, -3.1403e-01, 1.7072e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 354 \tAcc: 0.5 \tLoss: 1.778 \tMean Loss: 1.743 \tMean Acc: 0.367\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 9.9675e-02, 7.3048e-17, 1.9140e-01, 3.9560e-01],\n", - " [ 9.9675e-02, -3.7923e-17, 2.4396e-01, 4.7932e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 355 \tAcc: 0.0 \tLoss: 1.936 \tMean Loss: 1.747 \tMean Acc: 0.367\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-7.5053e-02, -3.6957e-18, 2.3798e-01, -6.4278e-02],\n", - " [-7.5053e-02, -1.7333e-18, -1.4467e-01, 2.3173e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.449)─────────────╭C───RX(1.611)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.163)──│───╭X──────────RX(5.896)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.947)──╰X──╰C──────────RX(5.034)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 356 \tAcc: 0.5 \tLoss: 1.375 \tMean Loss: 1.74 \tMean Acc: 0.367\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 4.8825e-02, -2.0271e-17, -5.4644e-02, -2.3350e-02],\n", - " [ 4.8825e-02, 4.7099e-18, -7.3002e-02, -1.7899e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 357 \tAcc: 0.25 \tLoss: 2.43 \tMean Loss: 1.753 \tMean Acc: 0.358\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.4445e-01, -9.8617e-17, 1.7450e-01, 3.2912e-01],\n", - " [ 1.4445e-01, -1.4088e-16, 2.6584e-01, 3.5159e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 358 \tAcc: 0.25 \tLoss: 1.784 \tMean Loss: 1.77 \tMean Acc: 0.358\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.3389e-01, 1.2306e-17, 1.6610e-01, 4.1340e-01],\n", - " [ 2.3389e-01, -4.9013e-18, 3.6530e-01, 3.1337e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 359 \tAcc: 0.5 \tLoss: 1.366 \tMean Loss: 1.743 \tMean Acc: 0.367\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.2700e-01, 3.3122e-17, 1.3630e-01, 1.4361e-01],\n", - " [ 1.2700e-01, -1.0842e-17, 1.4350e-01, 1.8418e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 360 \tAcc: 0.25 \tLoss: 2.129 \tMean Loss: 1.778 \tMean Acc: 0.358\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.3637e-01, 6.8758e-17, 1.6785e-01, 5.2156e-01],\n", - " [ 2.3637e-01, -5.0638e-18, 6.6979e-01, 5.3014e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.432)─────────────╭C───RX(1.609)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.149)──│───╭X──────────RX(5.882)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.934)──╰X──╰C──────────RX(5.022)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 361 \tAcc: 0.75 \tLoss: 0.857 \tMean Loss: 1.754 \tMean Acc: 0.383\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-2.6604e-02, -7.2987e-17, -4.8565e-02, -8.5599e-02],\n", - " [-2.6604e-02, -8.0114e-18, 1.1326e-01, -4.6322e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 362 \tAcc: 0.25 \tLoss: 1.5 \tMean Loss: 1.747 \tMean Acc: 0.383\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-3.7628e-01, -1.4135e-17, -1.9512e-01, -4.0712e-01],\n", - " [-3.7628e-01, 9.3829e-17, -8.1963e-01, -4.8978e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 363 \tAcc: 0.0 \tLoss: 2.563 \tMean Loss: 1.814 \tMean Acc: 0.35\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.7401e-01, 1.0024e-16, -2.6670e-01, -2.6179e-01],\n", - " [-1.7401e-01, 8.5689e-17, -4.8793e-01, -2.9899e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 364 \tAcc: 0.5 \tLoss: 1.381 \tMean Loss: 1.818 \tMean Acc: 0.35\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.1220e-01, 2.7590e-17, -2.9136e-01, -4.0289e-01],\n", - " [-1.1220e-01, 1.3873e-16, -5.7526e-01, -4.7547e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 365 \tAcc: 1.0 \tLoss: 0.802 \tMean Loss: 1.784 \tMean Acc: 0.375\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.0793e-01, -8.6109e-17, -1.5096e-01, -2.6885e-01],\n", - " [-1.0793e-01, -1.0957e-16, -4.0469e-01, -2.4326e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.43)──────────────╭C───RX(1.613)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.147)──│───╭X──────────RX(5.88)───┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.93)───╰X──╰C──────────RX(5.019)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 366 \tAcc: 0.75 \tLoss: 1.718 \tMean Loss: 1.776 \tMean Acc: 0.392\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.0547e-01, -4.7820e-18, -1.5972e-01, 1.8860e-01],\n", - " [ 1.0547e-01, 3.6721e-17, 8.5233e-02, 1.1143e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 367 \tAcc: 0.5 \tLoss: 1.778 \tMean Loss: 1.777 \tMean Acc: 0.392\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.6130e-01, 4.9852e-18, 4.2909e-02, 2.6566e-01],\n", - " [ 1.6130e-01, -1.5201e-17, 2.0334e-01, 2.2676e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 368 \tAcc: 0.75 \tLoss: 1.682 \tMean Loss: 1.763 \tMean Acc: 0.4\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.9229e-01, 1.6892e-16, -3.0582e-01, -1.1504e-01],\n", - " [-1.9229e-01, 1.9009e-16, -4.3748e-01, -3.0282e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 369 \tAcc: 0.25 \tLoss: 2.223 \tMean Loss: 1.78 \tMean Acc: 0.392\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.6188e-01, -1.4620e-16, 2.6512e-01, 5.9314e-01],\n", - " [ 2.6188e-01, -4.8317e-18, 8.1181e-01, 6.3435e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 370 \tAcc: 0.5 \tLoss: 1.346 \tMean Loss: 1.741 \tMean Acc: 0.408\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.2194e-01, -4.9766e-17, 1.0011e-01, -2.8049e-01],\n", - " [-1.2194e-01, -1.3522e-18, -3.0575e-01, -2.2030e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.445)─────────────╭C───RX(1.622)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.148)──│───╭X──────────RX(5.881)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.928)──╰X──╰C──────────RX(5.021)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 371 \tAcc: 0.75 \tLoss: 1.034 \tMean Loss: 1.701 \tMean Acc: 0.417\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.0079e-01, 1.7988e-17, 3.9914e-02, 1.8090e-01],\n", - " [ 1.0079e-01, -2.3807e-17, 2.1375e-01, 2.0219e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 372 \tAcc: 0.0 \tLoss: 2.274 \tMean Loss: 1.716 \tMean Acc: 0.408\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-4.2845e-02, 7.8608e-17, 1.3600e-01, 1.7306e-01],\n", - " [-4.2845e-02, 9.1317e-17, -1.2290e-01, 3.2421e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 373 \tAcc: 0.0 \tLoss: 2.855 \tMean Loss: 1.737 \tMean Acc: 0.4\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.1999e-01, -2.6422e-17, 1.6445e-01, 4.6962e-01],\n", - " [ 2.1999e-01, 1.1398e-17, 4.1422e-01, 4.7153e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 374 \tAcc: 1.0 \tLoss: 0.76 \tMean Loss: 1.718 \tMean Acc: 0.417\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-3.5716e-01, -6.9870e-17, -2.4591e-01, -5.8887e-01],\n", - " [-3.5716e-01, -7.2807e-17, -9.7295e-01, -5.7619e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 375 \tAcc: 0.0 \tLoss: 2.339 \tMean Loss: 1.719 \tMean Acc: 0.408\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.3441e-01, 6.8204e-17, 3.1247e-02, 2.1707e-01],\n", - " [ 1.3441e-01, -4.0043e-18, 4.5914e-02, 3.0420e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.446)─────────────╭C───RX(1.627)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.146)──│───╭X──────────RX(5.878)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.918)──╰X──╰C──────────RX(5.012)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 376 \tAcc: 0.25 \tLoss: 2.301 \tMean Loss: 1.757 \tMean Acc: 0.4\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.2115e-01, 1.8803e-17, -1.1414e-01, 1.2928e-02],\n", - " [ 1.2115e-01, -2.1717e-17, -6.7024e-02, 2.2952e-03]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 377 \tAcc: 0.5 \tLoss: 1.451 \tMean Loss: 1.748 \tMean Acc: 0.408\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 3.0621e-02, -3.2262e-17, 2.3394e-01, 6.2633e-02],\n", - " [ 3.0621e-02, -3.4723e-17, 3.8811e-01, 1.1791e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 378 \tAcc: 0.5 \tLoss: 1.882 \tMean Loss: 1.761 \tMean Acc: 0.408\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.1468e-01, -6.8679e-17, 1.0632e-01, 2.6752e-01],\n", - " [ 1.1468e-01, -1.7473e-17, 1.5694e-01, 2.2893e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 379 \tAcc: 0.25 \tLoss: 1.981 \tMean Loss: 1.78 \tMean Acc: 0.408\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.1671e-01, 1.3488e-16, 6.0718e-02, 2.0204e-01],\n", - " [ 2.1671e-01, -4.2294e-17, 4.8479e-01, 1.7141e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 380 \tAcc: 0.75 \tLoss: 1.406 \tMean Loss: 1.772 \tMean Acc: 0.417\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.8961e-01, -3.4347e-16, -1.9953e-01, -4.2461e-01],\n", - " [-1.8961e-01, 6.7699e-17, -4.6800e-01, -4.7725e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.443)─────────────╭C───RX(1.629)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.136)──│───╭X──────────RX(5.868)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.907)──╰X──╰C──────────RX(5.001)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 381 \tAcc: 0.5 \tLoss: 1.312 \tMean Loss: 1.76 \tMean Acc: 0.417\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-2.2253e-01, 1.0249e-16, -5.6222e-02, -3.2574e-01],\n", - " [-2.2253e-01, -6.2575e-17, -3.1841e-01, -3.6753e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 382 \tAcc: 0.75 \tLoss: 1.617 \tMean Loss: 1.753 \tMean Acc: 0.433\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-4.9075e-02, -8.3096e-17, -1.2249e-01, 2.5218e-02],\n", - " [-4.9075e-02, 3.3414e-17, 1.1515e-01, -1.7080e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 383 \tAcc: 0.5 \tLoss: 1.954 \tMean Loss: 1.727 \tMean Acc: 0.442\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 9.1764e-03, -1.9189e-17, -1.9180e-01, 2.1636e-02],\n", - " [ 9.1764e-03, -7.3009e-17, 4.5608e-02, -1.2017e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 384 \tAcc: 0.0 \tLoss: 2.003 \tMean Loss: 1.735 \tMean Acc: 0.425\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 8.8321e-02, 3.5091e-17, 9.2684e-02, 2.1459e-01],\n", - " [ 8.8321e-02, -1.3482e-16, 4.4612e-01, 2.0691e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 385 \tAcc: 0.25 \tLoss: 1.78 \tMean Loss: 1.729 \tMean Acc: 0.433\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-3.1574e-03, -1.2451e-16, -1.1045e-01, -2.3855e-02],\n", - " [-3.1574e-03, -9.4807e-17, 5.7976e-02, -1.2491e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)───────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.451)─────────────╭C───RX(1.63)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.137)──│───╭X─────────RX(5.869)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.906)──╰X──╰C─────────RX(5.005)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 386 \tAcc: 0.25 \tLoss: 1.492 \tMean Loss: 1.733 \tMean Acc: 0.425\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-3.9200e-01, -1.4010e-17, -2.4873e-01, -4.8544e-01],\n", - " [-3.9200e-01, -2.5150e-16, -6.0753e-01, -4.6058e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 387 \tAcc: 0.25 \tLoss: 1.909 \tMean Loss: 1.716 \tMean Acc: 0.425\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-6.6394e-02, 3.0764e-17, -5.4231e-02, -1.0242e-01],\n", - " [-6.6394e-02, -3.8195e-17, 3.6637e-01, -1.9867e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 388 \tAcc: 0.25 \tLoss: 2.335 \tMean Loss: 1.734 \tMean Acc: 0.425\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[1.2002e-01, 6.2363e-17, 8.3252e-02, 1.6400e-01],\n", - " [1.2002e-01, 1.6311e-16, 5.3725e-01, 1.3491e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 389 \tAcc: 0.5 \tLoss: 1.86 \tMean Loss: 1.751 \tMean Acc: 0.425\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.0837e-01, -1.5394e-17, 1.8083e-01, 3.5696e-01],\n", - " [ 2.0837e-01, 2.4427e-17, 6.9774e-01, 2.9221e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 390 \tAcc: 0.25 \tLoss: 1.868 \tMean Loss: 1.742 \tMean Acc: 0.425\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.6713e-01, 1.4233e-16, 4.6674e-02, 5.3680e-01],\n", - " [ 2.6713e-01, -5.8093e-17, 1.0258e+00, 4.6997e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)───────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.462)─────────────╭C───RX(1.62)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.143)──│───╭X─────────RX(5.875)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.906)──╰X──╰C─────────RX(5.013)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 391 \tAcc: 0.75 \tLoss: 1.171 \tMean Loss: 1.753 \tMean Acc: 0.425\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-2.7826e-02, -4.6421e-17, 1.0288e-01, -5.3439e-03],\n", - " [-2.7826e-02, -2.7049e-17, -3.8566e-02, -4.9677e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 392 \tAcc: 0.75 \tLoss: 1.394 \tMean Loss: 1.749 \tMean Acc: 0.442\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.2791e-01, -1.0398e-16, 3.3983e-02, -2.8832e-01],\n", - " [-1.2791e-01, -6.1672e-17, -2.3035e-01, -1.5579e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 393 \tAcc: 0.5 \tLoss: 1.285 \tMean Loss: 1.706 \tMean Acc: 0.458\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.3051e-01, -6.6868e-17, 9.7425e-02, 1.1289e-01],\n", - " [ 1.3051e-01, 2.4072e-17, 6.2249e-01, 9.3247e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 394 \tAcc: 0.5 \tLoss: 1.531 \tMean Loss: 1.711 \tMean Acc: 0.458\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-9.1166e-02, -1.4346e-16, -2.1263e-01, -2.4530e-01],\n", - " [-9.1166e-02, -2.8100e-16, -3.4108e-01, -2.0966e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 395 \tAcc: 0.75 \tLoss: 1.171 \tMean Loss: 1.724 \tMean Acc: 0.45\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-4.0138e-04, -6.9573e-17, -4.9247e-02, -3.3567e-02],\n", - " [-4.0138e-04, -2.5788e-17, -1.1377e-01, -1.7434e-02]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)──────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.463)─────────────╭C───RX(1.6)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.138)──│───╭X────────RX(5.87)───┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.901)──╰X──╰C────────RX(5.013)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 396 \tAcc: 0.25 \tLoss: 1.64 \tMean Loss: 1.721 \tMean Acc: 0.433\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.4838e-01, 1.2620e-16, 1.8423e-01, -3.8525e-01],\n", - " [-1.4838e-01, -7.3537e-17, -2.0484e-01, -1.0488e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 397 \tAcc: 0.5 \tLoss: 1.347 \tMean Loss: 1.707 \tMean Acc: 0.433\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-5.6175e-02, -6.8060e-17, -2.6005e-02, 7.7740e-02],\n", - " [-5.6175e-02, -4.1776e-17, -1.0919e-02, 3.6978e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 398 \tAcc: 0.25 \tLoss: 1.966 \tMean Loss: 1.716 \tMean Acc: 0.417\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.1953e-01, -4.3840e-17, 2.2048e-01, -9.7793e-02],\n", - " [ 1.1953e-01, 4.4803e-17, 4.8013e-01, 1.1262e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 399 \tAcc: 0.25 \tLoss: 2.698 \tMean Loss: 1.732 \tMean Acc: 0.417\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-2.6868e-02, -1.5518e-16, -4.7275e-02, -2.1246e-01],\n", - " [-2.6868e-02, 4.2683e-18, -2.2039e-01, -1.8154e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 400 \tAcc: 0.5 \tLoss: 1.807 \tMean Loss: 1.747 \tMean Acc: 0.417\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-6.4722e-02, 8.8269e-18, -2.0505e-01, -3.6363e-01],\n", - " [-6.4722e-02, 2.8494e-17, -4.0523e-01, -3.3211e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)───────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.459)─────────────╭C───RX(1.59)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.141)──│───╭X─────────RX(5.873)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.91)───╰X──╰C─────────RX(5.017)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 401 \tAcc: 0.0 \tLoss: 1.897 \tMean Loss: 1.776 \tMean Acc: 0.392\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.2117e-01, 6.1704e-18, -1.4655e-01, -1.7452e-01],\n", - " [-1.2117e-01, -2.5644e-17, -5.4288e-01, -1.1158e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 402 \tAcc: 0.5 \tLoss: 1.169 \tMean Loss: 1.739 \tMean Acc: 0.408\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.4743e-01, -6.9742e-17, 5.5418e-02, -1.5771e-01],\n", - " [-1.4743e-01, 9.6660e-18, -1.5563e-01, -1.4209e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 403 \tAcc: 0.75 \tLoss: 1.248 \tMean Loss: 1.686 \tMean Acc: 0.433\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 3.3261e-02, -1.1279e-17, -1.0153e-01, 2.9623e-02],\n", - " [ 3.3261e-02, -1.0745e-17, 8.6687e-02, 4.6535e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 404 \tAcc: 0.0 \tLoss: 2.458 \tMean Loss: 1.742 \tMean Acc: 0.4\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.7730e-01, 2.3462e-17, 1.4273e-01, -1.7372e-01],\n", - " [-1.7730e-01, 2.5550e-17, -5.5612e-01, 1.0268e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 405 \tAcc: 0.25 \tLoss: 2.346 \tMean Loss: 1.743 \tMean Acc: 0.408\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.5274e-01, -8.9394e-19, -1.4085e-01, 2.1059e-01],\n", - " [ 1.5274e-01, -6.0602e-17, 2.8623e-01, 6.6223e-02]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.464)─────────────╭C───RX(1.595)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.152)──│───╭X──────────RX(5.885)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.928)──╰X──╰C──────────RX(5.028)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 406 \tAcc: 0.5 \tLoss: 1.193 \tMean Loss: 1.706 \tMean Acc: 0.417\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-4.9991e-02, -4.0487e-17, -1.0990e-01, -1.5437e-01],\n", - " [-4.9991e-02, -3.7179e-17, -2.3987e-01, -1.3424e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 407 \tAcc: 1.0 \tLoss: 0.584 \tMean Loss: 1.677 \tMean Acc: 0.433\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-8.5628e-02, -1.3185e-17, -2.6314e-03, -9.3115e-02],\n", - " [-8.5628e-02, -4.3426e-17, -3.7825e-01, 5.6030e-03]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 408 \tAcc: 0.5 \tLoss: 1.753 \tMean Loss: 1.672 \tMean Acc: 0.433\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.6923e-01, 1.2195e-17, -6.4615e-02, 2.0082e-01],\n", - " [ 1.6923e-01, 4.4173e-17, 3.7261e-01, 7.4385e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 409 \tAcc: 0.5 \tLoss: 1.652 \tMean Loss: 1.661 \tMean Acc: 0.442\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-5.1690e-02, -2.7493e-17, 4.0403e-02, 7.0525e-02],\n", - " [-5.1690e-02, -4.9040e-17, -2.7923e-02, 1.0599e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 410 \tAcc: 0.5 \tLoss: 1.75 \tMean Loss: 1.673 \tMean Acc: 0.433\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 7.1523e-03, 7.1271e-18, -1.9029e-01, -1.7804e-01],\n", - " [ 7.1523e-03, -4.2909e-17, -3.8596e-01, -3.2103e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)───────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.474)────────────╭C───RX(1.604)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.16)──│───╭X──────────RX(5.893)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.94)──╰X──╰C──────────RX(5.035)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 411 \tAcc: 1.0 \tLoss: 0.506 \tMean Loss: 1.646 \tMean Acc: 0.45\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-8.6054e-02, 6.4731e-18, -1.6009e-01, -2.3064e-01],\n", - " [-8.6054e-02, -2.2572e-17, -4.2556e-01, -2.4069e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 412 \tAcc: 0.25 \tLoss: 1.574 \tMean Loss: 1.645 \tMean Acc: 0.433\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-2.0696e-02, 1.9317e-17, -1.6734e-02, 4.0135e-02],\n", - " [-2.0696e-02, -8.5535e-18, 1.7279e-02, -6.0235e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 413 \tAcc: 0.75 \tLoss: 0.824 \tMean Loss: 1.607 \tMean Acc: 0.442\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-3.0540e-01, 1.1815e-16, -1.6884e-01, -3.5330e-01],\n", - " [-3.0540e-01, 4.6239e-17, -6.6771e-01, -3.1513e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 414 \tAcc: 0.75 \tLoss: 1.077 \tMean Loss: 1.576 \tMean Acc: 0.467\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.5181e-01, -2.5959e-17, -2.8354e-02, -2.6442e-01],\n", - " [-1.5181e-01, -4.1466e-18, -3.1871e-01, -7.0752e-03]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 415 \tAcc: 0.25 \tLoss: 1.606 \tMean Loss: 1.57 \tMean Acc: 0.467\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.8875e-01, 2.9975e-17, 1.2435e-01, 3.4430e-01],\n", - " [ 1.8875e-01, -1.1855e-16, 1.9206e-01, 3.5687e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.491)─────────────╭C───RX(1.621)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.175)──│───╭X──────────RX(5.907)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.956)──╰X──╰C──────────RX(5.048)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 416 \tAcc: 0.5 \tLoss: 1.033 \tMean Loss: 1.555 \tMean Acc: 0.475\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 5.5227e-02, 1.0514e-17, -3.7812e-02, 2.3384e-01],\n", - " [ 5.5227e-02, -1.9773e-20, 6.1473e-02, 2.4806e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 417 \tAcc: 0.5 \tLoss: 1.886 \tMean Loss: 1.554 \tMean Acc: 0.483\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 3.5978e-01, -1.2603e-17, 2.6735e-01, 6.5917e-01],\n", - " [ 3.5978e-01, -6.0216e-17, 4.4492e-01, 6.3859e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 418 \tAcc: 0.75 \tLoss: 1.331 \tMean Loss: 1.521 \tMean Acc: 0.5\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-7.2528e-02, -5.3767e-18, -3.0923e-02, 1.0872e-02],\n", - " [-7.2528e-02, -8.8597e-17, -1.4861e-01, 6.8530e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 419 \tAcc: 0.75 \tLoss: 1.369 \tMean Loss: 1.504 \tMean Acc: 0.508\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-2.4384e-01, -3.7411e-17, -3.0204e-01, -4.4288e-01],\n", - " [-2.4384e-01, 1.1810e-17, -5.6980e-01, -4.3172e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 420 \tAcc: 0.75 \tLoss: 1.067 \tMean Loss: 1.478 \tMean Acc: 0.525\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-7.2812e-02, 1.7048e-16, -2.5681e-01, -4.0088e-01],\n", - " [-7.2812e-02, 6.6163e-17, -3.1172e-01, -4.8793e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.502)─────────────╭C───RX(1.634)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.179)──│───╭X──────────RX(5.912)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.957)──╰X──╰C──────────RX(5.045)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 421 \tAcc: 0.75 \tLoss: 1.221 \tMean Loss: 1.479 \tMean Acc: 0.525\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 6.4708e-02, -8.5713e-17, 8.7818e-02, 1.7538e-01],\n", - " [ 6.4708e-02, -1.3252e-16, -1.7021e-01, 2.2632e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 422 \tAcc: 0.25 \tLoss: 1.86 \tMean Loss: 1.495 \tMean Acc: 0.508\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[3.7854e-01, 3.1783e-17, 1.0204e-01, 5.2127e-01],\n", - " [3.7854e-01, 8.2025e-17, 8.9971e-01, 4.5536e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 423 \tAcc: 0.75 \tLoss: 0.95 \tMean Loss: 1.484 \tMean Acc: 0.517\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 3.2694e-02, -7.5559e-17, -2.1959e-01, 5.9305e-02],\n", - " [ 3.2694e-02, -7.0171e-17, -3.5751e-01, 5.1562e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 424 \tAcc: 0.75 \tLoss: 0.596 \tMean Loss: 1.453 \tMean Acc: 0.525\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-4.0820e-01, -2.4572e-17, -5.0662e-01, -1.0352e+00],\n", - " [-4.0820e-01, -9.6247e-18, -9.8908e-01, -9.9022e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 425 \tAcc: 0.5 \tLoss: 0.942 \tMean Loss: 1.445 \tMean Acc: 0.517\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-5.9276e-02, -6.5297e-17, -1.0361e-01, -2.5012e-01],\n", - " [-5.9276e-02, -5.0529e-17, -7.9332e-02, -2.8655e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.523)─────────────╭C───RX(1.649)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.18)───│───╭X──────────RX(5.912)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.962)──╰X──╰C──────────RX(5.049)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 426 \tAcc: 0.75 \tLoss: 1.374 \tMean Loss: 1.436 \tMean Acc: 0.533\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 7.6205e-02, 3.1804e-17, 1.7806e-01, 4.9833e-01],\n", - " [ 7.6205e-02, -1.3915e-16, -1.5859e-01, 5.8757e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 427 \tAcc: 1.0 \tLoss: 0.788 \tMean Loss: 1.417 \tMean Acc: 0.55\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-4.5825e-02, -1.3757e-16, -4.1305e-02, 2.3526e-02],\n", - " [-4.5825e-02, -5.0567e-18, -1.2882e-01, 2.6731e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 428 \tAcc: 0.25 \tLoss: 1.47 \tMean Loss: 1.401 \tMean Acc: 0.55\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.2832e-01, -3.3200e-18, 1.8451e-01, 3.4558e-01],\n", - " [ 1.2832e-01, 7.8051e-17, 5.1100e-01, 3.0557e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 429 \tAcc: 0.75 \tLoss: 0.631 \tMean Loss: 1.332 \tMean Acc: 0.567\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.0284e-01, -1.9557e-17, 3.0443e-02, -1.0031e-01],\n", - " [-1.0284e-01, -4.1986e-17, 6.4191e-02, -1.2682e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 430 \tAcc: 0.5 \tLoss: 1.538 \tMean Loss: 1.323 \tMean Acc: 0.567\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.8829e-01, 9.9186e-19, 1.9369e-01, 4.0370e-01],\n", - " [ 2.8829e-01, -2.7336e-17, 8.1771e-01, 3.1068e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)───────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.538)─────────────╭C───RX(1.66)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.182)──│───╭X─────────RX(5.915)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.963)──╰X──╰C─────────RX(5.049)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 431 \tAcc: 0.75 \tLoss: 1.825 \tMean Loss: 1.321 \tMean Acc: 0.592\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.0556e-02, -1.0997e-16, 8.0672e-02, 1.5157e-01],\n", - " [ 1.0556e-02, 1.0204e-16, 1.4569e-01, 2.5810e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 432 \tAcc: 0.5 \tLoss: 1.397 \tMean Loss: 1.328 \tMean Acc: 0.592\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[1.8441e-02, 1.6222e-16, 1.6816e-01, 1.1548e-01],\n", - " [1.8441e-02, 9.9835e-17, 1.5871e-01, 2.3912e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 433 \tAcc: 0.75 \tLoss: 1.295 \tMean Loss: 1.33 \tMean Acc: 0.592\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.3992e-02, -4.8665e-17, -1.3639e-01, -7.8697e-02],\n", - " [ 2.3992e-02, 1.1264e-16, 2.3532e-02, -1.2328e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 434 \tAcc: 0.25 \tLoss: 1.685 \tMean Loss: 1.304 \tMean Acc: 0.6\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-3.3864e-02, -1.2070e-16, 2.3592e-01, -8.9713e-02],\n", - " [-3.3864e-02, -8.0230e-17, 2.1060e-01, 5.2145e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 435 \tAcc: 0.75 \tLoss: 1.162 \tMean Loss: 1.265 \tMean Acc: 0.617\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.2259e-01, -6.0420e-17, 7.2510e-02, 6.1973e-02],\n", - " [ 1.2259e-01, 3.3641e-17, -2.9691e-02, 4.6682e-02]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.534)─────────────╭C───RX(1.654)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.175)──│───╭X──────────RX(5.908)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.955)──╰X──╰C──────────RX(5.038)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 436 \tAcc: 0.25 \tLoss: 1.74 \tMean Loss: 1.283 \tMean Acc: 0.608\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-2.5522e-01, 3.6819e-17, 1.0184e-01, 5.0946e-02],\n", - " [-2.5522e-01, -4.2971e-17, 1.2236e-01, 1.2813e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 437 \tAcc: 0.5 \tLoss: 1.734 \tMean Loss: 1.321 \tMean Acc: 0.592\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 3.0813e-01, -3.4241e-17, 4.3312e-02, 4.7279e-01],\n", - " [ 3.0813e-01, -2.4798e-17, 4.7226e-01, 3.2582e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 438 \tAcc: 0.75 \tLoss: 0.956 \tMean Loss: 1.295 \tMean Acc: 0.6\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.0446e-01, -9.6854e-17, -6.7178e-02, -2.2712e-01],\n", - " [-1.0446e-01, -1.3725e-16, -2.5273e-01, -2.2501e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 439 \tAcc: 0.5 \tLoss: 2.314 \tMean Loss: 1.317 \tMean Acc: 0.6\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 3.3467e-01, -7.1546e-17, 2.6764e-01, 5.5660e-01],\n", - " [ 3.3467e-01, 7.6326e-17, 8.6682e-01, 4.4857e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 440 \tAcc: 0.25 \tLoss: 1.773 \tMean Loss: 1.318 \tMean Acc: 0.592\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-8.1549e-02, 9.9500e-17, 7.0954e-02, 8.8951e-02],\n", - " [-8.1549e-02, 1.2549e-16, -1.8130e-01, 1.5802e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.52)──────────────╭C───RX(1.642)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.166)──│───╭X──────────RX(5.899)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.94)───╰X──╰C──────────RX(5.023)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 441 \tAcc: 0.5 \tLoss: 1.223 \tMean Loss: 1.341 \tMean Acc: 0.575\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-2.0629e-01, 2.6070e-17, 1.0715e-02, -1.4662e-01],\n", - " [-2.0629e-01, 4.0483e-17, -4.8139e-01, 3.9722e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 442 \tAcc: 0.0 \tLoss: 1.84 \tMean Loss: 1.35 \tMean Acc: 0.567\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 8.1520e-02, 4.8542e-17, 4.8638e-02, 3.5281e-01],\n", - " [ 8.1520e-02, -1.6233e-16, 7.4773e-01, 5.2555e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 443 \tAcc: 0.5 \tLoss: 1.106 \tMean Loss: 1.36 \tMean Acc: 0.558\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.1525e-01, -6.2643e-17, 2.9525e-01, 2.7266e-01],\n", - " [ 1.1525e-01, 7.7235e-17, 4.0661e-01, 3.1063e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 444 \tAcc: 0.5 \tLoss: 1.356 \tMean Loss: 1.369 \tMean Acc: 0.55\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.2868e-02, -1.2224e-17, 5.9391e-02, -5.7156e-02],\n", - " [ 2.2868e-02, -5.8353e-17, 2.4880e-02, -1.8847e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 445 \tAcc: 0.5 \tLoss: 1.564 \tMean Loss: 1.368 \tMean Acc: 0.558\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[1.3431e-01, 3.6603e-18, 7.0922e-03, 1.3756e-01],\n", - " [1.3431e-01, 9.0392e-21, 2.0106e-01, 1.5465e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.5)───────────────╭C───RX(1.627)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.157)──│───╭X──────────RX(5.89)───┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.92)───╰X──╰C──────────RX(4.999)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 446 \tAcc: 0.0 \tLoss: 2.294 \tMean Loss: 1.41 \tMean Acc: 0.542\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-3.0295e-01, -6.2986e-17, -4.1666e-01, -8.4448e-01],\n", - " [-3.0295e-01, 1.8025e-16, -3.9167e-01, -9.8996e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 447 \tAcc: 0.5 \tLoss: 0.997 \tMean Loss: 1.38 \tMean Acc: 0.542\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-3.7316e-02, -5.8854e-17, 5.9736e-02, -2.0566e-01],\n", - " [-3.7316e-02, -9.3537e-17, -4.6788e-03, -1.6442e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 448 \tAcc: 0.5 \tLoss: 1.681 \tMean Loss: 1.392 \tMean Acc: 0.533\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.4267e-01, 9.5553e-18, -6.7669e-02, 1.7747e-01],\n", - " [ 1.4267e-01, -1.1933e-17, 5.1622e-01, 7.4947e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 449 \tAcc: 0.0 \tLoss: 1.993 \tMean Loss: 1.412 \tMean Acc: 0.508\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 3.4571e-01, -4.2229e-17, 3.4357e-01, 5.8742e-01],\n", - " [ 3.4571e-01, 1.8987e-16, 1.4032e+00, 5.7680e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 450 \tAcc: 0.5 \tLoss: 0.843 \tMean Loss: 1.405 \tMean Acc: 0.5\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-7.1948e-02, 9.4551e-17, 2.3519e-02, -8.3018e-03],\n", - " [-7.1948e-02, -1.1564e-16, -7.7823e-02, 7.7655e-03]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.49)──────────────╭C───RX(1.607)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.15)───│───╭X──────────RX(5.882)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.915)──╰X──╰C──────────RX(4.992)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 451 \tAcc: 0.25 \tLoss: 2.094 \tMean Loss: 1.434 \tMean Acc: 0.483\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.7422e-02, 4.2780e-17, -1.5963e-01, -2.8410e-01],\n", - " [ 2.7422e-02, 2.2555e-16, 3.6499e-01, -4.7405e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 452 \tAcc: 0.25 \tLoss: 1.7 \tMean Loss: 1.429 \tMean Acc: 0.483\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 6.0536e-02, 1.1338e-16, -3.8922e-02, -1.3807e-01],\n", - " [ 6.0536e-02, -7.0760e-17, 2.0768e-01, -1.2629e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 453 \tAcc: 0.25 \tLoss: 3.201 \tMean Loss: 1.504 \tMean Acc: 0.467\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-2.2784e-01, -1.0966e-17, -3.9475e-02, -3.4588e-01],\n", - " [-2.2784e-01, 1.6528e-16, -1.9911e-01, -1.8062e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 454 \tAcc: 0.5 \tLoss: 1.6 \tMean Loss: 1.537 \tMean Acc: 0.458\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.9109e-01, -5.2519e-17, -2.5734e-01, -2.8744e-01],\n", - " [-1.9109e-01, -9.1361e-17, -1.4534e-01, -4.5697e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 455 \tAcc: 0.0 \tLoss: 2.377 \tMean Loss: 1.585 \tMean Acc: 0.442\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-5.1219e-01, -1.9854e-17, -2.9297e-01, -5.8912e-01],\n", - " [-5.1219e-01, -1.4470e-16, -8.7521e-01, -5.8231e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.491)─────────────╭C───RX(1.586)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.149)──│───╭X──────────RX(5.882)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.921)──╰X──╰C──────────RX(4.999)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 456 \tAcc: 0.5 \tLoss: 1.454 \tMean Loss: 1.588 \tMean Acc: 0.433\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-3.8634e-02, -1.9984e-17, -3.1377e-02, -1.0268e-01],\n", - " [-3.8634e-02, 1.7937e-17, -8.1211e-02, -5.5766e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 457 \tAcc: 0.75 \tLoss: 0.931 \tMean Loss: 1.592 \tMean Acc: 0.425\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.3543e-02, -1.3407e-16, -1.1225e-01, -1.4137e-01],\n", - " [ 1.3543e-02, -3.2489e-17, -4.5245e-02, -1.8415e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 458 \tAcc: 0.5 \tLoss: 1.032 \tMean Loss: 1.578 \tMean Acc: 0.433\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.3068e-02, -3.7005e-17, 8.3333e-02, 7.2509e-02],\n", - " [-1.3068e-02, -1.5622e-17, 3.7787e-02, 1.8249e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 459 \tAcc: 0.75 \tLoss: 0.823 \tMean Loss: 1.584 \tMean Acc: 0.433\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-3.5531e-01, -1.7685e-18, -4.5520e-01, -6.4802e-01],\n", - " [-3.5531e-01, -1.1933e-16, -6.8988e-01, -9.1200e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 460 \tAcc: 0.5 \tLoss: 1.146 \tMean Loss: 1.571 \tMean Acc: 0.433\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-4.4789e-02, -6.2001e-18, -5.2647e-02, 5.6924e-02],\n", - " [-4.4789e-02, 2.3052e-17, -2.9109e-01, -5.3506e-02]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.509)─────────────╭C───RX(1.586)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.172)──│───╭X──────────RX(5.905)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.944)──╰X──╰C──────────RX(5.022)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 461 \tAcc: 0.5 \tLoss: 1.572 \tMean Loss: 1.563 \tMean Acc: 0.425\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.2952e-01, -6.7532e-17, 1.5359e-01, 7.7087e-02],\n", - " [-1.2952e-01, 6.6192e-17, -1.7773e-01, 3.4162e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 462 \tAcc: 0.25 \tLoss: 1.928 \tMean Loss: 1.58 \tMean Acc: 0.417\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-6.6507e-02, 1.0473e-16, -8.1206e-02, -3.9281e-03],\n", - " [-6.6507e-02, 3.5937e-17, -1.1490e-01, -5.4458e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 463 \tAcc: 0.25 \tLoss: 2.207 \tMean Loss: 1.611 \tMean Acc: 0.4\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 4.9162e-02, -1.4175e-16, -8.5566e-02, 1.7127e-01],\n", - " [ 4.9162e-02, -3.9372e-17, -3.7398e-01, 1.3020e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 464 \tAcc: 0.75 \tLoss: 1.186 \tMean Loss: 1.594 \tMean Acc: 0.417\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.2920e-01, -1.4404e-16, -2.1760e-01, -2.2759e-01],\n", - " [-1.2920e-01, -1.0936e-16, -5.2411e-01, -2.8952e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 465 \tAcc: 0.5 \tLoss: 2.052 \tMean Loss: 1.624 \tMean Acc: 0.408\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.9359e-01, -1.0783e-16, -2.6166e-01, 5.1478e-01],\n", - " [ 2.9359e-01, -5.6605e-17, 4.8700e-01, -1.2583e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.531)─────────────╭C───RX(1.599)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.197)──│───╭X──────────RX(5.929)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.959)──╰X──╰C──────────RX(5.041)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 466 \tAcc: 0.75 \tLoss: 1.293 \tMean Loss: 1.609 \tMean Acc: 0.425\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 5.1648e-01, -1.2304e-16, 4.1621e-01, 1.0103e+00],\n", - " [ 5.1648e-01, 1.5228e-16, 9.1302e-01, 9.5770e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 467 \tAcc: 0.0 \tLoss: 1.992 \tMean Loss: 1.618 \tMean Acc: 0.408\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[3.3926e-01, 1.1446e-17, 1.9582e-01, 6.6511e-01],\n", - " [3.3926e-01, 2.4589e-17, 7.3997e-01, 6.6413e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 468 \tAcc: 0.25 \tLoss: 1.866 \tMean Loss: 1.648 \tMean Acc: 0.392\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-7.5174e-02, 1.1894e-16, 1.0114e-01, -4.9168e-02],\n", - " [-7.5174e-02, 1.2278e-17, -3.2621e-01, -2.2868e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 469 \tAcc: 0.5 \tLoss: 1.913 \tMean Loss: 1.634 \tMean Acc: 0.392\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 3.4845e-01, 3.2300e-17, 6.5208e-02, 4.6751e-01],\n", - " [ 3.4845e-01, -5.7986e-17, 6.5582e-01, 3.1509e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 470 \tAcc: 0.5 \tLoss: 1.553 \tMean Loss: 1.627 \tMean Acc: 0.4\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.7707e-01, 5.9937e-17, -3.6838e-03, -2.9802e-01],\n", - " [-1.7707e-01, 4.7629e-17, -3.4438e-01, -2.3614e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.536)─────────────╭C───RX(1.591)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.18)───│───╭X──────────RX(5.913)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.937)──╰X──╰C──────────RX(5.033)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 471 \tAcc: 0.5 \tLoss: 1.335 \tMean Loss: 1.631 \tMean Acc: 0.4\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 5.9747e-02, -1.6630e-17, -1.1025e-01, 1.0946e-01],\n", - " [ 5.9747e-02, 8.1272e-17, -2.4100e-02, 2.9658e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 472 \tAcc: 0.5 \tLoss: 1.682 \tMean Loss: 1.626 \tMean Acc: 0.417\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 3.5944e-01, -1.1344e-17, 5.7581e-02, 5.0833e-01],\n", - " [ 3.5944e-01, 3.1791e-17, 1.0932e-01, 3.1957e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 473 \tAcc: 0.25 \tLoss: 1.68 \tMean Loss: 1.645 \tMean Acc: 0.408\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 7.2320e-02, 6.1854e-17, -8.6858e-02, 5.0972e-02],\n", - " [ 7.2320e-02, -8.8251e-17, -4.2150e-02, -1.7764e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 474 \tAcc: 0.5 \tLoss: 1.222 \tMean Loss: 1.64 \tMean Acc: 0.408\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.4786e-01, -7.9210e-18, 6.4627e-02, -1.6505e-01],\n", - " [-1.4786e-01, 7.5400e-17, -3.0076e-01, -6.8815e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 475 \tAcc: 0.5 \tLoss: 1.513 \tMean Loss: 1.639 \tMean Acc: 0.408\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[2.3663e-01, 2.6135e-17, 2.7481e-02, 4.3270e-01],\n", - " [2.3663e-01, 1.7599e-17, 1.0395e-01, 3.6040e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.538)─────────────╭C───RX(1.586)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.157)──│───╭X──────────RX(5.89)───┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.912)──╰X──╰C──────────RX(5.022)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 476 \tAcc: 0.25 \tLoss: 1.961 \tMean Loss: 1.627 \tMean Acc: 0.417\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[4.5291e-01, 3.8403e-16, 3.4458e-01, 9.7952e-01],\n", - " [4.5291e-01, 3.0952e-16, 8.7115e-01, 8.8147e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 477 \tAcc: 0.75 \tLoss: 1.406 \tMean Loss: 1.641 \tMean Acc: 0.425\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-2.8548e-01, -5.4907e-17, -2.7691e-01, -6.9656e-01],\n", - " [-2.8548e-01, -8.3582e-17, -7.0859e-01, -6.4983e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 478 \tAcc: 0.5 \tLoss: 1.717 \tMean Loss: 1.642 \tMean Acc: 0.425\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.3390e-01, -2.7541e-16, -1.1871e-01, -4.3668e-01],\n", - " [-1.3390e-01, 1.3624e-17, -4.0851e-01, -4.1970e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 479 \tAcc: 0.5 \tLoss: 1.308 \tMean Loss: 1.619 \tMean Acc: 0.442\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.4612e-02, 3.2910e-17, 5.4821e-02, 3.3018e-01],\n", - " [ 2.4612e-02, 5.9463e-17, -7.6796e-02, 4.1836e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 480 \tAcc: 0.5 \tLoss: 1.169 \tMean Loss: 1.63 \tMean Acc: 0.442\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.8134e-01, 1.7837e-17, 1.0993e-01, -1.4511e-01],\n", - " [-1.8134e-01, 6.8201e-19, -2.7606e-01, -1.2934e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.536)─────────────╭C───RX(1.585)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.135)──│───╭X──────────RX(5.868)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.89)───╰X──╰C──────────RX(5.008)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 481 \tAcc: 0.5 \tLoss: 1.358 \tMean Loss: 1.606 \tMean Acc: 0.45\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 2.2545e-01, 3.4077e-17, -1.8854e-01, 5.3520e-01],\n", - " [ 2.2545e-01, 3.2148e-17, 6.9995e-01, 2.3493e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 482 \tAcc: 0.25 \tLoss: 1.936 \tMean Loss: 1.614 \tMean Acc: 0.45\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.4305e-01, 1.2395e-16, 1.7296e-01, 2.7068e-01],\n", - " [ 1.4305e-01, 1.7878e-16, -1.4251e-01, 4.0930e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 483 \tAcc: 0.25 \tLoss: 1.742 \tMean Loss: 1.565 \tMean Acc: 0.45\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.5657e-02, -1.9432e-16, 2.6014e-02, 2.2056e-02],\n", - " [-1.5657e-02, -4.2207e-18, -5.6535e-01, 1.9295e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 484 \tAcc: 0.0 \tLoss: 1.677 \tMean Loss: 1.568 \tMean Acc: 0.433\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 3.8156e-02, -2.0633e-16, -1.0846e-02, -4.9739e-01],\n", - " [ 3.8156e-02, -3.8049e-16, 2.7409e-02, -4.1400e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 485 \tAcc: 0.25 \tLoss: 1.768 \tMean Loss: 1.547 \tMean Acc: 0.442\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-2.4103e-01, -1.2994e-16, -1.2795e-01, -6.4942e-01],\n", - " [-2.4103e-01, -4.0342e-16, -7.8457e-01, -5.9709e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.535)─────────────╭C───RX(1.589)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.12)───│───╭X──────────RX(5.853)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.873)──╰X──╰C──────────RX(4.996)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 486 \tAcc: 0.75 \tLoss: 0.913 \tMean Loss: 1.529 \tMean Acc: 0.45\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-3.5386e-01, -3.1643e-16, 1.6990e-02, -6.1185e-01],\n", - " [-3.5386e-01, 3.4197e-16, -8.3439e-01, -3.7116e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 487 \tAcc: 0.5 \tLoss: 1.473 \tMean Loss: 1.547 \tMean Acc: 0.442\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-3.4678e-02, -2.3103e-17, -2.9323e-01, -1.2974e-01],\n", - " [-3.4678e-02, 6.9549e-17, -2.1657e-01, -2.1323e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 488 \tAcc: 0.75 \tLoss: 1.103 \tMean Loss: 1.55 \tMean Acc: 0.45\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-9.4402e-02, 6.7136e-18, 1.3906e-01, 5.2185e-02],\n", - " [-9.4402e-02, -2.7469e-17, -9.9864e-02, -3.8679e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 489 \tAcc: 0.75 \tLoss: 0.955 \tMean Loss: 1.554 \tMean Acc: 0.45\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 5.6957e-02, 4.1884e-17, 7.7621e-02, 1.5050e-01],\n", - " [ 5.6957e-02, -1.4610e-17, 1.9732e-01, 1.2500e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 490 \tAcc: 0.75 \tLoss: 1.138 \tMean Loss: 1.554 \tMean Acc: 0.458\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 7.7828e-02, -5.7004e-18, 3.2829e-02, -4.4744e-02],\n", - " [ 7.7828e-02, -3.6266e-17, 2.0164e-01, -8.5136e-02]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)───────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.54)──────────────╭C───RX(1.61)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.127)──│───╭X─────────RX(5.86)───┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.884)──╰X──╰C─────────RX(5.005)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 491 \tAcc: 0.25 \tLoss: 1.623 \tMean Loss: 1.556 \tMean Acc: 0.45\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.8471e-01, 1.3327e-17, -6.5087e-02, -1.9538e-01],\n", - " [-1.8471e-01, -2.2238e-17, -8.5266e-01, 1.9816e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 492 \tAcc: 0.5 \tLoss: 1.113 \tMean Loss: 1.528 \tMean Acc: 0.458\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.0305e-01, -3.5103e-17, 5.0781e-02, 3.9051e-02],\n", - " [ 1.0305e-01, -2.1303e-18, 3.5230e-01, -2.4876e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 493 \tAcc: 0.25 \tLoss: 2.324 \tMean Loss: 1.532 \tMean Acc: 0.458\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-2.8231e-01, 4.8643e-17, 1.4787e-01, -3.7557e-01],\n", - " [-2.8231e-01, -2.8941e-18, -9.4957e-01, -1.7333e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 494 \tAcc: 0.75 \tLoss: 1.157 \tMean Loss: 1.531 \tMean Acc: 0.458\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.6106e-02, 1.0874e-16, -2.4107e-02, -3.0396e-02],\n", - " [ 1.6106e-02, 3.3565e-17, -3.0365e-01, 2.4708e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 495 \tAcc: 0.25 \tLoss: 2.329 \tMean Loss: 1.541 \tMean Acc: 0.45\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.6935e-01, 7.1271e-17, 2.3539e-01, 2.6314e-02],\n", - " [-1.6935e-01, 1.2664e-16, -1.8805e-02, 5.9576e-02]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.537)─────────────╭C───RX(1.633)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.139)──│───╭X──────────RX(5.871)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.896)──╰X──╰C──────────RX(5.012)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 496 \tAcc: 0.25 \tLoss: 1.821 \tMean Loss: 1.558 \tMean Acc: 0.433\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-1.5741e-01, 4.0451e-17, -1.5881e-01, -1.7436e-02],\n", - " [-1.5741e-01, 3.8788e-17, -3.7932e-01, -5.0719e-02]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 497 \tAcc: 0.25 \tLoss: 1.425 \tMean Loss: 1.539 \tMean Acc: 0.442\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 5.4609e-02, -7.1495e-17, 9.4237e-03, 1.3650e-01],\n", - " [ 5.4609e-02, -4.0292e-17, 8.1854e-02, 1.7591e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 498 \tAcc: 0.5 \tLoss: 1.355 \tMean Loss: 1.522 \tMean Acc: 0.45\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[1.1930e-01, 1.1865e-16, 2.4465e-01, 1.4889e-01],\n", - " [1.1930e-01, 1.1654e-17, 4.0632e-02, 1.4419e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 499 \tAcc: 0.5 \tLoss: 1.286 \tMean Loss: 1.501 \tMean Acc: 0.45\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[ 1.4860e-01, 8.2745e-17, 2.3511e-01, 1.3463e-01],\n", - " [ 1.4860e-01, -9.3299e-17, 3.2158e-01, 1.1324e-01]])\n", - "---------------------------------------\n", - "\n", - "Epoch: 0 \tStep: 500 \tAcc: 0.75 \tLoss: 1.563 \tMean Loss: 1.502 \tMean Acc: 0.458\n", - "\n", - "Gradients Layer 0:\n", - "tensor([[-9.8180e-03, 1.4944e-18, 3.4246e-03, -1.1202e-01],\n", - " [-9.8180e-03, 7.0792e-18, -2.3717e-01, -1.9143e-01]])\n", - " 0: ──RY(0)───RZ(1.067)───RZ(0.549)────────────────────────────────────────┤ ⟨Z⟩ \n", - " 1: ──RY(0)──╭C───────────RX(2.526)─────────────╭C───RX(1.653)─────────────┤ ⟨Z⟩ \n", - " 2: ──RY(0)──│───────────╭X──────────RX(2.15)───│───╭X──────────RX(5.883)──┤ ⟨Z⟩ \n", - " 3: ──RY(0)──╰X──────────╰C──────────RX(1.901)──╰X──╰C──────────RX(5.013)──┤ ⟨Z⟩ \n", - "\n", - "---------------------------------------\n", - "\n" + "Gradients Layer 0:\n" ] }, { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" + "ename": "AttributeError", + "evalue": "'QNode' object has no attribute 'weights'", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mAttributeError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[1;32mIn[7], line 18\u001b[0m\n\u001b[0;32m 11\u001b[0m model \u001b[38;5;241m=\u001b[39m torch\u001b[38;5;241m.\u001b[39mnn\u001b[38;5;241m.\u001b[39mSequential(\n\u001b[0;32m 12\u001b[0m QonvLayer(stride\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m2\u001b[39m, circuit_layers\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m2\u001b[39m, n_rotations\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m4\u001b[39m, out_channels\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m4\u001b[39m, seed\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m9321727\u001b[39m),\n\u001b[0;32m 13\u001b[0m torch\u001b[38;5;241m.\u001b[39mnn\u001b[38;5;241m.\u001b[39mFlatten(),\n\u001b[0;32m 14\u001b[0m torch\u001b[38;5;241m.\u001b[39mnn\u001b[38;5;241m.\u001b[39mLinear(in_features\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m14\u001b[39m\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m14\u001b[39m\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m4\u001b[39m, out_features\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m10\u001b[39m)\n\u001b[0;32m 15\u001b[0m )\n\u001b[0;32m 17\u001b[0m \u001b[38;5;66;03m# start training\u001b[39;00m\n\u001b[1;32m---> 18\u001b[0m model, losses, accs \u001b[38;5;241m=\u001b[39m \u001b[43mtrain\u001b[49m\u001b[43m(\u001b[49m\u001b[43mmodel\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtrain_loader\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mepochs\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[0;32m 21\u001b[0m \u001b[38;5;66;03m# plot losses and accuracies\u001b[39;00m\n\u001b[0;32m 22\u001b[0m fig, (ax1, ax2) \u001b[38;5;241m=\u001b[39m plt\u001b[38;5;241m.\u001b[39msubplots(\u001b[38;5;241m1\u001b[39m,\u001b[38;5;241m2\u001b[39m, figsize\u001b[38;5;241m=\u001b[39m(\u001b[38;5;241m16\u001b[39m, \u001b[38;5;241m4\u001b[39m))\n", + "Cell \u001b[1;32mIn[6], line 44\u001b[0m, in \u001b[0;36mtrain\u001b[1;34m(model, train_loader, epochs)\u001b[0m\n\u001b[0;32m 36\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mEpoch:\u001b[39m\u001b[38;5;124m\"\u001b[39m, epoch, \n\u001b[0;32m 37\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;130;01m\\t\u001b[39;00m\u001b[38;5;124mStep:\u001b[39m\u001b[38;5;124m\"\u001b[39m, i, \n\u001b[0;32m 38\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;130;01m\\t\u001b[39;00m\u001b[38;5;124mAcc:\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;28mround\u001b[39m(acc, \u001b[38;5;241m3\u001b[39m), \n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 41\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;130;01m\\t\u001b[39;00m\u001b[38;5;124mMean Acc:\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;28mround\u001b[39m(\u001b[38;5;28mfloat\u001b[39m(accs[\u001b[38;5;241m-\u001b[39m\u001b[38;5;241m30\u001b[39m:]\u001b[38;5;241m.\u001b[39mmean()), \u001b[38;5;241m3\u001b[39m)\n\u001b[0;32m 42\u001b[0m )\n\u001b[0;32m 43\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;124mGradients Layer 0:\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m---> 44\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[43mmodel\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m]\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcircuit\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mweights\u001b[49m\u001b[38;5;241m.\u001b[39mgrad)\n\u001b[0;32m 46\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m i \u001b[38;5;241m%\u001b[39m \u001b[38;5;241m5\u001b[39m \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m0\u001b[39m:\n\u001b[0;32m 47\u001b[0m model[\u001b[38;5;241m0\u001b[39m]\u001b[38;5;241m.\u001b[39mdraw()\n", + "File \u001b[1;32m~\\anaconda3\\envs\\pennylane_env\\lib\\site-packages\\pennylane\\qnn\\torch.py:460\u001b[0m, in \u001b[0;36mTorchLayer.__getattr__\u001b[1;34m(self, item)\u001b[0m\n\u001b[0;32m 458\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"If the given attribute does not exist in the class, look for it in the wrapped QNode.\"\"\"\u001b[39;00m\n\u001b[0;32m 459\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_initialized:\n\u001b[1;32m--> 460\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mgetattr\u001b[39;49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mqnode\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mitem\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 462\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m 463\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__dict__\u001b[39m[item]\n", + "\u001b[1;31mAttributeError\u001b[0m: 'QNode' object has no attribute 'weights'" + ] } ], "source": [ @@ -4333,6 +396,13 @@ " ax2.set_ylabel(\"Accuracy\")" ] }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, { "cell_type": "code", "execution_count": null, @@ -4343,7 +413,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -4357,7 +427,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.4" + "version": "3.8.16" } }, "nbformat": 4,