我有一个有一堆参数的函数.我不想手动设置所有参数,而是要执行网格搜索.我有一个每个参数的可能值列表.对于每个可能的参数组合,我想运行我的函数,该函数报告我的算法在这些参数上的性能.我想将这个结果存储在一个多维矩阵中,以便后面我可以找到最大性能的索引,这反过来会给我最好的参数.以下是代码的编写方式:
param1_list = [p11, p12, p13,...]
param2_list = [p21, p22, p23,...] # not necessarily the same number of values
...
results_size = (len(param1_list), len(param2_list),...)
results = np.zeros(results_size, dtype = np.float)
for param1_idx in range(len(param1_list)):
for param2_idx in range(len(param2_list)):
...
param1 = param1_list[param1_idx]
param2 = param2_list[param2_idx]
...
results[param1_idx, param2_idx, ...] = my_func(param1, param2, ...)
max_index = np.argmax(results) # indices of best parameters!
Run Code Online (Sandbox Code Playgroud)
我想保留第一部分,我按原样定义列表,因为我希望能够轻松地操作我搜索的值.
我还希望最终得到结果矩阵,因为我将可视化更改不同参数如何影响算法的性能.
但是,中间的位是相当重复和笨重的(特别是因为我有很多参数,我可能想添加或删除参数),我觉得应该有一个更简洁/优雅的方式来初始化结果矩阵,迭代所有索引,并设置适当的参数.
那么,有吗?
我一直在努力解决这个问题,而我与cmake的冒险只会产生一些我非常肯定不正确的黑客解决方案.
我创建了一个包含多个文件的库,如下所示:
-libfolder
-codepart1folder
-CMakeLists.txt
-codepart1.cpp
-codepart1.hpp
-codepart2folder
-codepart3folder
-lib.cpp
-lib.hpp
-CMakeLists.txt
Run Code Online (Sandbox Code Playgroud)
我写了一个CMakeLists文件来编译库(经过一些实验),我可以生成一个lib.a文件.现在我想将此代码作为库包含在其他项目中,并通过lib.hpp中的接口访问它.在目录结构方面,以及我需要在根项目中放入CMakeLists.txt的最佳方法是什么?
我目前的尝试是将-libfolder作为子文件夹添加到我当前的项目中,并添加命令:
include_directories(${PROJECT_SOURCE_DIR}/libfolder)
link_directories(${PROJECT_BINARY_DIR}/libfolder)
add_subdirectory(libfolder)
target_link_libraries(project lib)
Run Code Online (Sandbox Code Playgroud)
当我运行make时,库编译得很好,但是当project.cpp编译时,它会抱怨它找不到codepart1.hpp(它包含在lib.hpp中,包含在project.cpp中).
我怀疑这是做错的方法,但我不能浏览CMake文档并找到一个关于设置这样的项目的好教程.请帮助,CMake大师!
我正在尝试使用opencv编写视频.对我来说这很重要 - 因此它必须是一个无损编解码器.我在Ubuntu 12.04上使用OpenCV 2.4.1
以前,我使用的是fourcc代码0.这给了我想要的确切结果,并且我能够完美地恢复图像.
我不确定发生了什么,但截至最近的更新(2012年7月20日左右),出现了问题,我无法再使用这个4cc代码编写文件了.我真的不记得它是什么,但它可能来自更新,从我的软件中心删除一些软件,以及我在一般清洁期间做的一些其他事情......
当我使用mediainfo(http://www.fourcc.org/identifier/)检查旧文件时,我看到以下结果:
Complete name : oldsample.avi
Format : AVI
Format/Info : Audio Video Interleave
Format profile : OpenDML
File size : 1.07 GiB
Duration : 41s 467ms
Overall bit rate : 221 Mbps
Writing application : Lavf53.5.0
Video
ID : 0
Format : RGB
Codec ID : 0x00000000
Codec ID/Info : Basic Windows bitmap format. 1, 4 and 8 bpp versions are palettised. 16, 24 and 32bpp contain raw RGB samples
Duration : 41s …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 sklearn 来预测代表旋转的变量。由于在旋转的极端情况下从 -pi 到 pi 的不幸跳跃,我认为更好的方法是使用复数作为目标。这样,从 1+0.01j 到 1-0.01j 的错误就不会那么严重了。
我找不到任何描述 sklearn 是否支持复数作为分类器目标的文档。从理论上讲,距离度量应该可以正常工作,因此它至少应该适用于某些回归算法。
谁能建议我如何让回归算法以复数为目标进行操作?