Advertisement
Guest User

Untitled

a guest
May 25th, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.04 KB | None | 0 0
  1. #x0, x1 = 10, 20 # диапазон аргумента функции
  2.  
  3. #test_data_size = 2000 # количество данных для итерации обучения
  4. iterations = 20000 # количество итераций обучения
  5. learn_rate = 0.01 # коэффициент переобучения
  6.  
  7. hiddenSize = 10 # размер скрытого слоя
  8.  
  9. df = pd.read_csv('Data_rand2.csv', sep=';')
  10.  
  11. # X will be a pandas dataframe of all columns except meantempm
  12. X = df[
  13.     ['x','y']]
  14.  
  15. # y will be a pandas series of the meantempm
  16. Y = df['z']
  17.  
  18. # функция генерации тестовых величин
  19. def generate_test_values():
  20.     train_x = X
  21.     train_y = Y
  22.  
  23. #    for _ in range(test_data_size):
  24. #        x = x0+(x1-x0)*np.random.rand()
  25. #        y = math.sin(x) # исследуемая функция
  26. #        train_x.append([x])
  27. #        train_y.append([y])
  28.  
  29.     return np.array(train_x), np.array(train_y)
  30.  
  31. # узел на который будем подавать аргументы функции
  32. x = tf.placeholder(tf.float32, [None, 2], name="x")
  33.  
  34. # узел на который будем подавать значения функции
  35. y = tf.placeholder(tf.float32, [None, 1], name="y")
  36.  
  37. # скрытый слой
  38. nn = tf.layers.dense(x, hiddenSize,
  39.                      activation=tf.nn.sigmoid,
  40.                      kernel_initializer=tf.initializers.ones(),
  41.                      bias_initializer=tf.initializers.random_uniform(minval=0, maxval=100),
  42.                      name="hidden")
  43.  
  44. # выходной слой
  45. model = tf.layers.dense(nn, 1,
  46.                         activation=None,
  47.                         name="output")
  48.  
  49. # функция подсчёта ошибки
  50. cost = tf.losses.mean_squared_error(y, model)
  51.  
  52. train = tf.train.GradientDescentOptimizer(learn_rate).minimize(cost)
  53.  
  54. init = tf.initializers.global_variables()
  55.  
  56. with tf.Session() as session:
  57.     session.run(init)
  58.  
  59.     for _ in range(iterations):
  60.  
  61.         train_dataset, train_values = generate_test_values()
  62.  
  63.         session.run(train, feed_dict={
  64.             x: train_dataset,
  65.             y: train_values
  66.         })
  67.  
  68.         if(_ % 1000 == 999):
  69.             print("cost = {}".format(session.run(cost, feed_dict={
  70.                 x: train_dataset,
  71.                 y: train_values
  72.             })))
  73.  
  74.     train_dataset, train_values = generate_test_values()
  75.  
  76.     train_values1 = session.run(model, feed_dict={
  77.         x: train_dataset,
  78.     })
  79.  
  80.     plt.plot(train_dataset, train_values, "bo",
  81.              train_dataset, train_values1, "ro")
  82.     plt.show()
  83.  
  84.     with tf.variable_scope("hidden", reuse=True):
  85.         w = tf.get_variable("kernel")
  86.         b = tf.get_variable("bias")
  87.         print("hidden:")
  88.         print("kernel=", w.eval())
  89.         print("bias = ", b.eval())
  90.  
  91.     with tf.variable_scope("output", reuse=True):
  92.         w = tf.get_variable("kernel")
  93.         b = tf.get_variable("bias")
  94.         print("output:")
  95.         print("kernel=", w.eval())
  96.         print("bias = ", b.eval())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement