代码主要环境 python==3.10 pytorch==1.13.0+cu116
TypeError: No loop matching the specified signature and casting was found for ufunc greater
具体报错信息是:
[`Traceback (most recent call last):
File "/home/zkpk/PycharmProjects/scGPT/examples/pretrain.py", line 1123, in <module>
train(model, train_loader, epoch=epoch)
File "/home/zkpk/PycharmProjects/scGPT/examples/pretrain.py", line 956, in train
writer.add_histogram(name + "_grad", param.grad, global_iter)
File "/home/zkpk/micromamba/envs/scgpt_piptorch113_cu117/lib/python3.10/site-packages/torch/utils/tensorboard/writer.py", line 485, in add_histogram
histogram(tag, values, bins, max_bins=max_bins), global_step, walltime
File "/home/zkpk/micromamba/envs/scgpt_piptorch113_cu117/lib/python3.10/site-packages/torch/utils/tensorboard/summary.py", line 358, in histogram
hist = make_histogram(values.astype(float), bins, max_bins)
File "/home/zkpk/micromamba/envs/scgpt_piptorch113_cu117/lib/python3.10/site-packages/torch/utils/tensorboard/summary.py", line 386, in make_histogram
cum_counts = np.cumsum(np.greater(counts, 0, dtype=np.int32))
TypeError: No loop matching the specified signature and casting was found for ufunc greater
解决方法:
将
cum_counts = np.cumsum(np.greater(counts, 0, dtype=np.int32))
换成
cum_counts = np.cumsum(np.greater(counts, 0))