Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.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 ackend函数。(不要使用循环)在不知道函数的情况下回答是不可能的。您使用的是哪个tensorflow版本?@DanielMöller我没有使用循环。我正在将(a,B)对的列表映射到函数。我将用真实的代码更新这个问题,但它与我所描述的没有太大区别。@Sh_Python_Tensorflow_Keras - Fatal编程技术网

Python ackend函数。(不要使用循环)在不知道函数的情况下回答是不可能的。您使用的是哪个tensorflow版本?@DanielMöller我没有使用循环。我正在将(a,B)对的列表映射到函数。我将用真实的代码更新这个问题,但它与我所描述的没有太大区别。@Sh

Python ackend函数。(不要使用循环)在不知道函数的情况下回答是不可能的。您使用的是哪个tensorflow版本?@DanielMöller我没有使用循环。我正在将(a,B)对的列表映射到函数。我将用真实的代码更新这个问题,但它与我所描述的没有太大区别。@Sh,python,tensorflow,keras,Python,Tensorflow,Keras,ackend函数。(不要使用循环)在不知道函数的情况下回答是不可能的。您使用的是哪个tensorflow版本?@DanielMöller我没有使用循环。我正在将(a,B)对的列表映射到函数。我将用真实的代码更新这个问题,但它与我所描述的没有太大区别。@ShubhamShaswat TF1.13.1。不幸的是,我无法控制PC上的版本。您认为这在TF2.1计算机上会更好吗?我不确定,但您的自定义层和函数似乎连接不好,无法有效执行,在tesnorflow 2.0中有@tf.function将外部功能连


ackend函数。(不要使用循环)在不知道函数的情况下回答是不可能的。您使用的是哪个tensorflow版本?@DanielMöller我没有使用循环。我正在将(
a
B
)对的列表映射到函数。我将用真实的代码更新这个问题,但它与我所描述的没有太大区别。@ShubhamShaswat TF1.13.1。不幸的是,我无法控制PC上的版本。您认为这在TF2.1计算机上会更好吗?我不确定,但您的自定义层和函数似乎连接不好,无法有效执行,在tesnorflow 2.0中有
@tf.function
将外部功能连接到图形,我明天回到工作电脑时将尝试一下。回复:平行线。我意识到发生这种事情的风险。然而,由于这些点的性质,在我目前的情况下,这不是一个风险。不过,当我完成代码时,我正计划进行健全性检查。好的,对于
mat.shape==(2,)
,你应该
K。重塑(mat,(1,2,1,1,1))
我已经实现了你的建议,它似乎有效。不幸的是,我无法正确地测试它,因为我得到了以下错误:
ValueError:检查目标时出错:预期dect\u decompo\u layer\u 1有5个维度,但得到了形状为(6、32、128、128)的数组。
。我已经检查了
f3
的形状,它是
(?,1,32,128,128)
。在那里的某个地方,Keras/TF似乎失去了通道维度。添加一个
重塑
层只会将错误移到该层。您的模型输出与
y
数据不匹配,只需重塑其中一个。是
\uuuu len\uuuu
仍然将形状报告为
(?,1,32,128,128)
,而它本应是
(?,32,128,128)
。这仍然有点奇怪,因为我已经重塑了
f3
张量以包含通道轴,但可能Keras喜欢删除大小为1的轴。无论哪种方式,这似乎比我之前的工作要快得多。
Input -(A, B)-> Model -(A', B')-> Function(A'[p], B'[p]) -(C[p])-> Result
def call(self, inputs, **kwargs): #shape (batch, 2, size, size, size)
    sample3 = inputs + (self.mat2 - self.mat3) 

    #all shapes (batch, size, size, size)
    x1 = inputs[:,0]
    y1 = inputs[:,1]
    x2 = sample3[:,0]
    y2 = sample3[:,1]

    #all shapes (1, size, size, size) or (batch, size, size, size)
    x3 = self.mat1[:,0]
    y3 = self.mat2[:,1]
    x4 = self.mat2[:,0]
    y4 = self.mat2[:,1]


    #all shapes (batch, size, size, size)
    px = (x1 * y2 - y1 * x2) * (x3 - x4) - (x1 - x2) * (x3 * y4 - y3 * x4)
    px /= (x1 - x2) * (y3 - y4) - (y1 - y2) * (x3 - x4)
    py = (x1 * y2 - y1 * x2) * (y3 - y4) - (y1 - y2) * (x3 * y4 - y3 * x4)
    py /= (x1 - x2) * (y3 - y4) - (y1 - y2) * (x3 - x4)

    #proceed with the rest
denominator = (x1 - x2) * (y3 - y4) - (y1 - y2) * (x3 - x4)
K.switch(
    K.less(K.abs(denominator), K.epsilon()), 
    denominator + K.sign(denominator)*K.epsilon(), 
    denominator)
px /= denominator