310实验室OTL问题----将写好的C++文件转换成Python文件,并将数据可视化
如图:文件夹
第一处:optimizer文件夹下的:optimizer.h文件中添加你所写代码的头文件 #include <OTL/Optimizer/Reference-NSGA-II/Reference-NSGA-II.h>
第二处:在Switch.h文件中添加 代码,格式请模仿文件中的内容 #define EXPORT_Reference_NSGA_II
第三处:因为我们一般编码都是以实数形式编码的,所以修改optimizer.real 下的文件Optimizer.h 文件的内容,格式模仿文件中的内容typedef otl::optimizer::reference_nsga_ii::Reference_NSGA_II<TReal, TDecision, TRandom &> TReference_NSGA_II;,然后增写实现 刚在Optimizer.h文件中的函数是在Optimizer.cpp中,注意在这里,如果是要获得一个引用值得话,需要这样.def("GetCrossover", &TReference_NSGA_II::GetCrossover, boost::python::return_value_policy<boost::python::reference_existing_object>()),如果仅获得一个值得话,则不需要boost::python::return_value_policy<boost::python::reference_existing_object>()
这样,PyOTL中(作为C++与Python的一种桥接)设置完成。
修改PyOptimization中的内容:
第一处:找到optimizer文件夹下的__init__.py,然后修改,格式模仿其文件中的模式。一种是 _make_xxx函数,一种是 make_xxx 函数。
第二处,如果需要运行代码,选择在最外层的optimization.py,如果代码正确,c++和python桥接成功,产生的数据将保存在documents文件下的database的路径中,数据库的路径由自己修改。如果需要修改运行的参数,则在optimization.ini文件中修改,如果是评价则在evalution.ini中修改相关配置。如果需要查看效果图,可以点击visualize.py运行,则可以看到效果图。
最后,如果需要测评的话,运行evalution.py后,将数据库文件(系统默认是在documents文件下)放在使用sqliteman工具查看即可
最新文章
- C#基础知识四之override和new的区别
- C#中反射泛型 CreateInstance
- 如何配置Java环境
- JAVA泛型那些事儿
- phpCMS V9 自定义添加 全局变量{SKIN_PATH}方法
- 可参考的gulp资源
- CodeSmith生成实体的分页读取规则
- 《java入门第一季》之面向对象面试题(形式参数的问题)
- 2017 ES GZ Meetup分享:Data Warehouse with ElasticSearch in Datastory
- 五一之起一台服务器玩玩-u盘安装centos
- NodeJS:(一)特性&;环境&;测试
- ssm框架结构的搭建
- 40. 数据泵导入导出impdp、expdp
- .net4.0多进程间共享内存实现通信(VB.Net)
- php-fpm简介
- PE结构详解
- ora-28056错误解决
- ubuntu16.04安装Nvidia显卡驱动、CUDA8.0和cudNN V6
- Ubuntu16.04系统中Nmon的安装
- gulp-基本功能总汇
热门文章
- .net提供的5种request-response方法一
- 【转】@JoinColumn 详解
- [转] C# mysql 事务回滚
- CentOS 7在桌面添加快捷方式
- 原生js版ajax请求
- 【Java面试题】37 说出ArrayList,Vector, LinkedList的存储性能和特性
- write solid code Chapter 2 练习题4 的解答与扩展
- 笔记:php有那几种错误提示和查错方法
- 【jersey】 spring 整合jersey 实现RESTful webservice
- thinkjs——redis