In [14]:
# Необходмые команды импорта.
import sys
sys.path.append('../physlearn/')
sys.path.append('../source')
import numpy as np
from numpy import linalg as LA
import tensorflow as tf
from matplotlib import pylab as plt
import numpy.random as rand
from physlearn.NeuralNet.NeuralNet import NeuralNet
from physlearn.Optimizer.NelderMead.NelderMead import NelderMead
import d1_osc
import ann_constructor
import math_util
from lagaris2d import LagarisSolver2d
from visualiser import Visualiser
from mpl_toolkits.mplot3d.axes3d import Axes3D
%matplotlib inline

def grid_vect(a,b,N):
    x = np.linspace(a, b, N, endpoint=True)
    h = x[1] - x[0]
    return np.mgrid[a:b+h:h, a:b+h:h].reshape(2,-1).T

def get_meshgrid(a,b,N):
    x = np.linspace(a, b, N, endpoint=True)
    return np.meshgrid(x,x)

n_sig = 12
a = -5
b = 5
#m_train = 35
#m_trapz = 25
#train_x = np.linspace(a, b, m_train, endpoint = True).reshape(1, m_train) 
#trapz_x = np.linspace(a, b, m_trapz, endpoint = True)
#obs_x = np.linspace(a, b, 200, endpoint = True).reshape(1, 200)

N = 60
xy = grid_vect(a,b,N)
xg,yg = get_meshgrid(a,b,N)

train_xy = np.transpose(xy)
trapz_xy = train_xy

In [2]:
lagar = LagarisSolver2d(2)
lagar.define_psi(n_sig)
net_x = lagar.get_net_x()
dim = lagar.get_dim()
sess = lagar.get_sess()

potential = tf.square(net_x)
lagar.define_H_psi(potential)

In [3]:
def rectangular(f, a, b, n):
    h = float(b - a)/n
    x = np.linspace(a+h/2, b-h/2, n)
    return h*np.sum(f(x))

def rectangular_double2(f, a, b, c, d, nx, ny):
    g = lambda x: rectangular(lambda y: f(np.array([[x],[y]])), c, d, ny)
    return rectangular(g, a, b, nx)


aaa = lambda XX: XX[0]**2+XX[1]**2

rectangular_double2(aaa, -1,1,-1,1,50,50)


Out[3]:
0.053312

In [20]:
def grid_vect(a,b,N):
    x = np.linspace(a, b, N, endpoint=True)
    h = x[1] - x[0]
    return np.transpose(np.mgrid[a:b+h:h, a:b+h:h].reshape(2,-1).T)

def get_mesh(a,b,N):
    x = np.linspace(a,b,N)
    return np.meshgrid(x,x)

In [22]:
test = np.array(get_mesh(-5,5,25))
print(test.shape)
z = lagar.calc_psi(test, 1)
print(z)


(2, 25, 25)
---------------------------------------------------------------------------
InvalidArgumentError                      Traceback (most recent call last)
/home/rodion/anaconda3/lib/python3.6/site-packages/tensorflow/python/client/session.py in _do_call(self, fn, *args)
   1326     try:
-> 1327       return fn(*args)
   1328     except errors.OpError as e:

/home/rodion/anaconda3/lib/python3.6/site-packages/tensorflow/python/client/session.py in _run_fn(session, feed_dict, fetch_list, target_list, options, run_metadata)
   1305                                    feed_dict, fetch_list, target_list,
-> 1306                                    status, run_metadata)
   1307 

/home/rodion/anaconda3/lib/python3.6/contextlib.py in __exit__(self, type, value, traceback)
     87             try:
---> 88                 next(self.gen)
     89             except StopIteration:

/home/rodion/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/errors_impl.py in raise_exception_on_not_ok_status()
    465           compat.as_text(pywrap_tensorflow.TF_Message(status)),
--> 466           pywrap_tensorflow.TF_GetCode(status))
    467   finally:

InvalidArgumentError: In[0] and In[1] has different ndims: [12,2] vs. [2,25,25]
	 [[Node: MatMul = BatchMatMul[T=DT_DOUBLE, adj_x=false, adj_y=false, _device="/job:localhost/replica:0/task:0/cpu:0"](_arg_Placeholder_2_0_1, _arg_Placeholder_0_0)]]

