1
我有兩個文件:瞭解進口和範圍及朱古力
main.py
import mylib
class Foo:
def __init__(self):
self.myobj = mylib.MyObj(0)
def main():
foo = Foo()
foo.myobj.docaffe()
mylib.py
import caffe
caffe.set_mode_gpu()
class MyObj:
def __init__(self, gpuid):
caffe.set_device(gpuid)
self.nd = caffe.Net(...)
def docaffe():
self.nd.forward(...)
但是,代碼的CPU上運行,儘管幾乎mylib.py
(我的兩個模塊當前通過zmq
進行通信,所以我想直接調用)的代碼相同的代碼在直接通過調用時按預期工作。
那麼,有什麼我不知道導入模塊和上下文嗎?我是否需要一些額外的範圍信息來確保我在正確的上下文中設置GPU模式?
更新:我嘗試粘貼到mylib.py
main.py
,代碼仍然不能使用GPU,所以也許有caffe
等進口,像cv2
或各種ROS模塊之間的一些模糊的衝突。