Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.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 2.2.4如何从Keras 1.x.x复制merge()_Python_Tensorflow_Merge_Keras_Deprecated - Fatal编程技术网

Python Keras 2.2.4如何从Keras 1.x.x复制merge()

Python Keras 2.2.4如何从Keras 1.x.x复制merge(),python,tensorflow,merge,keras,deprecated,Python,Tensorflow,Merge,Keras,Deprecated,我正在尝试使用TensorFlow后端将Keras1.x.x代码转换为2.2.x 我在Keras 1.x.x中有以下内容,它采用以下输入: org\u image3个RGB彩色通道上256x256的图像shape=(256256,3) mask1b/W彩色通道上256x256的掩模shape=(256256,1) 我希望将图像与遮罩相结合,以获得一个新的裁剪图像,其中遮罩区域缺失。为此,我首先使用1-mask取mask的倒数,其中1是1的张量。然后我按元素相乘org_image*(1-mas

我正在尝试使用TensorFlow后端将Keras1.x.x代码转换为2.2.x

我在Keras 1.x.x中有以下内容,它采用以下输入:

  • org\u image
    3个RGB彩色通道上256x256的图像
    shape=(256256,3)
  • mask
    1b/W彩色通道上256x256的掩模
    shape=(256256,1)
我希望将图像与遮罩相结合,以获得一个新的裁剪图像,其中遮罩区域缺失。为此,我首先使用
1-mask
mask
的倒数,其中
1
是1的张量。然后我按元素相乘
org_image*(1-mask)
得到新裁剪的图像。Keras 1.x.x中的代码如下所示

从keras.layers导入输入,合并
输入_形状=(256256,3)
org\u img=Input(shape=Input\u shape)
掩码=输入(形状=(输入形状[0],输入形状[1],1))
input\u img=merge([org\u img,mask],
模式=λx:x[0]*(1-x[1]),
输出形状=输入形状)
在Keras 2.2.x中引入了一个突破性的更改,将
merge()
函数替换为
Add()
Subtract()
Multiply()
…等。前面的
merge()
具有
mode=lambda x:x[0]*(1-x[1])
的便利性,它等于
mode=lambda[org\u img,mask]:org\u img*(1-mask)

如何在Keras 2.2.x中复制
1-mask
?我是否需要导入
tf.backend.ones

或者我需要
tf.enable_eager_execution()


我是个新手,所以我知道我脑子里有很多事情。如果有人能澄清我的误解,我将不胜感激,谢谢

对自定义函数或Lambda表达式使用
Lambda
层:

input_img = Lambda(lambda x: x[0] * (1 - x[1]), output_shape=input_shape)([org_img, mask])
如果您使用tensorflow作为后端,则其中的
output\u shape
是可选的

其他有用的层:

  • 串联(轴=…)(输入列表)
  • Add()(输入列表)
  • Multiply()(输入列表)