我一直在修改Caffe深度学习库中的example C++ program,我注意到line 234上的这段代码似乎没有被再次引用。
::google::InitGoogleLogging(argv[0]);
提供的参数是一个prototxt文件,它定义了我调用的深度学习模型的参数。令我困惑的是这条线的结果出在哪里?我知道他们最终被用在程序中,因为如果我在prototxt文件中出错,那么程序将崩溃。但是,我很难看到如何将数据传递给执行分类任务的类。
答案 0 :(得分:9)
首先,argv[0]
不是您传递给可执行文件的第一个参数,而是executable name。因此,您传递的是::google::InitGoogleLogging
可执行文件名而不是原始文件文件
'glog'
模块(谷歌日志记录)使用此名称来装饰它输出的日志条目。
其次,caffe使用谷歌日志记录(aka 'glog'
)作为其日志记录模块,因此在运行caffe时必须初始化此模块一次。这就是你有这个
::google::InitGoogleLogging(argv[0]);
代码。