{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Binary Classification\n", "\n", "This is a basic example in which we learn to ground unary predicate $A$ that is defined in the space of $[0,1]^2$.\n", "\n", "We define the predicate $A$ to apply to points that are close to the middle point $c=(.5,.5)$.In order to get training data, we randomly sample data from the domain. We split the sample data into two separate sets based on their euclidian distance to $c$. We then define two facts for the predicate $A$. For all points the predicate should apply to, we provide them as positive examples and vice versa for all points that the predicate does not apply to." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Init Plugin\n", "Init Graph Optimizer\n", "Init Kernel\n" ] } ], "source": [ "import logging; logging.basicConfig(level=logging.INFO)\n", "import tensorflow as tf\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import ltn\n", "\n", "plt.rcParams['font.size'] = 12\n", "plt.rcParams['axes.linewidth'] = 1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Sample random data from $[0,1]^2$. Our groundtruth positive training data for $A$ is close to the center (.5,.5). All other data is considered as negative examples." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Metal device set to: Apple M1\n", "\n", "systemMemory: 16.00 GB\n", "maxCacheSize: 5.33 GB\n", "\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "2021-08-30 16:44:34.365605: I tensorflow/core/common_runtime/pluggable_device/pluggable_device_factory.cc:305] Could not identify NUMA node of platform GPU ID 0, defaulting to 0. Your kernel may not have been built with NUMA support.\n", "2021-08-30 16:44:34.365723: I tensorflow/core/common_runtime/pluggable_device/pluggable_device_factory.cc:271] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 0 MB memory) -> physical PluggableDevice (device: 0, name: METAL, pci bus id: )\n" ] }, { "data": { "image/png": "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", "image/svg+xml": "\n\n\n \n \n \n \n 2021-08-30T16:44:34.423751\n image/svg+xml\n \n \n Matplotlib v3.4.3, https://matplotlib.org/\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "batch_size=64\n", "nr_samples = 100\n", "nr_samples_train = 50\n", "data = np.random.uniform([0,0],[1,1],(nr_samples,2))\n", "labels = np.sum(np.square(data-[.5,.5]),axis=1)<.09\n", "\n", "# 400 examples for training; 100 examples for training\n", "ds_train = tf.data.Dataset\\\n", " .from_tensor_slices((data[:nr_samples_train],labels[:nr_samples_train]))\\\n", " .batch(batch_size)\n", "ds_test = tf.data.Dataset\\\n", " .from_tensor_slices((data[nr_samples_train:],labels[nr_samples_train:]))\\\n", " .batch(batch_size)\n", "\n", "plt.figure(figsize=(4,4))\n", "plt.scatter(data[labels][:,0],data[labels][:,1],label='A')\n", "plt.scatter(data[np.logical_not(labels)][:,0],data[np.logical_not(labels)][:,1],label='~A')\n", "plt.title(\"Groundtruth\")\n", "plt.legend()\n", "plt.show()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Define the predicate $A$. $A$ has arity 1 (single argument). The dimension of the argument is 2 (since the domain is $[0,1]^2$)." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "A = ltn.Predicate.MLP([2],hidden_layer_sizes=(16,16))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Import some operators to write the axioms." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "Not = ltn.Wrapper_Connective(ltn.fuzzy_ops.Not_Std())\n", "And = ltn.Wrapper_Connective(ltn.fuzzy_ops.And_Prod())\n", "Or = ltn.Wrapper_Connective(ltn.fuzzy_ops.Or_ProbSum())\n", "Implies = ltn.Wrapper_Connective(ltn.fuzzy_ops.Implies_Reichenbach())\n", "Forall = ltn.Wrapper_Quantifier(ltn.fuzzy_ops.Aggreg_pMeanError(p=2),semantics=\"forall\")\n", "Exists = ltn.Wrapper_Quantifier(ltn.fuzzy_ops.Aggreg_pMean(p=2),semantics=\"exists\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we add some facts to the knowledgebase. We express that for all points in $\\mathrm{data\\_A}$, $A$ should be true. For all points in $\\mathrm{data\\_not\\_A}$, $A$ is not true. " ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "formula_aggregator = ltn.Wrapper_Formula_Aggregator(ltn.fuzzy_ops.Aggreg_pMeanError(p=2))\n", "\n", "@tf.function\n", "def axioms(data, labels):\n", " x_A = ltn.Variable(\"x_A\",data[labels])\n", " x_not_A = ltn.Variable(\"x_not_A\",data[tf.logical_not(labels)])\n", " axioms = [\n", " Forall(x_A, A(x_A)),\n", " Forall(x_not_A, Not(A(x_not_A)))\n", " ]\n", " sat_level = formula_aggregator(axioms).tensor\n", " return sat_level" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Initialize all layers and the static graph." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Initial sat level 0.49834\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "2021-08-30 16:44:47.259520: I tensorflow/compiler/mlir/mlir_graph_optimization_pass.cc:176] None of the MLIR Optimization Passes are enabled (registered 2)\n", "2021-08-30 16:44:47.260300: W tensorflow/core/platform/profile_utils/cpu_utils.cc:128] Failed to get CPU frequency: 0 Hz\n", "2021-08-30 16:44:47.260349: I tensorflow/core/grappler/optimizers/custom_graph_optimizer_registry.cc:112] Plugin optimizer for device_type GPU is enabled.\n" ] } ], "source": [ "for _data, _labels in ds_test:\n", " print(\"Initial sat level %.5f\"%axioms(_data, _labels))\n", " break\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Train on the knowledgebase." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "2021-08-30 16:44:50.118987: I tensorflow/core/grappler/optimizers/custom_graph_optimizer_registry.cc:112] Plugin optimizer for device_type GPU is enabled.\n", "2021-08-30 16:44:50.186417: I tensorflow/core/grappler/optimizers/custom_graph_optimizer_registry.cc:112] Plugin optimizer for device_type GPU is enabled.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 0: Sat Level 0.499\n", "Epoch 100: Sat Level 0.500\n", "Epoch 200: Sat Level 0.520\n", "Epoch 300: Sat Level 0.584\n", "Epoch 400: Sat Level 0.585\n", "Epoch 500: Sat Level 0.617\n", "Epoch 600: Sat Level 0.645\n", "Epoch 700: Sat Level 0.640\n", "Epoch 800: Sat Level 0.627\n", "Epoch 900: Sat Level 0.616\n", "Epoch 1000: Sat Level 0.608\n", "Epoch 1100: Sat Level 0.602\n", "Epoch 1200: Sat Level 0.597\n", "Epoch 1300: Sat Level 0.594\n", "Epoch 1400: Sat Level 0.592\n", "Epoch 1500: Sat Level 0.590\n", "Epoch 1600: Sat Level 0.588\n", "Epoch 1700: Sat Level 0.587\n", "Epoch 1800: Sat Level 0.586\n", "Epoch 1900: Sat Level 0.585\n", "Training finished at Epoch 1999 with Sat Level 0.585\n" ] } ], "source": [ "mean_metrics = tf.keras.metrics.Mean()\n", "\n", "trainable_variables = A.trainable_variables\n", "optimizer = tf.keras.optimizers.Adam(learning_rate=0.001)\n", "for epoch in range(2000):\n", " for _data, _labels in ds_train:\n", " with tf.GradientTape() as tape:\n", " loss = 1. - axioms(_data, _labels)\n", " grads = tape.gradient(loss, trainable_variables)\n", " optimizer.apply_gradients(zip(grads, trainable_variables))\n", " if epoch%100 == 0:\n", " mean_metrics.reset_states()\n", " for _data, _labels in ds_test:\n", " mean_metrics(axioms(_data, _labels))\n", " print(\"Epoch %d: Sat Level %.3f\"%(epoch, mean_metrics.result() ))\n", "mean_metrics.reset_states()\n", "for _data, _labels in ds_test:\n", " mean_metrics(axioms(_data, _labels))\n", "print(\"Training finished at Epoch %d with Sat Level %.3f\"%(epoch, mean_metrics.result() ))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The following queries the database on training data and test data. Vizualisation show the extent of generalization." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "image/svg+xml": "\n\n\n \n \n \n \n 2021-08-30T16:45:33.989728\n image/svg+xml\n \n \n Matplotlib v3.4.3, https://matplotlib.org/\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig = plt.figure(figsize=(9, 11))\n", "\n", "plt.subplots_adjust(wspace=0.2,hspace=0.3)\n", "ax = plt.subplot2grid((3,8),(0,2),colspan=4)\n", "ax.set_title(\"groundtruth\")\n", "ax.scatter(data[labels][:,0],data[labels][:,1],label='A')\n", "ax.scatter(data[np.logical_not(labels)][:,0],data[np.logical_not(labels)][:,1],label='~A')\n", "ax.legend()\n", "\n", "# Training data\n", "x = ltn.Variable(\"x\",data[:nr_samples_train])\n", "fig.add_subplot(3, 2, 3)\n", "result=A(x)\n", "plt.title(\"A(x) - training data\")\n", "plt.scatter(data[:nr_samples_train,0],data[:nr_samples_train,1],c=result.tensor.numpy().squeeze())\n", "plt.colorbar()\n", "\n", "fig.add_subplot(3, 2, 4)\n", "result=Not(A(x))\n", "plt.title(\"~A(x) - training data\")\n", "plt.scatter(data[:nr_samples_train,0],data[:nr_samples_train,1],c=result.tensor.numpy().squeeze())\n", "plt.colorbar()\n", "\n", "# Test data\n", "x = ltn.Variable(\"x\",data[nr_samples_train:])\n", "fig.add_subplot(3, 2, 5)\n", "\n", "result=A(x)\n", "plt.title(\"A(x) - test data\")\n", "plt.scatter(data[nr_samples_train:,0],data[nr_samples_train:,1],c=result.tensor.numpy().squeeze())\n", "plt.colorbar()\n", "\n", "fig.add_subplot(3, 2, 6)\n", "result=Not(A(x))\n", "plt.title(\"~A(x) - test data\")\n", "plt.scatter(data[nr_samples_train:,0],data[nr_samples_train:,1],c=result.tensor.numpy().squeeze())\n", "plt.colorbar()\n", "plt.savefig(\"ex_binary_testing.pdf\")\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "interpreter": { "hash": "889985fd10eb245a43f2ae5f5aa0c555254f5b898fe16071f1c89d06fa8d76a2" }, "kernelspec": { "display_name": "Python 3.9.6 64-bit ('tf-py39': conda)", "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.9.6" } }, "nbformat": 4, "nbformat_minor": 4 }