Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Keras后端函数,仅当值介于a和b之间时才提供一个_Python_Python 3.x_Tensorflow_Keras - Fatal编程技术网

Python Keras后端函数,仅当值介于a和b之间时才提供一个

Python Keras后端函数,仅当值介于a和b之间时才提供一个,python,python-3.x,tensorflow,keras,Python,Python 3.x,Tensorflow,Keras,我试图写一个Keras后端函数,如果输入x在a和b之间,它会给出1;否则,它给出零。我无法使用Keras后端中可用的函数来完成此操作。如果是numpy,我会写: def my_function(x): import numpy as np y=np.int64(np.logical_and(x>=a, x<=b)) return y def my_函数(x): 将numpy作为np导入 y=np.int64(np.logical_和(x>=a,x对于Tens

我试图写一个Keras后端函数,如果输入x在a和b之间,它会给出1;否则,它给出零。我无法使用Keras后端中可用的函数来完成此操作。如果是numpy,我会写:

def my_function(x):
    import numpy as np
    y=np.int64(np.logical_and(x>=a, x<=b))
    return y
def my_函数(x):
将numpy作为np导入

y=np.int64(np.logical_和(x>=a,x对于TensorFlow上的问题2,您可以尝试使用TF.cond或TF.case导出所需的输出。如下所示:

import tensorflow as tf
x = tf.constant(20)
y = tf.constant(22)
z = tf.constant(25)
result1 = tf.cond(tf.logical_and(x > y, x <z), lambda: tf.constant(1), lambda: tf.constant(0))
将tensorflow导入为tf
x=tf.常数(20)
y=tf.常数(22)
z=tf.常数(25)

result1=tf.cond(tf.logical_)和(x>y,x以下是我经常使用opencv调整图像大小的代码:

import tensorflow as tf
import cv2

def resize_function(image, target_height, target_width):
  img = cv2.resize(image, (target_height, target_width))
  return image.astype(np.float32)

image = tf.numpy_function(
    func=resize_function,
    inp=[tf.cast(image, tf.uint8),resize_height, resize_width],
    Tout=tf.float32)
tensorflow具有定义自定义numpy函数的功能。 这会将自定义函数转换为tensorflow图

如果一个函数预期有多个输出,请修改为:

output_1, output_2, output_3 = tf.numpy_function(
    func=compute_input_output, 
    inp=[inp_1, inp_2, inp_3,inp4], 
    Tout=[tf.float32,tf.float32,tf.float32])

Tout应该包含一个预期输出数据类型的列表。

输入形状是什么?@zihaozhao我不知道。它是一个层的输出。我们可以为一般输入形状编写它吗?哦,我明白了。可能它应用于logits或probs。它将用于神经网络
output_1, output_2, output_3 = tf.numpy_function(
    func=compute_input_output, 
    inp=[inp_1, inp_2, inp_3,inp4], 
    Tout=[tf.float32,tf.float32,tf.float32])