隐藏文件ipynb_checkpoints引起错误
代码完成的功能主要为:设置fits源文件路径和保存分类结果路径;读取fits文件并进行预处理和分类;保存分类结果
把主要代码贴出来:
设置目录:
if __name__ == '__main__':
# app = QApplication(sys.argv)
# ex = Example()
# ex.show()
# sys.exit(app.exec_())
#file = 'F:\Auroral\experiment\datasetfortest'
file = '/home/zhongjia/aurora_data/ASI_data/test'
savepath = '/home/zhongjia/aurora_data/ASI_data/test/predict_result'
predict(file,savepath)
寻找file目录下的fits文件
def __getitem__(self, idx):
filename = self.root_dir + '/' + self.metas[idx]
if filename[-4:]=='fits':
img, standertime = readfits(filename)
print('yes')
if filename[-3:] =='img':
img,standertime = readimg(filename)
if self.transform is not None:
img = self.transform(img)
return img
调用模型并将结果保存到savepath目录:
def predict(files,saveresult):
batchsize=100
model = DenseNet169()
model.eval()
load_path = 'checkpoint/_200.pth.tar'
load_model(load_path,model)
cuda_flag = False
val_dataset = McDataset(
files,
transforms.Compose([
ResizeCV2(224, 224),
trans2pil(),
transforms.ToTensor(),
White(),]))
kwargs = {'num_workers': 1, 'pin_memory': True} if cuda_flag else {}
test_loader = torch.utils.data.DataLoader(
val_dataset, batch_size= batchsize, shuffle=False, **kwargs)
originfile = os.listdir(files)
for batch_idx, data in enumerate(test_loader):
# data, target = data.cuda(), target.cuda()
data= Variable(data)
output = model(data)
output = F.softmax(output, dim=1)
pred = output.data.max(1)[1] # get the index of the max log-probability
for i in range(len(pred)):
if pred[i] == 1:
oldname = os.path.join(files,originfile[i+batch_idx * batchsize])
newname = os.path.join(saveresult,'throat_aurora')
if not os.path.exists(newname):
os.makedirs(newname)
newname = os.path.join(newname, originfile[i + batch_idx * batchsize])
shutil.copyfile(oldname, newname)
else:
oldname = os.path.join(files, originfile[i + batch_idx * batchsize])
newname = os.path.join(saveresult, 'not_throat_aurora')
if not os.path.exists(newname):
os.makedirs(newname)
newname = os.path.join(newname,originfile[i + batch_idx * batchsize])
shutil.copyfile(oldname, newname)
以上是部分功能代码,整个程序第一次成功运行完成后,我在test目录下看到了predict_result的预测结果文件:
当我对代码进行修改时,如果修改正确,程序正常运行,每次都能生成predict_result文件。
重点是!!!!!当我错误地修改代码后,程序运行报错,然后我再次将代码还原,即使和之前的代码一模一样,还是出现了以下报错:UnboundLocalError: local variable 'img' referenced before assignment
然后我一看是 img = self.transform(img)变量未定义就开始引用,妈的,我当时想到为什么之前同样的程序就能运行,难道之前程序是存在bug,只是偶尔成功运行。于是乎我对img的transform相关的函数进行了一步步仔细的检查,发现真的没有问题啊,不应该报错呢。别慌,还有一个地方未检查,那就是可能根本没找到fits,导致执行到transform出img未定义!!!
于是我 print('yes')发现还真的未执行,证明未找到fits, 我在jupyter lab和linux终端ls命令查看了test目录下文件,就只有一个fits文件啊,为什么会未找到fits呢???然后我想到隐藏文件:
ls -a 查看test目录下究竟有什么东西:
.ipynb_checkpoints文件隐藏在此!!!!!
删除它!!!!
然后程序正常运行了!
notebook运行出错的时候会生成.ipynb_checkpoints的隐藏文件,很可能导致你在该目录下寻找其他文件出错。
隐藏文件ipynb_checkpoints引起错误相关推荐
- Kaggle从入门到实战教程(新手必备)
Kaggle从入门到实战教程(新手必备) 文章目录: 1 kernel的创建 1.1 Notebook的kernel的创建(从零开始创建) 1.1.1 相关的配置说明 1.2 Script的kerne ...
- Kaggle 新手入门必看,手把手教学
Add Data 的路径:/kaggle/input git clone 的路径:/kaggle/working 一.Kaggle 账号注册 1.进入官网 Kaggle 点击 Register 进行账 ...
- linux中文件名以圆点开头的文件是,在UNIX下以小圆点开头的文件是( )。
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 电子科大20秋<unix操作系统>在线作业1(单选题)1: 下列的操作系统,( )的内核和壳(shell)是完全分开的. A: UNIX和Li ...
- Visual Studio生成.vs隐藏文件夹,导致Git命令错误
文章目录 背景 分析 解决 方案一 方案二『荐』 简 述: 使用 Visual Studio 2019 修改 C++ 工程,编译后根目录下多了 .vs 隐藏文件夹,后续使用 Git 命令报错,解决之. ...
- Android 导入项目时出现错误的解决方法(红色感叹号)
如果发现导入工程的时候,出现"No projects are found to import" 的提示,首先查看项目目录中是否有隐藏文件.project,还有目录结构也还要有一个隐 ...
- 阿里云云服务器ECS上的Ubuntu16.04桌面安装及root账户登录错误处理
阿里云云服务器ECS上的Ubuntu16.04桌面安装及root账户登录错误处理 2018-06-28 16:42:45 程百球 阅读数 2793更多 分类专栏: 程序配置 版权声明:本文为博主原创文 ...
- Eclipse Android插件中的“调试证书已过期”错误
我正在使用Eclipse Android插件来构建项目,但是在控制台窗口中出现此错误: [2010-02-03 10:31:14 - androidVNC]Error generating final ...
- 解决修改“文件夹选项”后仍不能显示隐藏文件一例
测试环境:windowsXP 作者:鹏飞万里 当我们要操作隐藏的文件夹时,通常可以在"控制面板"的"文件夹选项"-->"查看"中选择& ...
- 错误:由于系统启用了内核调试器,因此不可能进行调试解决方案
错误:由于系统启用了内核调试器,因此不可能进行调试解决方案 原文地址如下所示: http://msdn.microsoft.com/query/dev10.query?appId=Dev10IDEF1 ...
- java代码没错却运行不了_Java代码没错误,tomcat能正常运行,但是我的项目主页却一直显示不了,显示404错误...
重新在别人的电抄脑上配置一次环境变量bai 配置环境变量 点击du计算机->高级系zhi统设置->环境变量dao-> 在第一个中新建一个 变量:classpath 值:.;(记住是分 ...
最新文章
- 计算机硬件系统公开课课件,计算机硬件系统的组成(公开课).ppt.ppt
- ubuntu安装virtualbox
- MySQL引擎:MyIsam和Innodb的区别
- 【解决方案】win10连接wifi输入密码之后用户就消失了
- 红帽发布了下一代OpenShift Online
- 超好用的Windows管理器工具
- 能表示分数的计算机,分数计算器的实现
- Android应用开发中的风格和主题(style,themes)
- html树状图右侧_马尔可夫模型怎么画?必备入门级模型图设计软件
- python3哪个版本稳定-python3哪个版本稳定
- Java——三大分支:JavaSE、JavaEE、JavaME(概念理解)
- GPS从入门到放弃(二十二) --- 站点位移
- 历史上最有名的五句农民起义军口号
- php 视频 源码下载,PHP下载哔哩哔哩视频
- 20201220苹果黑解开放-黑解教程 最新iccid
- [NepCTF]WEB
- .java编译成.class 与 .class反编译成.java
- 阿里云公布 “抄袭事件” 调查结果:确有员工违规
- 自己的电脑怎样重装系统
- 漫步有感 | 让自己温和一点
热门文章
- 【OMAP-L138学习】 GDB+GDBServer调试ARM_Linux步骤
- C语言/C++常见习题问答集锦(十九)之C语言与漫天飞雪
- 天地图行政区划描边_百度地图api-在中国范围内的多行政区选择与反选(增加屏蔽层)...
- linux的webui服务,Aria2控制前端WebUI客户端安装教程
- oracle数据库表空间容量查询及扩容
- 盘点好用的 Markdown 编辑器
- PHP内裤,用sqlmap来扒下她的内裤吧~
- 微信公众号服务器管理员权限,简析公众号管理员和运营者的区别
- 记忆宫殿--清华一日游
- 房地产中介ERP管理系统设计方案(附源码)