[討論] colab 上的 import 路徑的問題
看了這個影片想照著做,結果就卡在原本的函式都是用舊的 tf 語法,要轉成新的才行
https://www.youtube.com/watch?v=5ZStcy7NWqs
model = modellib.MaskRCNN(mode="inference", model_dir=MODEL_DIR, config=config)
這一句會去呼叫 mrcnn/model.py 內的 log2_graph 函式,舊的語法是 tf.log,要改成
tf.math.log 才行
我就用 google 到的指令把用到的舊語法都改成新的
https://github.com/matterport/Mask_RCNN/issues/1797
!tf_upgrade_v2 \
--intree ../../Mask_RCNN \
--outtree ../../Mask_RCNN_v2 \
--reportfile report.txt
然後就進入鬼打牆的狀態,因為錯誤訊息依舊一樣,甚至我把舊版的 Mask_RCNN 資料夾
移到別的地方都不會跑出找不到這個資料夾的錯誤訊息
一開始查看 sys.path,把裏面之前加入的舊路徑 /Mask_RCNN 都清掉,換成
/Mask_RCNN_v2,依舊沒用
然後查看 sys.modules['mrcnn'],阿,原來是這裡在搞鬼,這邊還是舊的路徑
指向 /content/Mask_RCNN/mrcnn/__init__.py
因此又用 google 到的結果終於讓 sys.modules['mrcnn'] 指向新的路徑
縮 https://reurl.cc/MvXNdk
https://stackoverflow.com/questions/67631/how-to-import-a-module-given-the-f
ull-path
MODULE_PATH = "/content/Mask_RCNN_v2/mrcnn/__init__.py"
MODULE_NAME = "mrcnn"
import importlib
import sys
spec = importlib.util.spec_from_file_location(MODULE_NAME, MODULE_PATH)
module = importlib.util.module_from_spec(spec)
sys.modules[spec.name] = module
spec.loader.exec_module(module)
結果還是不行!!
因此改成查看 sys.modules['mrcnn.model'],這裡居然還是指向舊的路徑
只好重複上面的步驟再做一次
MODULE_PATH = "/content/Mask_RCNN_v2/mrcnn/model.py"
MODULE_NAME = "mrcnn.model"
import importlib
import sys
spec = importlib.util.spec_from_file_location(MODULE_NAME, MODULE_PATH)
module = importlib.util.module_from_spec(spec)
sys.modules[spec.name] = module
spec.loader.exec_module(module)
sys.modules['mrcnn.model'] 終於指向正確的路徑了
這樣修改完後,原本可以正常使用的 import mrcnn.model as modellib 居然不能用了
說是 mrcnn 沒有 model 屬性
最後把這句改成 from mrcnn import model as modellib 才終於把這個範例跑完
我最不懂的就是為何原本可以用的 import 指令在那樣修改之後居然變成不能用了?
另外則是舊的資料夾都不在了,居然還能繼續跳出 tf 沒有 log 屬性的錯誤訊息,為何
不是先跳出找不到這個路徑的訊息呢?
--
「看在上帝的份上,我們不能當著孩子的面槍殺他的父親!」
「那我們就連孩子一起幹掉!」
「第一槍打中的是那個天真的孩子,第二槍是抱著孩子的母親。第三槍
停頓了三秒,當難以致信的父親擦拭著臉上愛子的腦漿從震驚中醒轉
過來,慢慢的轉頭看向停車的地方,分辨出是誰在攻擊他後,第三顆
子彈才將他的腦殼打飛。」 ─摘自〈狼群〉
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.121.189.149 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1586708445.A.A1D.html
Python 近期熱門文章
PTT數位生活區 即時熱門文章