During handling of the above exception, another exception occurred:

InvalidArgumentError                      Traceback (most recent call last)
<ipython-input-22-979209bc8681> in <module>()
      1 test = np.array(get_mesh(-5,5,25))
      2 print(test.shape)
----> 3 z = lagar.calc_psi(test, 1)
      4 print(z)

/home/rodion/GitKraken/SPBU_COMP_PHYS_NN_QM/source/lagaris2d.py in calc_psi(self, x, beta_loc)
     57 
     58         #x = np.reshape(x, (self.space_dim, np.size(x)))
---> 59         return self.net.calc(self.psi, {self.net.x : x, self.beta : beta_loc})[0]
     60 
     61 

/home/rodion/GitKraken/SPBU_COMP_PHYS_NN_QM/physlearn/physlearn/NeuralNet/NeuralNet.py in calc(self, calc_var, d)
    311         """
    312         d.update(self.placeholders_dict)  # Добавляем в словарь d placeholder для матриц весов
--> 313         return self.sess.run(calc_var, d)
    314 
    315     def run(self, inputs):

/home/rodion/anaconda3/lib/python3.6/site-packages/tensorflow/python/client/session.py in run(self, fetches, feed_dict, options, run_metadata)
    893     try:
    894       result = self._run(None, fetches, feed_dict, options_ptr,
--> 895                          run_metadata_ptr)
    896       if run_metadata:
    897         proto_data = tf_session.TF_GetBuffer(run_metadata_ptr)

/home/rodion/anaconda3/lib/python3.6/site-packages/tensorflow/python/client/session.py in _run(self, handle, fetches, feed_dict, options, run_metadata)
   1122     if final_fetches or final_targets or (handle and feed_dict_tensor):
   1123       results = self._do_run(handle, final_targets, final_fetches,
-> 1124                              feed_dict_tensor, options, run_metadata)
   1125     else:
   1126       results = []

/home/rodion/anaconda3/lib/python3.6/site-packages/tensorflow/python/client/session.py in _do_run(self, handle, target_list, fetch_list, feed_dict, options, run_metadata)
   1319     if handle is None:
   1320       return self._do_call(_run_fn, self._session, feeds, fetches, targets,
-> 1321                            options, run_metadata)
   1322     else:
   1323       return self._do_call(_prun_fn, self._session, handle, feeds, fetches)

/home/rodion/anaconda3/lib/python3.6/site-packages/tensorflow/python/client/session.py in _do_call(self, fn, *args)
   1338         except KeyError:
   1339           pass
-> 1340       raise type(e)(node_def, op, message)
   1341 
   1342   def _extend_graph(self):

InvalidArgumentError: In[0] and In[1] has different ndims: [12,2] vs. [2,25,25]
	 [[Node: MatMul = BatchMatMul[T=DT_DOUBLE, adj_x=false, adj_y=false, _device="/job:localhost/replica:0/task:0/cpu:0"](_arg_Placeholder_2_0_1, _arg_Placeholder_0_0)]]

Caused by op 'MatMul', defined at:
  File "/home/rodion/anaconda3/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/rodion/anaconda3/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/ipykernel_launcher.py", line 16, in <module>
    app.launch_new_instance()
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/traitlets/config/application.py", line 658, in launch_instance
    app.start()
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/ipykernel/kernelapp.py", line 477, in start
    ioloop.IOLoop.instance().start()
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/zmq/eventloop/ioloop.py", line 177, in start
    super(ZMQIOLoop, self).start()
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/tornado/ioloop.py", line 888, in start
    handler_func(fd_obj, events)
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/tornado/stack_context.py", line 277, in null_wrapper
    return fn(*args, **kwargs)
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/zmq/eventloop/zmqstream.py", line 440, in _handle_events
    self._handle_recv()
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/zmq/eventloop/zmqstream.py", line 472, in _handle_recv
    self._run_callback(callback, msg)
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/zmq/eventloop/zmqstream.py", line 414, in _run_callback
    callback(*args, **kwargs)
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/tornado/stack_context.py", line 277, in null_wrapper
    return fn(*args, **kwargs)
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/ipykernel/kernelbase.py", line 283, in dispatcher
    return self.dispatch_shell(stream, msg)
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/ipykernel/kernelbase.py", line 235, in dispatch_shell
    handler(stream, idents, msg)
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/ipykernel/kernelbase.py", line 399, in execute_request
    user_expressions, allow_stdin)
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/ipykernel/ipkernel.py", line 196, in do_execute
    res = shell.run_cell(code, store_history=store_history, silent=silent)
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/ipykernel/zmqshell.py", line 533, in run_cell
    return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs)
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 2717, in run_cell
    interactivity=interactivity, compiler=compiler, result=result)
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 2821, in run_ast_nodes
    if self.run_code(code, result):
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 2881, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-2-ea08e87e81ca>", line 2, in <module>
    lagar.define_psi(n_sig)
  File "../source/lagaris2d.py", line 38, in define_psi
    self.net, self.net_output, net_sum, self.sess = ann_constructor.return_net_expressions_multidim(self.space_dim, 1, sigmoid_ammount)
  File "../source/ann_constructor.py", line 24, in return_net_expressions_multidim
    net.compile()
  File "../physlearn/physlearn/NeuralNet/NeuralNet.py", line 249, in compile
    current_layer = layer.activation_func(layer * self.x)
  File "../physlearn/physlearn/NeuralNet/Layer/Layer.py", line 30, in __mul__
    return self.weight_matrix * other + self.bias_vector
  File "../physlearn/physlearn/NeuralNet/Matrixes/MatrixGen.py", line 9, in __mul__
    return tf.matmul(self.matrix, x)
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/tensorflow/python/ops/math_ops.py", line 1814, in matmul
    a, b, adj_x=adjoint_a, adj_y=adjoint_b, name=name)
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/tensorflow/python/ops/gen_math_ops.py", line 337, in _batch_mat_mul
    adj_y=adj_y, name=name)
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/op_def_library.py", line 767, in apply_op
    op_def=op_def)
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 2630, in create_op
    original_op=self._default_original_op, op_def=op_def)
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 1204, in __init__
    self._traceback = self._graph._extract_stack()  # pylint: disable=protected-access

InvalidArgumentError (see above for traceback): In[0] and In[1] has different ndims: [12,2] vs. [2,25,25]
	 [[Node: MatMul = BatchMatMul[T=DT_DOUBLE, adj_x=false, adj_y=false, _device="/job:localhost/replica:0/task:0/cpu:0"](_arg_Placeholder_2_0_1, _arg_Placeholder_0_0)]]

In [ ]:


In [ ]:


In [ ]:


In [3]:
J_trapz = lagar.get_cost_func('trapz', a,b, train_xy, trapz_xy)

opt_nm = NelderMead(-2.5,2.5)
opt_nm.set_epsilon_and_sd(0.3, 100)
def opt(J, dim, n_it, eps):
    optimisation_result = opt_nm.optimize(J, dim+1, n_it, eps)
    return optimisation_result

In [4]:
optimisation_result = opt(J_trapz, dim, int(4e3), 1e-6)
print("J after optimisation: ", J_trapz(optimisation_result.x))
print("Информация: ", optimisation_result)


---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
<ipython-input-4-135ccbb0a1f6> in <module>()
----> 1 optimisation_result = opt(J_trapz, dim, int(4e3), 1e-6)
      2 print("J after optimisation: ", J_trapz(optimisation_result.x))
      3 print("Информация: ", optimisation_result)

<ipython-input-3-c9fb63b6cb38> in opt(J, dim, n_it, eps)
      4 opt_nm.set_epsilon_and_sd(0.3, 100)
      5 def opt(J, dim, n_it, eps):
----> 6     optimisation_result = opt_nm.optimize(J, dim+1, n_it, eps)
      7     return optimisation_result

/home/rodion/GitKraken/SPBU_COMP_PHYS_NN_QM/physlearn/physlearn/Optimizer/NelderMead/NelderMeadAbstract.py in optimize(self, func, dim, end_cond, min_cost)
    139         self.y_points = numpy.zeros(self.dim + 1)
    140         for index, x in enumerate(self.x_points):
--> 141             self.y_points[index] = self.func(x)
    142 
    143         self.method_types = [0, 0, 0, 0]

/home/rodion/GitKraken/SPBU_COMP_PHYS_NN_QM/source/lagaris2d.py in J_trapz(self, params)
     84         psi = self.calc_psi(self.train_x, beta_loc)
     85         H_psi = self.calc_H_psi(self.train_x, beta_loc)
---> 86         mean_E = self.integrate_trapz(self.psi_H_psi_integrand, self.trapz_x, beta_loc)
     87         norm = self.integrate_trapz(self.psi_psi_integrand, self.trapz_x, beta_loc)
     88 

/home/rodion/GitKraken/SPBU_COMP_PHYS_NN_QM/source/lagaris2d.py in integrate_trapz(self, func, x_meshgrid, beta_loc)
     76 
     77     def integrate_trapz(self, func, x_meshgrid, beta_loc):
---> 78         return np.trapz(np.trapz(func(x_meshgrid, beta_loc),x_meshgrid[0]), x_meshgrid[1][:,0])
     79 
     80 

IndexError: too many indices for array

In [15]:
#Z = lagar.calc_psi(xy.transpose, 1)
#xy = grid_vect(a,b,N)

Z = lagar.net.calc(lagar.psi, {lagar.net.x: np.transpose(xy), lagar.beta: 1})
print(Z)
print(Z.shape)
fig = plt.figure(figsize=(14,6))
ax = fig.add_subplot(1, 2, 1, projection='3d')
xg,yg = np.meshgrid(xy[:,0], xy[:,1])
#ax.scatter(xy[:,0], xy[:,1], Z[0])
ax.plot_wireframe(xy[:,0], xy[:,1], Z)
#p = ax.plot_surface(xg, yg, np.reshape(Z, (N,N)), rstride=4, cstride=4, linewidth=0)


[[4.93274636e-22 2.65526881e-21 1.34913777e-20 ... 8.15053093e-22
  1.55402877e-22 2.79728718e-23]]
(1, 3721)
Out[15]:
<mpl_toolkits.mplot3d.art3d.Line3DCollection at 0x7f934c0665f8>

In [18]:
def rectangular(f, a, b, n):
    h = float(b - a)/n
    x = np.linspace(a+h/2, b-h/2, n)
    return h*np.sum(f(x))

def rectangular_double2(f, a, b, c, d, nx, ny):
    g = lambda x: rectangular(lambda y: f(np.array([x,y])), c, d, ny)
    return rectangular(g, a, b, nx)


def f(xy):
    lagar.net.calc(lagar.psi, {lagar.net.x: np.transpose(xy), lagar.beta: 1})
    
rectangular_double2(f,-5,5,-5,5,50,50)


---------------------------------------------------------------------------
InvalidArgumentError                      Traceback (most recent call last)
/home/rodion/anaconda3/lib/python3.6/site-packages/tensorflow/python/client/session.py in _do_call(self, fn, *args)
   1326     try:
-> 1327       return fn(*args)
   1328     except errors.OpError as e:

/home/rodion/anaconda3/lib/python3.6/site-packages/tensorflow/python/client/session.py in _run_fn(session, feed_dict, fetch_list, target_list, options, run_metadata)
   1305                                    feed_dict, fetch_list, target_list,
-> 1306                                    status, run_metadata)
   1307 

/home/rodion/anaconda3/lib/python3.6/contextlib.py in __exit__(self, type, value, traceback)
     87             try:
---> 88                 next(self.gen)
     89             except StopIteration:

/home/rodion/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/errors_impl.py in raise_exception_on_not_ok_status()
    465           compat.as_text(pywrap_tensorflow.TF_Message(status)),
--> 466           pywrap_tensorflow.TF_GetCode(status))
    467   finally:

InvalidArgumentError: In[0] mismatch In[1] shape: 2 vs. 50: [12,2] [50,2] 0 0
	 [[Node: MatMul = BatchMatMul[T=DT_DOUBLE, adj_x=false, adj_y=false, _device="/job:localhost/replica:0/task:0/cpu:0"](_arg_Placeholder_2_0_1, _arg_Placeholder_0_0)]]

During handling of the above exception, another exception occurred:

InvalidArgumentError                      Traceback (most recent call last)
<ipython-input-18-d44e38959d6c> in <module>()
     12     lagar.net.calc(lagar.psi, {lagar.net.x: np.transpose(xy), lagar.beta: 1})
     13 
---> 14 rectangular_double2(f,-5,5,-5,5,50,50)

<ipython-input-18-d44e38959d6c> in rectangular_double2(f, a, b, c, d, nx, ny)
      6 def rectangular_double2(f, a, b, c, d, nx, ny):
      7     g = lambda x: rectangular(lambda y: f(np.array([x,y])), c, d, ny)
----> 8     return rectangular(g, a, b, nx)
      9 
     10 

<ipython-input-18-d44e38959d6c> in rectangular(f, a, b, n)
      2     h = float(b - a)/n
      3     x = np.linspace(a+h/2, b-h/2, n)
----> 4     return h*np.sum(f(x))
      5 
      6 def rectangular_double2(f, a, b, c, d, nx, ny):

<ipython-input-18-d44e38959d6c> in <lambda>(x)
      5 
      6 def rectangular_double2(f, a, b, c, d, nx, ny):
----> 7     g = lambda x: rectangular(lambda y: f(np.array([x,y])), c, d, ny)
      8     return rectangular(g, a, b, nx)
      9 

<ipython-input-18-d44e38959d6c> in rectangular(f, a, b, n)
      2     h = float(b - a)/n
      3     x = np.linspace(a+h/2, b-h/2, n)
----> 4     return h*np.sum(f(x))
      5 
      6 def rectangular_double2(f, a, b, c, d, nx, ny):

<ipython-input-18-d44e38959d6c> in <lambda>(y)
      5 
      6 def rectangular_double2(f, a, b, c, d, nx, ny):
----> 7     g = lambda x: rectangular(lambda y: f(np.array([x,y])), c, d, ny)
      8     return rectangular(g, a, b, nx)
      9 

<ipython-input-18-d44e38959d6c> in f(xy)
     10 
     11 def f(xy):
---> 12     lagar.net.calc(lagar.psi, {lagar.net.x: np.transpose(xy), lagar.beta: 1})
     13 
     14 rectangular_double2(f,-5,5,-5,5,50,50)

/home/rodion/GitKraken/SPBU_COMP_PHYS_NN_QM/physlearn/physlearn/NeuralNet/NeuralNet.py in calc(self, calc_var, d)
    311         """
    312         d.update(self.placeholders_dict)  # Добавляем в словарь d placeholder для матриц весов
--> 313         return self.sess.run(calc_var, d)
    314 
    315     def run(self, inputs):

/home/rodion/anaconda3/lib/python3.6/site-packages/tensorflow/python/client/session.py in run(self, fetches, feed_dict, options, run_metadata)
    893     try:
    894       result = self._run(None, fetches, feed_dict, options_ptr,
--> 895                          run_metadata_ptr)
    896       if run_metadata:
    897         proto_data = tf_session.TF_GetBuffer(run_metadata_ptr)

/home/rodion/anaconda3/lib/python3.6/site-packages/tensorflow/python/client/session.py in _run(self, handle, fetches, feed_dict, options, run_metadata)
   1122     if final_fetches or final_targets or (handle and feed_dict_tensor):
   1123       results = self._do_run(handle, final_targets, final_fetches,
-> 1124                              feed_dict_tensor, options, run_metadata)
   1125     else:
   1126       results = []

/home/rodion/anaconda3/lib/python3.6/site-packages/tensorflow/python/client/session.py in _do_run(self, handle, target_list, fetch_list, feed_dict, options, run_metadata)
   1319     if handle is None:
   1320       return self._do_call(_run_fn, self._session, feeds, fetches, targets,
-> 1321                            options, run_metadata)
   1322     else:
   1323       return self._do_call(_prun_fn, self._session, handle, feeds, fetches)

