OpenKE在windows环境下的安装(更新OpenKE-PyTorch版本)

上一篇文章是18年的OpenKE版本。最近时不时收到网友私信,说dll用不了或者编译步骤已经对不上。特意下载了最新的OpenKE--PyTorch版本试了一下,以下是更新后的步骤(与旧的略有差别):

1. 下载配置pthread for windows。pthreads-w32-2-9-1-release貌似已经不能下载。我下了pthreads4w-code-v3.0.0用visual studio编译了一下。编译方法很简单,但要注意选对32、64环境(根据你最后要运行openKE的python版本),建议直接两套都编译一下。手把手教学如下:

  • 运行上图所示x86或x64命令行(根据需求)
  • cd到pthread代码目录
  • 运行nmake clean VC EXTRAVERSION="-w64"。最后那个EXTRAVERSION只是个标记,为了好区别编译出来的文件,tag可以随便改
  • 运行完毕在目录下会生成如下文件

  • 将dll复制到系统路径下,32位的放到syswow64,64位的放到system32,不能搞反。此处例子是放到system32下。
  • 将lib复制到VC的lib路径下。默认路径可以在visual studio的项目属性中找到
  • 拷贝以下3个头文件到VC的include路径下,至此pthread配置完毕。

2. 在openKE的base文件夹下,新建visual studio的dll类型C++项目。修改几个文件,主要有以下几个地方:

  • 所有导出函数(不只是base.cpp,还有其它.h文件)都需要把extern "C"修改为extern "C" __declspec(dllexport)
  • setting.h中 #define INT long 修改为 typedef int INT; (最后有分号)。类似地修改 #define REAL float 为 typedef double REAL;
  • corrupt.h和test.h中添加一句 #include "iso646.h"
  • base.cpp的getBatch函数最后,添加一行return ((void*)0);

3. 在configuration manager中配置debug/release, 32bit/64bit为自己想要的。然后在项目属性中,按需修改vc++ directory (include、library路径);linker/input/Additional dependencies中添加pthreadVC3-w64.lib,名字因命令行中tag设置而异

4. 编译即可得到base.dll,新建OpenKE/release文件夹,将dll拷贝到下面

5. 修改openKE中所有出现base.so的地方为base.dll,就可以运行啦

 

 

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页