8

我一直在修改 Caffe 深度学习库中的示例 C++ 程序,我注意到第 234 行的这段代码似乎不再被引用。

::google::InitGoogleLogging(argv[0]);

提供的参数是一个 prototxt 文件,它定义了我正在调用的深度学习模型的参数。让我感到困惑的是这条线的结果在哪里?我知道它们最终会在程序中使用,因为如果我在 prototxt 文件中出错,那么程序就会崩溃。但是,我正在努力查看数据如何传递给执行分类任务的类。

4

1 回答 1

10

首先,argv[0]不是传递给可执行文件第一个参数,而是可执行文件名称。所以你传递给::google::InitGoogleLogging可执行文件名而不是 prototxt 文件。
'glog'模块(谷歌日志)正在使用这个名称来装饰它输出的日志条目。

其次,caffe 使用 google logging ( aka'glog' ) 作为其日志模块,因此该模块必须在运行 caffe 时初始化一次。这就是为什么你有这个

::google::InitGoogleLogging(argv[0]);

在你的代码中。

于 2015-09-02T07:25:28.993 回答