当前位置: 首页 > news >正文

The Back-And-Forth Method (BFM) for Wasserstein Gradient Flows windows安装

本文记录了BFM算法代码在windows上的安装过程。

算法原网站:https://wasserstein-gradient-flows.netlify.app/

github:https://github.com/wonjunee/wgfBFMcodes

文章目录

  • FFTW
  • wgfBFMcodes
  • MATLAB
  • python

FFTW

官网/下载路径:https://www.fftw.org/install/windows.html

windows下FFTW安装教程可参考:

  1. https://blog.csdn.net/Jhon_ranble/article/details/120576590
  2. https://blog.csdn.net/ifenghua135792468/article/details/80608138?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_baidulandingword~default-0-80608138-blog-70225210.235v43pc_blog_bottom_relevance_base9&spm=1001.2101.3001.4242.1&utm_relevant_index=3

下载并解压,之后使用VS编译。

本人采用VS2017,“x86 Native Tools Command Prompt for VS 2017”和“VS 2017的 x64_x86 交叉工具命令提示符”都可以。打开后cd到fftw解压路径,输入以下三个命令

lib /machine:x64 /def:libfftw3-3.def
lib /machine:x64 /def:libfftw3l-3.def
lib /machine:x64 /def:libfftw3f-3.def

结束后如图:
在这里插入图片描述
将生成的libfftw3-3.dll, libfftw3-3f.dll, libfftw3-3l.dll放入Windows/System32中,然后将生成的库文件libfftw3-3.lib libfftw3f-3.lib libfftw3l-3.lib放入VS中的lib文件夹,把fftw3.h放入include文件夹。

wgfBFMcodes

下载github上的源码,可用git命令clone

git clone https://github.com/wonjunee/wgfBFMcodes
cd wgfBFMcodes/

MATLAB

从github clone代码后,用matlab打开,用mex命令编译。mex命令可以参考https://ww2.mathworks.cn/help/matlab/ref/mex.html#btw193f-1

在交互窗口输入

mex -setup C++
mex COMPFLAGS='$COMPFLAGS -std=c++17' src/wgfslow.cpp
mex COMPFLAGS='$COMPFLAGS -std=c++17' src/wgfinc.cpp

目前仍有报错,以后再修改。

python

打开cmd,cd到wgfBFMcodes/python下,运行compile.sh。此时程序会根据你电脑中的C/C++编译器编译src文件夹下的文件来获得接口。

可能我电脑上的C的编译器比较混乱,出现了M_PI没有定义的报错。在报错的文件添加

#define M_PI       3.14159265358979323846

即可运行。

http://www.lryc.cn/news/296346.html

相关文章:

  • 【GAMES101】Lecture 19 透镜
  • 防范恶意勒索攻击!亚信安全发布《勒索家族和勒索事件监控报告》
  • AR人脸106240点位检测解决方案
  • 数字图像处理实验记录八(图像压缩实验)
  • navigator.mediaDevices.getUserMedia获取本地音频/麦克权限并提示用户
  • CTF-show WEB入门--web19
  • 04 使用gRPC实现客户端和服务端通信
  • 设计模式-行为型模式(下)
  • 华为交换机常用命令
  • 【Linux】信号-上
  • uniapp 开发App 权限授权 js-sdk
  • 【01】判断素数/质数(C语言)
  • 特征工程:特征提取和降维-上
  • 前端JavaScript篇之强类型语言和弱类型语言的区别和对比
  • [红日靶机渗透] ATKCK红队评估实战靶场三
  • 网课:N皇后问题——牛客(题解和疑问)
  • [大厂实践] Netflix容器平台内核panic可观察性实践
  • 2024/2/8
  • Verilog刷题笔记23
  • C#验证字符串的长度,用正则表达式 vs 字符数组长度或字符串的长度
  • opencv C++ dnn模块调用yolov5以及Intel RealSense D435深度相机联合使用进行目标检测
  • 2024牛客寒假算法基础集训营1(视频讲解全部题目)
  • 第三百一十三回
  • 倒计时61天
  • npm后Truffle找不到命令(ubantu20系统)
  • 嵌入式学习第三篇——51单片机
  • RabbitMQ详解
  • CGAL::2D Arrangements-4
  • 终端命令提示符:如何查看我们电脑端口是否被占用和处理方式
  • elasticsearch重置密码操作