您好,我正在尝试使用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)
错误:
文件“ /home/rak038/Segmentation/U-net/noGPU/noGPU/lib/python3.7/site-packages/medpy/metric/binary.py”,第1200行,位于__surface_distances中
result = numpy.atleast_1d(result.astype(numpy.bool))
AttributeError:'Tensor'对象没有属性'astype'
astype
是Numpy函数。在这里我想result
是tf.Tensor
,因此您需要使用tf.cast
来更改其类型(请参阅https://www.tensorflow.org/api_docs/python/tf/cast)。