Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import tensorflow as tf
- import numpy as np
- import itertools
- input_bits = tf.placeholder(dtype=tf.float32, shape=[None, 2], name='input_bits')
- code_out = tf.placeholder(dtype=tf.float32, shape=[None, 3], name='code_out')
- np.random.seed(1331)
- def find_code(message):
- weight1 = np.random.normal(loc=0.0, scale=0.01, size=[2, 3])
- init1 = tf.constant_initializer(weight1)
- out = tf.layers.dense(inputs=message, units=3, activation=tf.nn.sigmoid, kernel_initializer=init1)
- return out
- code = find_code(input_bits)
- distances = []
- for i in range(0, 3):
- for j in range(i+1, 3):
- distances.append(tf.linalg.norm(code_out[i]-code_out[j]))
- min_dist = tf.reduce_min(distances)
- # avg_dist = tf.reduce_mean(distances)
- loss = -min_dist
- opt = tf.train.AdamOptimizer().minimize(loss)
- init_variables = tf.global_variables_initializer()
- sess = tf.Session()
- sess.run(init_variables)
- saver = tf.train.Saver()
- count = int(1e4)
- for i in range(count):
- input_bit = [list(k) for k in itertools.product([0, 1], repeat=2)]
- code_preview = sess.run(code, feed_dict={input_bits: input_bit})
- sess.run(opt, feed_dict={input_bits: input_bit, code_out: code_preview})
- ValueError: No gradients provided for any variable, check your graph for ops that do not support gradients, between variables
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement