In [1]:
# Необходмые команды импорта.
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 lagaris_1d_ex_state import LagarisSolver_1d_ex_state
from lagarisTF import LagarisSolverTF
from visualiser import Visualiser

n_sig = 10
a = -5
b = 5
m = 60
train_x = np.linspace(a, b, m, endpoint = True).reshape(1, m) 

lagar = LagarisSolver_1d_ex_state()
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, lagar.psi)
lagar.define_cost(train_x)

J = lagar.get_J()

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

%matplotlib inline


D:\Anaconda\lib\site-packages\h5py\__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.
  from ._conv import register_converters as _register_converters

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


...  2795 (69%) 1294.316 it\s
J after optimisation:  9.984976845473719e-07
Информация:  Is converge: True
Amount of iterations: 2795
Total time: 2.15 s
Reached function value: 9.984976845473719e-07
Reason of break: Minimum cost reached


In [3]:
psi_list = np.abs(lagar.calc_psi(train_x, optimisation_result.x[-1]))

%matplotlib inline
H_psi_list = lagar.calc_H_psi(train_x, optimisation_result.x[-1])
plt.title('Difference between trial function and real:')
plt.plot(train_x[0], psi_list)
#plt.plot(train_xi[0], image_array)
#plt.plot(train_xi[0], d1_osc.wf(0, train_xi))
Visualiser.show_wf(0, train_x)
plt.plot(train_x[0], psi_list - d1_osc.wf(0, train_x), 'g--')


Out[3]:
[<matplotlib.lines.Line2D at 0x23420850e48>]

In [4]:
lagar.set_state(1)
lagar.define_cost(train_x)

J = lagar.get_J()

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


---------------------------------------------------------------------------
InvalidArgumentError                      Traceback (most recent call last)
D:\Anaconda\lib\site-packages\tensorflow\python\client\session.py in _do_call(self, fn, *args)
   1277     try:
-> 1278       return fn(*args)
   1279     except errors.OpError as e:

D:\Anaconda\lib\site-packages\tensorflow\python\client\session.py in _run_fn(feed_dict, fetch_list, target_list, options, run_metadata)
   1262       return self._call_tf_sessionrun(
-> 1263           options, feed_dict, fetch_list, target_list, run_metadata)
   1264 

D:\Anaconda\lib\site-packages\tensorflow\python\client\session.py in _call_tf_sessionrun(self, options, feed_dict, fetch_list, target_list, run_metadata)
   1349         self._session, options, feed_dict, fetch_list, target_list,
-> 1350         run_metadata)
   1351 

InvalidArgumentError: You must feed a value for placeholder tensor 'Placeholder_7' with dtype double
	 [[Node: Placeholder_7 = Placeholder[dtype=DT_DOUBLE, shape=<unknown>, _device="/job:localhost/replica:0/task:0/device:CPU:0"]()]]

During handling of the above exception, another exception occurred:

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

<ipython-input-1-15dbc934feed> in opt(J, dim, n_it, eps)
     39 
     40 def opt(J, dim, n_it, eps):
---> 41     optimisation_result = opt_nm.optimize(J, dim+1, n_it, eps)
     42     return optimisation_result
     43 

~\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]

~\GitKraken\SPBU_COMP_PHYS_NN_QM\source\lagaris_1d_ex_state.py in J(self, params)
    123                 self.net.roll_matrixes(params[0:-1])
    124                 beta_loc = params[-1]
--> 125                 return self.net.calc(self.cost, {self.net.x : self.train_x, self.beta : beta_loc})
    126 
    127 

~\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):

D:\Anaconda\lib\site-packages\tensorflow\python\client\session.py in run(self, fetches, feed_dict, options, run_metadata)
    875     try:
    876       result = self._run(None, fetches, feed_dict, options_ptr,
--> 877                          run_metadata_ptr)
    878       if run_metadata:
    879         proto_data = tf_session.TF_GetBuffer(run_metadata_ptr)

D:\Anaconda\lib\site-packages\tensorflow\python\client\session.py in _run(self, handle, fetches, feed_dict, options, run_metadata)
   1098     if final_fetches or final_targets or (handle and feed_dict_tensor):
   1099       results = self._do_run(handle, final_targets, final_fetches,
-> 1100                              feed_dict_tensor, options, run_metadata)
   1101     else:
   1102       results = []

D:\Anaconda\lib\site-packages\tensorflow\python\client\session.py in _do_run(self, handle, target_list, fetch_list, feed_dict, options, run_metadata)
   1270     if handle is None:
   1271       return self._do_call(_run_fn, feeds, fetches, targets, options,
-> 1272                            run_metadata)
   1273     else:
   1274       return self._do_call(_prun_fn, handle, feeds, fetches)

D:\Anaconda\lib\site-packages\tensorflow\python\client\session.py in _do_call(self, fn, *args)
   1289         except KeyError:
   1290           pass
-> 1291       raise type(e)(node_def, op, message)
   1292 
   1293   def _extend_graph(self):

InvalidArgumentError: You must feed a value for placeholder tensor 'Placeholder_7' with dtype double
	 [[Node: Placeholder_7 = Placeholder[dtype=DT_DOUBLE, shape=<unknown>, _device="/job:localhost/replica:0/task:0/device:CPU:0"]()]]

