问题描述
这几天在跑一个注意力机制的项目,其中train的主函数在大文件夹下面,而其余的像dataloader和loss这样的文件在另一个子文件下。然后出现了import的错误。
这是我train中import的src这个文件夹下其它文件的操作。那么这个src文件夹里的文件有这些
这里可以看到我的model文件和attention文件确实是在同一文件夹下面,所以按理来说如果我需要在model这个文件中调用attention中的类,直接import attention就可以了。但是我这样操作之后会报错,说找不到attention这个module。
解决方案
这里因为是src这个文件夹下的两个文件不能互相调用的问题,所以我们右键点击src文件夹并按照图示操作把该文件夹标记为Sources root就可以了。
问题原因
后来问了一下实验室的学长,这个问题好像在pycharm里跑项目时常会发生。应该文件目录默认设置的问题,直接把别人的项目的一股脑copy就很容易发生这样的问题。