调用ifcb-analysis中start_blob_batch_user_training.m时参数不足报错解决
解决start_blob_batch_user_training.m参数不足的错误
核心原因
报错说明脚本运行时未获取到out_dir_blob_base变量值,大概率是因为该脚本为函数形式,需要调用时传入参数,或是你定义的路径变量未被脚本识别。
具体解决步骤
方法1:修改为直接运行的脚本模式
打开start_blob_batch_user_training.m,在文件最开头(若有函数声明则放在其前)添加你的路径定义:in_dir_base = '/Users/user/Documents/user_training_test_data/data/2014/'; out_dir_blob_base = '/Users/user/Documents/user_training_test_data/blobs/2014/';若原文件开头是函数声明(如
function start_blob_batch_user_training(in_dir_base, out_dir_blob_base)),可暂时注释该行切换为脚本模式运行。方法2:命令行传参调用函数
若脚本本身是函数结构,保留原代码不变,在Matlab命令行中直接传入参数调用:in_dir_base = '/Users/user/Documents/user_training_test_data/data/2014/'; out_dir_blob_base = '/Users/user/Documents/user_training_test_data/blobs/2014/'; start_blob_batch_user_training(in_dir_base, out_dir_blob_base);方法3:验证路径合法性
确保输入输出路径符合macOS要求:- 输入路径
in_dir_base下确实存在测试数据集的文件 - 输出路径即使不存在,脚本在变量正常识别的情况下会自动创建,无需提前手动建立
- 路径避免包含空格或特殊字符(当前路径无此问题)
- 输入路径
额外确认
打开start_blob_batch_user_training.m查看第17行附近代码,确认out_dir_blob_base是函数参数还是脚本内部变量。如果是函数参数,必须调用时传参;如果是脚本变量,确保你定义的变量名与脚本内的变量名完全一致。
内容的提问来源于stack exchange,提问作者C. Guff
相关产品推荐
相关产品推荐

