您好,我正在尝试使用Medpy和最新的keras和tensorflow库计算平均表面距离(asd)。在此方面的任何帮助都将不胜感激。以下是我的代码和错误:
from medpy import metric as M
asd=M.binary.asd(tf.cast(y_pred, np.float32),tf.cast(y_true, np.float32),voxelspacing=None,connectivity=1)
错误:
File "/home/rak038/Segmentation/U-net/noGPU/noGPU/lib/python3.7/site-packages/medpy/metric/binary.py", line 1200, in __surface_distances
result = numpy.atleast_1d(result.astype(numpy.bool))
AttributeError: 'Tensor' object has no attribute 'astype'
astype
是一个Numpy函数。这里我猜result
是一个tf.Tensor
,所以您需要使用tf.cast
来更改它的类型(请参见https://www.tensorflow.org/api_docs/python/tf/cast)tensor.numpy()
可以将您的类型从张量更改为numpy
,它将具有属性astype
相关问题 更多 >
编程相关推荐