Caused by op 'Placeholder_7', defined at:
  File "D:\Anaconda\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "D:\Anaconda\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "D:\Anaconda\lib\site-packages\ipykernel_launcher.py", line 16, in <module>
    app.launch_new_instance()
  File "D:\Anaconda\lib\site-packages\traitlets\config\application.py", line 658, in launch_instance
    app.start()
  File "D:\Anaconda\lib\site-packages\ipykernel\kernelapp.py", line 486, in start
    self.io_loop.start()
  File "D:\Anaconda\lib\site-packages\tornado\platform\asyncio.py", line 127, in start
    self.asyncio_loop.run_forever()
  File "D:\Anaconda\lib\asyncio\base_events.py", line 422, in run_forever
    self._run_once()
  File "D:\Anaconda\lib\asyncio\base_events.py", line 1432, in _run_once
    handle._run()
  File "D:\Anaconda\lib\asyncio\events.py", line 145, in _run
    self._callback(*self._args)
  File "D:\Anaconda\lib\site-packages\tornado\ioloop.py", line 759, in _run_callback
    ret = callback()
  File "D:\Anaconda\lib\site-packages\tornado\stack_context.py", line 276, in null_wrapper
    return fn(*args, **kwargs)
  File "D:\Anaconda\lib\site-packages\zmq\eventloop\zmqstream.py", line 536, in <lambda>
    self.io_loop.add_callback(lambda : self._handle_events(self.socket, 0))
  File "D:\Anaconda\lib\site-packages\zmq\eventloop\zmqstream.py", line 450, in _handle_events
    self._handle_recv()
  File "D:\Anaconda\lib\site-packages\zmq\eventloop\zmqstream.py", line 480, in _handle_recv
    self._run_callback(callback, msg)
  File "D:\Anaconda\lib\site-packages\zmq\eventloop\zmqstream.py", line 432, in _run_callback
    callback(*args, **kwargs)
  File "D:\Anaconda\lib\site-packages\tornado\stack_context.py", line 276, in null_wrapper
    return fn(*args, **kwargs)
  File "D:\Anaconda\lib\site-packages\ipykernel\kernelbase.py", line 283, in dispatcher
    return self.dispatch_shell(stream, msg)
  File "D:\Anaconda\lib\site-packages\ipykernel\kernelbase.py", line 233, in dispatch_shell
    handler(stream, idents, msg)
  File "D:\Anaconda\lib\site-packages\ipykernel\kernelbase.py", line 399, in execute_request
    user_expressions, allow_stdin)
  File "D:\Anaconda\lib\site-packages\ipykernel\ipkernel.py", line 208, in do_execute
    res = shell.run_cell(code, store_history=store_history, silent=silent)
  File "D:\Anaconda\lib\site-packages\ipykernel\zmqshell.py", line 537, in run_cell
    return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs)
  File "D:\Anaconda\lib\site-packages\IPython\core\interactiveshell.py", line 2662, in run_cell
    raw_cell, store_history, silent, shell_futures)
  File "D:\Anaconda\lib\site-packages\IPython\core\interactiveshell.py", line 2785, in _run_cell
    interactivity=interactivity, compiler=compiler, result=result)
  File "D:\Anaconda\lib\site-packages\IPython\core\interactiveshell.py", line 2903, in run_ast_nodes
    if self.run_code(code, result):
  File "D:\Anaconda\lib\site-packages\IPython\core\interactiveshell.py", line 2963, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-4-bc50153dbb99>", line 1, in <module>
    lagar.set_state(1)
  File "../../source\lagaris_1d_ex_state.py", line 73, in set_state
    self.net, self.net_output, net_sum, self.sess = ann_constructor.return_net_expressions(1, self.sigmoid_ammount)
  File "../../source\ann_constructor.py", line 14, in return_net_expressions
    net.compile()
  File "../../physlearn\physlearn\NeuralNet\NeuralNet.py", line 226, in compile
    self.x = tf.placeholder(tf.double)  # Создание placeholder для входных данных...
  File "D:\Anaconda\lib\site-packages\tensorflow\python\ops\array_ops.py", line 1735, in placeholder
    return gen_array_ops.placeholder(dtype=dtype, shape=shape, name=name)
  File "D:\Anaconda\lib\site-packages\tensorflow\python\ops\gen_array_ops.py", line 4924, in placeholder
    "Placeholder", dtype=dtype, shape=shape, name=name)
  File "D:\Anaconda\lib\site-packages\tensorflow\python\framework\op_def_library.py", line 787, in _apply_op_helper
    op_def=op_def)
  File "D:\Anaconda\lib\site-packages\tensorflow\python\util\deprecation.py", line 454, in new_func
    return func(*args, **kwargs)
  File "D:\Anaconda\lib\site-packages\tensorflow\python\framework\ops.py", line 3155, in create_op
    op_def=op_def)
  File "D:\Anaconda\lib\site-packages\tensorflow\python\framework\ops.py", line 1717, in __init__
    self._traceback = tf_stack.extract_stack()

InvalidArgumentError (see above for traceback): You must feed a value for placeholder tensor 'Placeholder_7' with dtype double
	 [[Node: Placeholder_7 = Placeholder[dtype=DT_DOUBLE, shape=<unknown>, _device="/job:localhost/replica:0/task:0/device:CPU:0"]()]]

In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]: