def create_training(self, image_size = [151,151]):
"""Create the cost function and trainer"""
self.phi_input = tf.stop_gradient(tf.placeholder("float32", [None, image_size[0], image_size[1], 1]));
def cost(output, phi_in):
#return np.array([self.cost(o, phi_in) for o in output]);
return np.sum(self.cost_func(output, phi_in));
def cost_grad(op, grad):
#print op
output = op.inputs[0];
phi = op.inputs[1];
grad = tf.py_func(self.cost_func_grad, [output, phi], [tf.float32])[0];
#return [self.cost_func_grad(output, phi_in, epsilon = 0.01), np.zeros((phi_in.shape))];
return [grad, None];
self.cost_tf = py_func(cost, [self.output, self.phi_input], [tf.float32], grad = cost_grad)[0];
#self.cost_tf = tf.py_func(cost, [self.output, self.phi_input], [tf.float64])[0];
#self.phi = tf.py_func(phi_func, [self.output], [tf.float64]);
#self.cost = tf.reduce_mean(tf.squared_difference(self.phi_input, self.phi));
self.train_tf = tf.train.RMSPropOptimizer(0.00025,0.99,0.0,1e-6).minimize(self.cost_tf)
machine_vision.py 文件源码
python
阅读 31
收藏 0
点赞 0
评论 0
评论列表
文章目录