该篇博文基于我的另一篇博文,即GCNv2 + VS2017 部署指南。其代码修改简列如下:
- 在
GCNextractor.cc
中,其构造函数之末尾作如下修改:
// const char *net_fn = getenv("GCN_PATH");
// net_fn = (net_fn == nullptr) ? "gcn2.pt" : net_fn;
// const char *net_fn = "D:\\gcn2_320x240.pt";
torch::DeviceType device_type;
device_type = torch::kCPU;
const char *net_fn = "D:\\gcn2_320x240_CPU.pt";
module = torch::jit::load(net_fn, device_type);
- 在
GCNextractor.cc
中,其重载的括号运算符之开头作如下修改:
torch::DeviceType device_type;
// device_type = torch::kCUDA;
device_type = torch::kCPU;
torch::Device device(device_type);
- 在模型文件
.pt
中的gcn.py
里,将所有的的cuda:0
替换为cpu
,凡八处。 - 在
项目属性\链接器\命令行\其他选项
删除如下参数。
/INCLUDE:?warp_size@cuda@at@@YAHXZ
修改之后,在我的CPU上跑起来速度挺快的,直观上感觉似乎并不亚于GPU模式。