/home/rodion/anaconda3/lib/python3.6/site-packages/tensorflow/python/client/session.py in _do_call(self, fn, *args)
   1338         except KeyError:
   1339           pass
-> 1340       raise type(e)(node_def, op, message)
   1341 
   1342   def _extend_graph(self):

InvalidArgumentError: In[0] mismatch In[1] shape: 2 vs. 50: [12,2] [50,2] 0 0
	 [[Node: MatMul = BatchMatMul[T=DT_DOUBLE, adj_x=false, adj_y=false, _device="/job:localhost/replica:0/task:0/cpu:0"](_arg_Placeholder_2_0_1, _arg_Placeholder_0_0)]]

Caused by op 'MatMul', defined at:
  File "/home/rodion/anaconda3/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/rodion/anaconda3/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/ipykernel_launcher.py", line 16, in <module>
    app.launch_new_instance()
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/traitlets/config/application.py", line 658, in launch_instance
    app.start()
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/ipykernel/kernelapp.py", line 477, in start
    ioloop.IOLoop.instance().start()
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/zmq/eventloop/ioloop.py", line 177, in start
    super(ZMQIOLoop, self).start()
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/tornado/ioloop.py", line 888, in start
    handler_func(fd_obj, events)
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/tornado/stack_context.py", line 277, in null_wrapper
    return fn(*args, **kwargs)
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/zmq/eventloop/zmqstream.py", line 440, in _handle_events
    self._handle_recv()
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/zmq/eventloop/zmqstream.py", line 472, in _handle_recv
    self._run_callback(callback, msg)
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/zmq/eventloop/zmqstream.py", line 414, in _run_callback
    callback(*args, **kwargs)
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/tornado/stack_context.py", line 277, in null_wrapper
    return fn(*args, **kwargs)
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/ipykernel/kernelbase.py", line 283, in dispatcher
    return self.dispatch_shell(stream, msg)
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/ipykernel/kernelbase.py", line 235, in dispatch_shell
    handler(stream, idents, msg)
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/ipykernel/kernelbase.py", line 399, in execute_request
    user_expressions, allow_stdin)
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/ipykernel/ipkernel.py", line 196, in do_execute
    res = shell.run_cell(code, store_history=store_history, silent=silent)
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/ipykernel/zmqshell.py", line 533, in run_cell
    return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs)
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 2717, in run_cell
    interactivity=interactivity, compiler=compiler, result=result)
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 2821, in run_ast_nodes
    if self.run_code(code, result):
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 2881, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-2-ea08e87e81ca>", line 2, in <module>
    lagar.define_psi(n_sig)
  File "../source/lagaris2d.py", line 38, in define_psi
    self.net, self.net_output, net_sum, self.sess = ann_constructor.return_net_expressions_multidim(self.space_dim, 1, sigmoid_ammount)
  File "../source/ann_constructor.py", line 24, in return_net_expressions_multidim
    net.compile()
  File "../physlearn/physlearn/NeuralNet/NeuralNet.py", line 249, in compile
    current_layer = layer.activation_func(layer * self.x)
  File "../physlearn/physlearn/NeuralNet/Layer/Layer.py", line 30, in __mul__
    return self.weight_matrix * other + self.bias_vector
  File "../physlearn/physlearn/NeuralNet/Matrixes/MatrixGen.py", line 9, in __mul__
    return tf.matmul(self.matrix, x)
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/tensorflow/python/ops/math_ops.py", line 1814, in matmul
    a, b, adj_x=adjoint_a, adj_y=adjoint_b, name=name)
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/tensorflow/python/ops/gen_math_ops.py", line 337, in _batch_mat_mul
    adj_y=adj_y, name=name)
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/op_def_library.py", line 767, in apply_op
    op_def=op_def)
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 2630, in create_op
    original_op=self._default_original_op, op_def=op_def)
  File "/home/rodion/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 1204, in __init__
    self._traceback = self._graph._extract_stack()  # pylint: disable=protected-access

InvalidArgumentError (see above for traceback): In[0] mismatch In[1] shape: 2 vs. 50: [12,2] [50,2] 0 0
	 [[Node: MatMul = BatchMatMul[T=DT_DOUBLE, adj_x=false, adj_y=false, _device="/job:localhost/replica:0/task:0/cpu:0"](_arg_Placeholder_2_0_1, _arg_Placeholder_0_0)]]