Tensorflow TypeError:输入类型不支持ufunc“反转”,
我已经用tensorflow克隆了U-net的存储库Tensorflow TypeError:输入类型不支持ufunc“反转”,,tensorflow,python-3.5,unet,Tensorflow,Python 3.5,Unet,我已经用tensorflow克隆了U-net的存储库 labels = np.zeros((ny, nx, self.n_class), dtype=np.float32) labels[..., 1] = label labels[..., 0] = ~label 我在第三行得到一个错误,说: TypeError:输入类型不支持ufunc“invert”,并且无法根据强制转换规则安全地将输入强制为任何受支持的类型 如何调试此问题?听起来这可能与
labels = np.zeros((ny, nx, self.n_class), dtype=np.float32)
labels[..., 1] = label
labels[..., 0] = ~label
我在第三行得到一个错误,说:
TypeError:输入类型不支持ufunc“invert”,并且无法根据强制转换规则安全地将输入强制为任何受支持的类型
如何调试此问题?听起来这可能与Theano issues tracker中的问题相同 错误来自numpy,并且是因为您混合了符号和数字scipy代码。这是行不通的 如果你想在theano中使用一个scipy函数,你必须把它包装成一个op,也许可以用@as_op 反转函数只能应用于np.bool数组 根据U-net回购调用层次结构,如下所示: _加载数据和标签:准备所有数据 _下一个_数据:加载数据为np.float32,重要加载标签为np.bool _加载_文件:请检查生成的数组是否为np.bool。 例如:
实际上,在这个被剪掉的片段中没有tensorflow代码,看起来一切都还很简单。你能把错误的整个堆栈跟踪都贴出来吗?
def _load_file(self, path, dtype=np.float32):
img = Image.open(path)
img = np.array(img, dtype=np.float32)
img = cv2.copyMakeBorder(img, top=self.border, bottom=self.border, left=self.border, right=self.border, borderType=cv2.BORDER_CONSTANT, value=[0, 0, 0])
return np.array(img, dtype)