包导入问题,odl包和Dataset包中的default_generator冲突导致plt失效的问题

错误情况:

from torch import default_generator
import odl
import matplotlib.pyplot as plt

如果这样导入包,会导致CT投影域转图像域之后,用plt.show显示的话,只显示出黑色的诡异图片。(图片上方的情况)

其中,from torch import default_generator这个包是从from torch.utils.data import Dataset里面找到的。实际上,一开始的错误就是导入Dataset包引起的,后面经过一个个排查,查到default_generator就懒得继续深入了。

通过一系列操作,发现调换包导入顺序就可以解决这个问题。就是先导入odl包,再导入plt包,再导入 Dataset包即可。这样odl包和Dataset就不会冲突,导致plt包的错误。

另外,如果是a.py调用b.py,b.py按照正确顺序导入,也可能会出问题,最好在入口(a.py)就先第一个导入odl包,这样就不会出错。

总结:用一些冷门的包的时候,最好先把他们先导入,不然可能与后面的包有冲突。

具体咋冲突我也搞不清楚,可能是共享了全局变量什么的。

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值