2014-05-09 55 views
0

我在这个站点上运行此SIFT程序:https://github.com/sanchom/sjm未知的命令行标志“logtostderr”

所有东西顺利,直到我跑我的程序:

$ python extract_caltech.py --dataset_path=[path_to_your_101_Categories_directory] \ 
--process_limit [num_processes_to_spawn] --sift_normalization_threshold 2.0 -- sift_discard_unnormalized \ 
--sift_grid_type FIXED_3X3 --sift_first_level_smoothing 0.66 --sift_fast --sift_multiscale \ 
--features_directory [path_for_extracted_features] 

在输出中,我看到这个这里建议

ERROR: unknown command line flag 'logtostderr' 

我已经检查了一些解决方案:行数千倍

https://code.google.com/p/google-glog/issues/detail?id=17&q=glog%20gflagsBut

我所做的是增加GLOG_logtostderr=1我跑我的程序之前:

GLOG_logtostderr=1 ./my_application 

但它并没有为我工作了。

据我所知,它的问题与Gflags和Glog之间的关联有关。但是我还没有关于如何解决它的任何想法。请帮忙。谢谢!

回答

1

$GLOG_logtostderr=1没有达到您的预期。 $name表示“用环境变量name的值替换它”。但是你想定义一个新的变量。改为:

GLOG_logtostderr=1 ./my_application 

(即省略$)。

+0

是的,我做键入GLOG_logtostderr = 1 ./my_application但它没有发挥出来。 –

+0

请停止说“不起作用”。这不允许世界上的任何人来帮助你。始终包含确切的错误消息,日志输出或任何可能允许某人发现问题的内容。 –

+0

对不起,我运行后:GlOG_logtostderr = 1 ./my_application。然后,我得到:{'sift_grid_type':'FIXED_3X3','features_directory':'/ users/phongnguyen/desktop/features','sift_normalization_threshold':2.0,'sift_discard_unnormalized':True,'sift_multiscale':True,'sift_fast': True,'sift_minimum_radius':0,'sift_smoothed':True,'process_limit':3,'sift_first_level_smoothing':0.66,'dataset_path':'/ users/phongnguyen/downloads/101_ObjectCategories'} 错误:unknown command flag flag'logtostderr '错误:未知命令行标志'logtostderr'ERROR:未知命令行标志'logtostderr'..... –

1

我已经解决了我的问题。它的原因是IIRC macports的glog不是用gflags构建的,但python脚本设置了--logtostderr。因此,只要通过运行脚本从python脚本删除--logtostderr:

find . -name '*.py' -exec perl -i -p -e 's/--logtostderr//' {} \; 

要了解,如果你受到影响,运行

ldd libglog.so 

,并检查是否libgflags是在输出中。

溶液从这个网站提示:

https://code.google.com/p/google-glog/issues/detail?can=2&start=0&num=100&q=&colspec=ID%20Type%20Status%20Priority%20Milestone%20Owner%20Summary&groupby=&sort=&id=206

+1

Macports glog现在具有gflags依赖性。它是昨天添加的。 –

+0

用户如何判断glog是否支持gflags? –

+0

@AaronDigulla你可以做'ldd libglog.so'并检查libgflags是否在输出中。 –