擅长:python、mysql、java
<p>对于任何有相同问题的人-这是一个余数不同于时代结束时的批处理大小(由于培训和测试大小不是批大小的倍数),这是我的解决办法。在</p>
<p>由于余数的大小始终小于批处理大小,因此我在call函数中所做的是将权重切片如下:</p>
<pre class="lang-py prettyprint-override"><code>def call(self, x):
mean = self.mean[:K.shape(x)[0],:]
std = self.std[:K.shape(x)[0],:]
return (x-mean)/std
</code></pre>
<p>这是可行的,但这意味着如果使用大于初始化层的批处理大小来评估模型,则错误将再次弹出。在</p>
<p>这就是为什么我在<code>__init__</code>中输入:
<code>self.b = max(32,batch_size)</code>。在</p>
<p>因为predict()默认使用batch_size=32</p>