我在此网站上运行此SIFT计划:https://github.com/sanchom/sjm
在我运行程序之前,所有的东西都很顺利:
$ 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之间的链接有关。但我还没有任何关于如何解决它的想法。请帮忙。谢谢!
答案 0 :(得分:1)
$GLOG_logtostderr=1
并没有按照您的期望行事。 $name
表示"将其替换为环境变量name
"的值。但是你想要定义一个新变量。请改用:
GLOG_logtostderr=1 ./my_application
(即省略$
)。
答案 1 :(得分:1)
我已经解决了我的问题。因为IIRC macports的glog不是用gflags构建的,而是python脚本设置了--logtostderr。所以只需通过运行脚本从python脚本中删除--logtostderr:
find . -name '*.py' -exec perl -i -p -e 's/--logtostderr//' {} \;
要了解您是否受到影响,请运行
ldd libglog.so
并检查输出中是否存在libgflags。
该网站建议采用解决方案: