{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import tensorflow as tf\n", "import matplotlib.pyplot as plt\n", "import os\n", "import pickle\n", "import math\n", "\n", "trunc_normal= tf.truncated_normal_initializer(stddev=1)\n", "normal = tf.random_normal_initializer(stddev=1)\n", "\n", "from architectures.data_processing import *\n", "from architectures.utils.toolbox import *\n", "from architectures.DNN import *" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "l_index=1\n", "mag_index=1" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "with open('/disk/lhcb_data/davide/Rphipi/NN_for_selection/'+l_flv[l_index]+l_flv[l_index]+'/'+'data_for_NN_'+l_flv[l_index]+l_flv[l_index]+'_Mag'+mag_status[mag_index]+'.pickle', 'rb') as f:\n", " data_dict=pickle.load(f, encoding='latin1')" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "\n", "data_dict[\"Ds_ENDVERTEX_CHI2\"]=data_dict[\"Ds_ENDVERTEX_CHI2\"]/data_dict[\"Ds_ENDVERTEX_NDOF\"]\n", "data_dict[\"Ds_OWNPV_CHI2\"]=data_dict[\"Ds_OWNPV_CHI2\"]/data_dict[\"Ds_OWNPV_NDOF\"]\n", "data_dict[\"Ds_IPCHI2_OWNPV\"]=data_dict[\"Ds_IPCHI2_OWNPV\"]/data_dict[\"Ds_ENDVERTEX_NDOF\"]\n", "\n", "del data_dict[\"Ds_ENDVERTEX_NDOF\"]\n", "del data_dict[\"Ds_OWNPV_NDOF\"]\n", "\n", "data_dict[\"phi_ENDVERTEX_CHI2\"]=data_dict[\"phi_ENDVERTEX_CHI2\"]/data_dict[\"phi_ENDVERTEX_NDOF\"]\n", "data_dict[\"phi_OWNPV_CHI2\"]=data_dict[\"phi_OWNPV_CHI2\"]/data_dict[\"phi_OWNPV_NDOF\"]\n", "data_dict[\"phi_IPCHI2_OWNPV\"]=data_dict[\"phi_IPCHI2_OWNPV\"]/data_dict[\"phi_ENDVERTEX_NDOF\"]\n", "\n", "del data_dict[\"phi_ENDVERTEX_NDOF\"]\n", "del data_dict[\"phi_OWNPV_NDOF\"]\n" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "branches_needed = [\n", " \"Ds_ENDVERTEX_CHI2\",\n", " #\"Ds_ENDVERTEX_NDOF\",\n", " \"Ds_OWNPV_CHI2\",\n", " #\"Ds_OWNPV_NDOF\",\n", " \"Ds_IPCHI2_OWNPV\",\n", " \"Ds_IP_OWNPV\",\n", " \"Ds_DIRA_OWNPV\",\n", " #l_flv[l_index]+\"_plus_MC15TuneV1_ProbNN\"+l_flv[l_index],\n", " #\"Ds_Hlt1TrackMVADecision_TOS\",\n", " #\"Ds_Hlt2RareCharmD2Pi\"+l_flv[l_index].capitalize()+l_flv[l_index].capitalize()+\"OSDecision_TOS\",\n", " #\"Ds_Hlt2Phys_TOS\",\n", " \"phi_ENDVERTEX_CHI2\",\n", " #\"phi_ENDVERTEX_NDOF\",\n", " \"phi_OWNPV_CHI2\",\n", " #\"phi_OWNPV_NDOF\",\n", " \"phi_IPCHI2_OWNPV\",\n", " \"phi_IP_OWNPV\",\n", " \"phi_DIRA_OWNPV\",\n", " #\"Ds_ConsD_M\",\n", " ] " ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "#Number of input features\n", "m=data_dict[\"Ds_ConsD_M\"].shape[0]\n", "dim=len(branches_needed)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "data = extract_array(data_dict, branches_needed, dim, m)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(106404, 10)" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.shape" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [], "source": [ "task='TEST'\n", "\n", "PATH=l_flv[l_index]+'_Mag'+mag_status[mag_index]+'_test_3'" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [], "source": [ "if task == 'TEST' and os.path.exists(PATH+'/hyper_parameters.pkl'):\n", " with open(PATH+'/hyper_parameters.pkl', 'rb') as f: \n", " hyper_dict = pickle.load(f)\n", " #for key, item in hyper_dict.items():\n", " # print(key+':'+str(item))\n", " \n", " #m=hyper_dict[\"m\"]\n", " test_size=hyper_dict[\"test_size\"]\n", " LEARNING_RATE=hyper_dict[\"LEARNING_RATE\"]\n", " BETA1=hyper_dict[\"BETA1\"]\n", " BATCH_SIZE=hyper_dict[\"BATCH_SIZE\"]\n", " EPOCHS=hyper_dict[\"EPOCHS\"]\n", " VAL_PERIOD=hyper_dict[\"VAL_PERIOD\"]\n", " SEED=hyper_dict[\"SEED\"]\n", " sizes=hyper_dict[\"sizes\"]\n", " LAMBD=hyper_dict[\"LAMBD\"]\n", " PATH=hyper_dict[\"PATH\"]" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [], "source": [ "def bkg(data):\n", " \n", " batch_size_output=5000\n", " n_batches_output = m//batch_size_output\n", "\n", " tf.reset_default_graph()\n", " nn = DNN(dim, sizes,\n", " lr=LEARNING_RATE, beta1=BETA1, lambd=LAMBD,\n", " batch_size=BATCH_SIZE, epochs=EPOCHS,\n", " save_sample=VAL_PERIOD, path=PATH, seed=SEED)\n", " \n", " vars_to_train= tf.trainable_variables()\n", " vars_all = tf.global_variables()\n", " vars_to_init = list(set(vars_all)-set(vars_to_train))\n", " init_op = tf.variables_initializer(vars_to_init)\n", " \n", " # Add ops to save and restore all the variables.\n", " saver = tf.train.Saver()\n", " gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.333)\n", " \n", " with tf.Session(config=tf.ConfigProto(gpu_options=gpu_options)) as sess:\n", " \n", " sess.run(init_op)\n", " print('\\n Selecting signal events with model...')\n", " saver.restore(sess,PATH+'/CNN_model.ckpt')\n", " print('Model restored.')\n", " \n", " nn.set_session(sess)\n", " output_dict={}\n", " \n", " for i in range(n_batches_output):\n", " small_dataset = data[i:i+batch_size_output]\n", " output_dict[i] = nn.predict(small_dataset)\n", " output=np.concatenate([output_dict[i] for i in range(len(output_dict))])\n", " return output\n" ] }, { "cell_type": "code", "execution_count": 54, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Input for propagation (?, 10)\n", "Logits shape (?, 2)\n", "Input for propagation (?, 10)\n", "Logits shape (?, 2)\n", "\n", " Selecting signal events with model...\n", "INFO:tensorflow:Restoring parameters from mu_MagDown_test_3/CNN_model.ckpt\n", "Model restored.\n" ] } ], "source": [ "if __name__=='__main__':\n", " if not os.path.exists(PATH+'/checkpoint'):\n", " print('No checkpoint')\n", " else:\n", " output=bkg(data)" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[0.84979254, 0.15020742],\n", " [0.8513052 , 0.14869481],\n", " [0.84863734, 0.15136267],\n", " ...,\n", " [0.8504716 , 0.14952841],\n", " [0.85030866, 0.14969133],\n", " [0.8818852 , 0.11811486]], dtype=float32)" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "output" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.argmax(output, axis=1).astype(np.bool).sum()" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [], "source": [ "a = data_dict[\"Ds_ConsD_M\"][0:output.shape[0]][np.argmax(output, axis=1).astype(np.bool)]\n", "b = [data_dict[\"Ds_ConsD_M\"][0:output.shape[0]][i] for i in range(output.shape[0])]" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [], "source": [ "NN_selected=np.array([a[i][0] for i in range(len(a))])\n", "full = np.array([b[i][0] for i in range(len(b))])" ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [], "source": [ "full=np.delete(full,np.where(full<0))" ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA64AAAJCCAYAAADA95o/AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAHqdJREFUeJzt3W2MpWd93/HfPx4gUYhiExtk2Z7abfYF5EXAWnksIUUUUtvQqqYSSM5EyQpZctUaKZFatZA3TniooFJDitQQucGqiTIxFgnCQjRkxYOivmDwEh6NS70hdLy1hZ2ucYJQqEyuvjj3wrDMoz17zn9nPh9pNOdc9z0z15Evndmvr3PuqTFGAAAAoKsfW/QEAAAAYCfCFQAAgNaEKwAAAK0JVwAAAFoTrgAAALQmXAEAAGhNuAIAANCacAUAAKA14QoAAEBrS4uewE4uv/zyce211y56GgAAAFwAn/vc5/56jHHFbue1Dtdrr702p06dWvQ0AAAAuACq6n/v5TwvFQYAAKA14QoAAEBrwhUAAIDWhCsAAACtCVcAAABaE64AAAC0JlwBAABoTbgCAADQmnAFAACgNeEKAABAa8IVAACA1oQrAAAArQlXAAAAWhOuAAAAtCZcAQAAaE24AgAA0JpwBQAAoDXhCgAAQGvCFQAAgNaEKwAAAK0JVwAAAFoTrgAAALQmXAEAAGhNuAIAANDa0qInAAAXi7X1jR2Pr64sz2kmAHC02HEFAACgNeEKAABAa8IVAACA1oQrAAAArQlXAAAAWhOuAAAAtCZcAQAAaE24AgAA0NqewrWqvlFVX66qL1TVqWnsRVV1sqoemT5fNo1XVb23qk5X1Zeq6vpN3+fEdP4jVXXiwjwkAAAADpP97Lj+4zHGy8cYx6f7b0nyiTHGsSSfmO4nyWuTHJs+7kjyvmQWuknuSrKS5IYkd52LXQAAANjOc3mp8K1J7p1u35vk9ZvGPzBmPpPk0qq6MsnNSU6OMc6OMZ5KcjLJLc/h5wMAAHAE7DVcR5I/q6rPVdUd09hLxhiPJ8n0+cXT+FVJHt30tWemse3GAQAAYFtLezzvlWOMx6rqxUlOVtX/3OHc2mJs7DD+w188C+M7kmR5eXmP0wOAxVtb39j1nNUVv9sAYL/2tOM6xnhs+vxEkg9n9h7Vb04vAc70+Ynp9DNJrtn05VcneWyH8fN/1t1jjONjjONXXHHF/h4NAAAAh86uO65V9ZNJfmyM8bfT7ZuSvC3JA0lOJHnX9Pkj05c8kOTNVXVfZhdienqM8XhVfTzJf9h0Qaabkrz1QB8NADS3266sHVkA+FF7eanwS5J8uKrOnb82xvjTqnowyf1VdXuSjSRvnM7/WJLXJTmd5DtJ3pQkY4yzVfX2JA9O571tjHH2wB4JAAAAh9Ku4TrG+HqSn99i/P8mec0W4yPJndt8r3uS3LP/aQIAAHBUPZc/hwMAAAAXnHAFAACgNeEKAABAa8IVAACA1oQrAAAArQlXAAAAWhOuAAAAtCZcAQAAaE24AgAA0JpwBQAAoDXhCgAAQGvCFQAAgNaEKwAAAK0JVwAAAFoTrgAAALQmXAEAAGhNuAIAANCacAUAAKA14QoAAEBrwhUAAIDWhCsAAACtCVcAAABaE64AAAC0JlwBAABoTbgCAADQmnAFAACgNeEKAABAa8IVAACA1oQrAAAArQlXAAAAWhOuAAAAtCZcAQAAaG1p0RMAgC7W1jcWPQUAYAt2XAEAAGhNuAIAANCacAUAAKA14QoAAEBrwhUAAIDWhCsAAACtCVcAAABaE64AAAC0trToCQAAP7C2vvGcvn51ZfmAZgIAfdhxBQAAoDXhCgAAQGvCFQAAgNaEKwAAAK0JVwAAAFoTrgAAALQmXAEAAGhNuAIAANCacAUAAKA14QoAAEBrwhUAAIDWhCsAAACtCVcAAABaE64AAAC0JlwBAABoTbgCAADQ2tKiJwAAcJSsrW/ses7qyvIcZgJw8bDjCgAAQGvCFQAAgNaEKwAAAK0JVwAAAFoTrgAAALQmXAEAAGhNuAIAANCacAUAAKA14QoAAEBrS4ueAABwcNbWN3Y8vrqyPKeZAMDBseMKAABAa8IVAACA1oQrAAAArQlXAAAAWhOuAAAAtCZcAQAAaE24AgAA0JpwBQAAoDXhCgAAQGvCFQAAgNaEKwAAAK0JVwAAAFoTrgAAALQmXAEAAGhNuAIAANCacAUAAKA14QoAAEBrwhUAAIDWhCsAAACtCVcAAABaW1r0BACA+Vlb39jx+OrK8pxmAgB7Z8cVAACA1oQrAAAAre05XKvqkqr6fFV9dLp/XVWtV9UjVfXBqnr+NP6C6f7p6fi1m77HW6fxr1XVzQf9YAAAADh89rPj+mtJHt50/91J3jPGOJbkqSS3T+O3J3lqjPGzSd4znZeqelmS25L8XJJbkvxuVV3y3KYPAADAYbencK2qq5P80yS/P92vJK9O8qHplHuTvH66fet0P9Px10zn35rkvjHGd8cYf5XkdJIbDuJBAAAAcHjtdcf1d5L8uyR/P93/mSTfGmM8M90/k+Sq6fZVSR5Nkun409P53x/f4msAAABgS7uGa1X9syRPjDE+t3l4i1PHLsd2+prNP++OqjpVVaeefPLJ3aYHAADAIbeXHddXJvnnVfWNJPdl9hLh30lyaVWd+zuwVyd5bLp9Jsk1STId/+kkZzePb/E13zfGuHuMcXyMcfyKK67Y9wMCAADgcNk1XMcYbx1jXD3GuDaziyt9cozxy0k+leQN02knknxkuv3AdD/T8U+OMcY0ftt01eHrkhxL8tkDeyQAAAAcSku7n7Ktf5/kvqp6R5LPJ3n/NP7+JH9QVacz22m9LUnGGA9V1f1JvprkmSR3jjG+9xx+PgAAAEfAvsJ1jPHpJJ+ebn89W1wVeIzxd0neuM3XvzPJO/c7SQAAAI6u/fwdVwAAAJg74QoAAEBrz+U9rgDAIbO2vrHj8dWV5TnNBAB+wI4rAAAArQlXAAAAWhOuAAAAtCZcAQAAaE24AgAA0JpwBQAAoDXhCgAAQGvCFQAAgNaEKwAAAK0JVwAAAFoTrgAAALQmXAEAAGhNuAIAANCacAUAAKA14QoAAEBrwhUAAIDWhCsAAACtCVcAAABaW1r0BABgXtbWNxY9BQDgWbDjCgAAQGt2XAGAPdtt13p1ZXlOMwHgKLHjCgAAQGvCFQAAgNaEKwAAAK0JVwAAAFoTrgAAALQmXAEAAGhNuAIAANCacAUAAKA14QoAAEBrwhUAAIDWhCsAAACtCVcAAABaE64AAAC0JlwBAABoTbgCAADQmnAFAACgNeEKAABAa8IVAACA1oQrAAAArQlXAAAAWhOuAAAAtLa06AkAAHSytr6x4/HVleU5zQSAc4QrAHBgdou+RPgBsH9eKgwAAEBrwhUAAIDWhCsAAACtCVcAAABaE64AAAC0JlwBAABoTbgCAADQmnAFAACgNeEKAABAa8IVAACA1oQrAAAArQlXAAAAWhOuAAAAtCZcAQAAaE24AgAA0JpwBQAAoDXhCgAAQGvCFQAAgNaEKwAAAK0JVwAAAFoTrgAAALQmXAEAAGhNuAIAANCacAUAAKA14QoAAEBrwhUAAIDWhCsAAACtCVcAAABaE64AAAC0JlwBAABoTbgCAADQmnAFAACgNeEKAABAa8IVAACA1pYWPQEA4GhZW9/Y8fjqyvKcZgLAxcKOKwAAAK0JVwAAAFoTrgAAALQmXAEAAGhNuAIAANCacAUAAKA14QoAAEBrwhUAAIDWhCsAAACtCVcAAABa2zVcq+rHq+qzVfXFqnqoqn5rGr+uqtar6pGq+mBVPX8af8F0//R0/NpN3+ut0/jXqurmC/WgAAAAODz2suP63SSvHmP8fJKXJ7mlqm5M8u4k7xljHEvyVJLbp/NvT/LUGONnk7xnOi9V9bIktyX5uSS3JPndqrrkIB8MAAAAh8+u4Tpmvj3dfd70MZK8OsmHpvF7k7x+un3rdD/T8ddUVU3j940xvjvG+Kskp5PccCCPAgAAgENrT+9xrapLquoLSZ5IcjLJXyb51hjjmemUM0mumm5fleTRJJmOP53kZzaPb/E1AAAAsKU9hesY43tjjJcnuTqzXdKXbnXa9Lm2Obbd+A+pqjuq6lRVnXryySf3Mj0AAAAOsaX9nDzG+FZVfTrJjUkuraqlaVf16iSPTaedSXJNkjNVtZTkp5Oc3TR+zuav2fwz7k5yd5IcP378R8IWADjc1tY3djy+urI8p5kA0MVerip8RVVdOt3+iSS/mOThJJ9K8obptBNJPjLdfmC6n+n4J8cYYxq/bbrq8HVJjiX57EE9EAAAAA6nvey4Xpnk3ukKwD+W5P4xxker6qtJ7quqdyT5fJL3T+e/P8kfVNXpzHZab0uSMcZDVXV/kq8meSbJnWOM7x3swwEAAOCw2TVcxxhfSvKKLca/ni2uCjzG+Lskb9zme70zyTv3P00AAACOqj1dnAkAAAAWRbgCAADQmnAFAACgNeEKAABAa8IVAACA1vby53AAANpYW9/Y8fjqyvKcZgLAvNhxBQAAoDXhCgAAQGvCFQAAgNaEKwAAAK0JVwAAAFoTrgAAALTmz+EAAEfKbn9OB4B+7LgCAADQmnAFAACgNeEKAABAa8IVAACA1oQrAAAArQlXAAAAWvPncACAQ8WfuwE4fOy4AgAA0JpwBQAAoDXhCgAAQGvCFQAAgNaEKwAAAK0JVwAAAFoTrgAAALQmXAEAAGhNuAIAANDa0qInAABwmKytbyx6CgCHjnAFAGhmt/hdXVme00wAevBSYQAAAFoTrgAAALTmpcIAAPvgPawA82fHFQAAgNaEKwAAAK0JVwAAAFoTrgAAALQmXAEAAGjNVYUBODRc7RUADic7rgAAALQmXAEAAGhNuAIAANCacAUAAKA14QoAAEBrwhUAAIDWhCsAAACtCVcAAABaE64AAAC0JlwBAABoTbgCAADQmnAFAACgNeEKAABAa8IVAACA1oQrAAAArQlXAAAAWhOuAAAAtLa06AkAALA/a+sbOx5fXVme00wA5sOOKwAAAK0JVwAAAFoTrgAAALQmXAEAAGhNuAIAANCacAUAAKA14QoAAEBrwhUAAIDWhCsAAACtCVcAAABaE64AAAC0JlwBAABoTbgCAADQmnAFAACgNeEKAABAa8IVAACA1oQrAAAArQlXAAAAWlta9AQAADhYa+sbOx5fXVme00wADoYdVwAAAFoTrgAAALQmXAEAAGhNuAIAANCacAUAAKA14QoAAEBrwhUAAIDWhCsAAACtCVcAAABaE64AAAC0JlwBAABobWnREwAAYL7W1jd2PL66sjynmQDsjR1XAAAAWhOuAAAAtCZcAQAAaG3XcK2qa6rqU1X1cFU9VFW/No2/qKpOVtUj0+fLpvGqqvdW1emq+lJVXb/pe52Yzn+kqk5cuIcFAADAYbGXHddnkvybMcZLk9yY5M6qelmStyT5xBjjWJJPTPeT5LVJjk0fdyR5XzIL3SR3JVlJckOSu87FLgAAAGxn13AdYzw+xviL6fbfJnk4yVVJbk1y73TavUleP92+NckHxsxnklxaVVcmuTnJyTHG2THGU0lOJrnlQB8NAAAAh86+3uNaVdcmeUWS9SQvGWM8nsziNsmLp9OuSvLopi87M41tNw4AAADb2nO4VtULk/xxkl8fY/zNTqduMTZ2GD//59xRVaeq6tSTTz651+kBAABwSO0pXKvqeZlF6x+OMf5kGv7m9BLgTJ+fmMbPJLlm05dfneSxHcZ/yBjj7jHG8THG8SuuuGI/jwUAAIBDaC9XFa4k70/y8BjjtzcdeiDJuSsDn0jykU3jvzpdXfjGJE9PLyX+eJKbquqy6aJMN01jAAAAsK2lPZzzyiS/kuTLVfWFaew3krwryf1VdXuSjSRvnI59LMnrkpxO8p0kb0qSMcbZqnp7kgen8942xjh7II8CAACAQ2vXcB1j/I9s/f7UJHnNFuePJHdu873uSXLPfiYIAADA0bavqwoDAADAvAlXAAAAWhOuAAAAtCZcAQAAaE24AgAA0JpwBQAAoDXhCgAAQGvCFQAAgNaWFj0BAAB6WVvf2PH46srynGYCMGPHFQAAgNaEKwAAAK0JVwAAAFoTrgAAALQmXAEAAGhNuAIAANCacAUAAKA14QoAAEBrwhUAAIDWhCsAAACtCVcAAABaE64AAAC0JlwBAABoTbgCAADQmnAFAACgNeEKAABAa8IVAACA1oQrAAAArS0tegIAAFxc1tY3djy+urI8p5kAR4UdVwAAAFoTrgAAALQmXAEAAGhNuAIAANCacAUAAKA14QoAAEBrwhUAAIDWhCsAAACtCVcAAABaE64AAAC0JlwBAABoTbgCAADQmnAFAACgNeEKAABAa8IVAACA1oQrAAAArQlXAAAAWlta9AQAYK/W1jcWPQUAYAHsuAIAANCacAUAAKA14QoAAEBrwhUAAIDWhCsAAACtCVcAAABa8+dwAAA4ULv96arVleU5zQQ4LOy4AgAA0JpwBQAAoDXhCgAAQGvCFQAAgNaEKwAAAK0JVwAAAFoTrgAAALQmXAEAAGhNuAIAANCacAUAAKA14QoAAEBrwhUAAIDWhCsAAACtCVcAAABaE64AAAC0JlwBAABoTbgCAADQmnAFAACgNeEKAABAa8IVAACA1oQrAAAArQlXAAAAWhOuAAAAtCZcAQAAaE24AgAA0JpwBQAAoDXhCgAAQGvCFQAAgNaEKwAAAK0tLXoCAAAcLWvrG7ues7qyPIeZABcLO64AAAC0JlwBAABoTbgCAADQmnAFAACgNeEKAABAa8IVAACA1oQrAAAArQlXAAAAWhOuAAAAtLZruFbVPVX1RFV9ZdPYi6rqZFU9Mn2+bBqvqnpvVZ2uqi9V1fWbvubEdP4jVXXiwjwcAAAADpu97Lj+tyS3nDf2liSfGGMcS/KJ6X6SvDbJsenjjiTvS2ahm+SuJCtJbkhy17nYBQAAgJ3sGq5jjD9Pcva84VuT3DvdvjfJ6zeNf2DMfCbJpVV1ZZKbk5wcY5wdYzyV5GR+NIYBAADgRzzb97i+ZIzxeJJMn188jV+V5NFN552ZxrYbBwAAgB0d9MWZaouxscP4j36Dqjuq6lRVnXryyScPdHIAAABcfJae5dd9s6quHGM8Pr0U+Ilp/EySazadd3WSx6bxV503/umtvvEY4+4kdyfJ8ePHt4xbAAAOt7X1jR2Pr64sz2kmQAfPdsf1gSTnrgx8IslHNo3/6nR14RuTPD29lPjjSW6qqsumizLdNI0BAADAjnbdca2qP8pst/TyqjqT2dWB35Xk/qq6PclGkjdOp38syeuSnE7ynSRvSpIxxtmqenuSB6fz3jbGOP+CTwAAAPAjdg3XMcYvbXPoNVucO5Lcuc33uSfJPfuaHQAAAEfeQV+cCQAAAA6UcAUAAKA14QoAAEBrwhUAAIDWhCsAAACtCVcAAABaE64AAAC0JlwBAABoTbgCAADQmnAFAACgNeEKAABAa8IVAACA1oQrAAAArQlXAAAAWhOuAAAAtCZcAQAAaE24AgAA0JpwBQAAoDXhCgAAQGtLi54AAJyztr6x6CkAAA0JVwAALjq7/Y+u1ZXlOc0EmAcvFQYAAKA14QoAAEBrwhUAAIDWhCsAAACtCVcAAABaE64AAAC0JlwBAABoTbgCAADQmnAFAACgNeEKAABAa8IVAACA1pYWPQEAADhoa+sbOx5fXVme00yAg2DHFQAAgNaEKwAAAK0JVwAAAFoTrgAAALQmXAEAAGhNuAIAANCacAUAAKA14QoAAEBrwhUAAIDWhCsAAACtLS16AgAAMG9r6xs7Hl9dWZ7TTIC9sOMKAABAa8IVAACA1oQrAAAArQlXAAAAWhOuAAAAtCZcAQAAaE24AgAA0JpwBQAAoDXhCgAAQGvCFQAAgNaEKwAAAK0JVwAAAFpbWvQEAACgm7X1jR2Pr64sz2kmQGLHFQAAgOaEKwAAAK0JVwAAAFoTrgAAALQmXAEAAGhNuAIAANCacAUAAKA14QoAAEBrwhUAAIDWhCsAAACtCVcAAABaW1r0BAA4OtbWNxY9BYADsdvz2erK8pxmAkeDHVcAAABaE64AAAC0JlwBAABoTbgCAADQmnAFAACgNeEKAABAa8IVAACA1oQrAAAArS0tegIAAHDYrK1v7Hh8dWV5TjOBw8GOKwAAAK3ZcQUAgDmzIwv7Y8cVAACA1oQrAAAArQlXAAAAWvMeVwAAaGa398Am3gfL0WLHFQAAgNbsuAIAwEXIlYk5Suy4AgAA0JpwBQAAoDXhCgAAQGve4wrAgdnLVTABmA/vgeUwseMKAABAa3ZcAQDgCHqur5KxY8s8zT1cq+qWJP85ySVJfn+M8a55zwEAAHhuvBSZeZpruFbVJUn+S5J/kuRMkger6oExxlfnOQ8AAODCsqPLQZr3jusNSU6PMb6eJFV1X5JbkwhXgOZceAmAebKjy2bzDterkjy66f6ZJCtzngNwnr0EyaJ/OYgmAGAz/zZY/L/P5mne4VpbjI0fOqHqjiR3THe/XVVfu+Czem4uT/LXi54ELR2qtfHLi57A4XKo1gYHzvpgO9YG27E2jqg9/vus+/r4B3s5ad7heibJNZvuX53ksc0njDHuTnL3PCf1XFTVqTHG8UXPg36sDbZjbbAT64PtWBtsx9pgJ4dlfcz777g+mORYVV1XVc9PcluSB+Y8BwAAAC4ic91xHWM8U1VvTvLxzP4czj1jjIfmOQcAAAAuLnP/O65jjI8l+di8f+4FdNG8rJm5szbYjrXBTqwPtmNtsB1rg50civVRY4zdzwIAAIAFmfd7XAEAAGBfhOuzVFW3VNXXqup0Vb1l0fNhMarqG1X15ar6QlWdmsZeVFUnq+qR6fNl03hV1XunNfOlqrp+sbPnIFXVPVX1RFV9ZdPYvtdCVZ2Yzn+kqk4s4rFwsLZZG79ZVf9neu74QlW9btOxt05r42tVdfOmcb93DpmquqaqPlVVD1fVQ1X1a9O4544jboe14bmDVNWPV9Vnq+qL0/r4rWn8uqpan54HPjhdDDdV9YLp/unp+LWbvteW66alMYaPfX5kdmGpv0zyD5M8P8kXk7xs0fPysZC18I0kl5839h+TvGW6/ZYk755uvy7Jf8/s7xnfmGR90fP3caBr4ReSXJ/kK892LSR5UZKvT58vm25ftujH5uOCrI3fTPJvtzj3ZdPvlBckuW76XXOJ3zuH8yPJlUmun27/VJL/Na0Bzx1H/GOHteG5w0em54AXTrefl2R9ek64P8lt0/jvJflX0+1/neT3ptu3JfngTutm0Y9vuw87rs/ODUlOjzG+Psb4f0nuS3LrgudEH7cmuXe6fW+S128a/8CY+UySS6vqykVMkIM3xvjzJGfPG97vWrg5yckxxtkxxlNJTia55cLPngtpm7WxnVuT3DfG+O4Y46+SnM7sd47fO4fQGOPxMcZfTLf/NsnDSa6K544jb4e1sR3PHUfI9Bzw7enu86aPkeTVST40jZ//3HHuOeVDSV5TVZXt101LwvXZuSrJo5vun8nOTyYcXiPJn1XV56rqjmnsJWOMx5PZL54kL57GrZujZ79rwRo5Wt48vdzznnMvBY21cWRNL917RWY7J547+L7z1kbiuYMkVXVJVX0hyROZ/c+qv0zyrTHGM9Mpm/9bf38dTMefTvIzucjWh3B9dmqLMZdnPppeOca4Pslrk9xZVb+ww7nWDedstxaskaPjfUn+UZKXJ3k8yX+axq2NI6iqXpjkj5P8+hjjb3Y6dYsx6+MQ22JteO4gSTLG+N4Y4+VJrs5sl/SlW502fT4U60O4Pjtnklyz6f7VSR5b0FxYoDHGY9PnJ5J8OLMnjm+eewnw9PmJ6XTr5ujZ71qwRo6IMcY3p390/H2S/5ofvDTL2jhiqup5mYXJH44x/mQa9tzBlmvDcwfnG2N8K8mnM3uP66VVtTQd2vzf+vvrYDr+05m9heWiWh/C9dl5MMmx6cpdz8/sTc4PLHhOzFlV/WRV/dS520luSvKVzNbCuSs6nkjyken2A0l+dboq5I1Jnj73UjAOrf2uhY8nuamqLpte/nXTNMYhc9772/9FZs8dyWxt3DZdAfK6JMeSfDZ+7xxK03vM3p/k4THGb2865LnjiNtubXjuIEmq6oqqunS6/RNJfjGz90F/KskbptPOf+4495zyhiSfHLOrM223blpa2v0UzjfGeKaq3pzZL4VLktwzxnhowdNi/l6S5MOz3y1ZSrI2xvjTqnowyf1VdXuSjSRvnM7/WGZXhDyd5DtJ3jT/KXOhVNUfJXlVksur6kySu5K8K/tYC2OMs1X19sz+oZEkbxtj7PWiPjS1zdp4VVW9PLOXZH0jyb9MkjHGQ1V1f5KvJnkmyZ1jjO9N38fvncPnlUl+JcmXp/eqJclvxHMH26+NX/LcQWZXnb63qi7JbCPy/jHGR6vqq0nuq6p3JPl8Zv/zI9PnP6iq05nttN6W7LxuOqpZbAMAAEBPXioMAABAa8IVAACA1oQrAAAArQlXAAAAWhOuAAAAtCZcAQAAaE24AgAA0JpwBQAAoLX/DxVQDGu3iichAAAAAElFTkSuQmCC\n", "text/plain": [ "<Figure size 1152x720 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.hist(full,alpha=0.4,bins=100, range=(0,3000));\n", "plt.hist(NN_selected,alpha=0.4,bins=100, range=(0,3000));\n", "fig=plt.gcf();\n", "fig.set_size_inches(16,10)" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "9" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.random.randint(14)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.6.5" } }, "nbformat": 4, "nbformat_minor": 2 }