记录一下改神经网络过程中遇到的小bug
在对网络结构进行更改时,不可避免要把别人的文件copy到自己的项目里。这时可能会遇到包导入的错误。正常情况下,导入的包应该大致包括三种方式:
1、导入外部包,如果这里错了就自己去pip install安装就行了
代码示例:
import matplotlib.pyplot as plt
import os
import numpy as np
2、导入的文件在其他文件夹下,与当前文件不在同一文件夹,导入方式也比较简单,一般加上文件夹名称,文件名称和类名称就行,最多就是用pycharm设置一下文件夹格式为源
代码示例:
from models.evaluator import *
from datasets.CD_dataset import CDDataset
3、本次遇到的错误在于引用同一文件夹下面的另一个py文件里面封装的方法
import vit as vit
提示错误:ModuleNotFoundError: No module named 'vit'
通过检查我并不觉得是别人的源码有问题,后来才发现,网络的运行文件在其他位置,而当前这个报错的文件与vit包在同一文件夹models下。考虑到可能是在调用时的位置识别问题,所以引用时加上了文件夹名称,解决了这个问题。
import models.vit as vit