小编pse*_*vin的帖子

在 Matplotlib 中绘制 k-NN 决策边界图

如何为 k 最近邻分类器的决策边界着色,如下所示: 在此处输入图片说明 我已经使用分散(左图)成功绘制了 3 个类的数据。

图片来源:http : //cs231n.github.io/classification/

python plot matplotlib

9
推荐指数
1
解决办法
2万
查看次数

有一个模板方法但不暴露实现

我在TFRuntime.h中有一个函数

class TFRuntime {
...
    template <typename T>
    Status computeXYSlice(Volume<T>* input, int zCoord, Volume<T> *output);
...
}
Run Code Online (Sandbox Code Playgroud)

TFRuntime.cpp包括tensorflow库头,例如

#include <tensorflow/cc/ops/standard_ops.h>
#include <tensorflow/cc/saved_model/loader.h>
Run Code Online (Sandbox Code Playgroud)

我不想在标题中包含这些包含,因为这会强制任何使用TFRuntime的人也包含它们.但是,如果我希望该computeXYSlice函数允许任何类型,我必须在.h文件中包含该实现.然而,该实现需要上面提到的tensorflow头.

我该如何解决这个问题?我可以明确地"实例化"该computeXYSlice函数的某些变体吗?例如,在Tfloatintdouble?或者,还有更好的方法?

c++ templates header-files

6
推荐指数
1
解决办法
435
查看次数

使用glBlitFramebuffer显示纹理

我正在尝试实现一个简单的多遍渲染方案。我首先将场景的多采样版本转换为FBO beforeEffectsContext.fbo。如果我然后将其绑定到FB提供的应用程序中,它将正常工作。但我想在场景中进行另一遍处理以使其模糊。因此,我结合在纹理COLOR_ATTACHMENT0beforeEffectsContext.fbo,样品它,绘制与添加到帧缓冲器另一个模糊效果四blurContext.fbo

如果我知道blurContext.fbo使用quad和纹理采样的相同方法在屏幕上显示的颜色附件的内容,则该方法有效并且场景模糊。

但是,如果我尝试glBlitFramebuffer()在此步骤中使用它,则会得到黑色的屏幕。问题似乎出在我对划线程序和FBO的误解。

的初始化代码blurContext.fbo

// BeforeEffects Framebuffer
glGenFramebuffers(1, &renderContext->beforeEffectsContext.fbo);
glBindFramebuffer(GL_FRAMEBUFFER, renderContext->beforeEffectsContext.fbo);

glGenTextures(1, &renderContext->beforeEffectsContext.colorAttachment);
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, renderContext->beforeEffectsContext.colorAttachment);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 800, 600, 0, GL_RGBA, GL_FLOAT, 0);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glFramebufferTexture(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, renderContext->beforeEffectsContext.colorAttachment, 0);

// Blur Framebuffer
glGenFramebuffers(1, &renderContext->blurContext.fbo);
glBindFramebuffer(GL_FRAMEBUFFER, renderContext->blurContext.fbo);

glGenTextures(1, &renderContext->blurContext.colorAttachment);
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, renderContext->blurContext.colorAttachment);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 800, 600, 0, GL_RGBA, GL_FLOAT, 0);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, …
Run Code Online (Sandbox Code Playgroud)

opengl

5
推荐指数
1
解决办法
8211
查看次数

将8个字符从内存加载到__m256变量中作为压缩单精度浮点数

我正在优化图像上的高斯模糊算法,我想用下面的代码替换__m256内部变量中浮点缓冲区[8]的用法.哪一系列说明最适合此任务?

// unsigned char *new_image is loaded with data
...
  float buffer[8];

  buffer[x ]      = new_image[x];       
  buffer[x + 1] = new_image[x + 1]; 
  buffer[x + 2] = new_image[x + 2]; 
  buffer[x + 3] = new_image[x + 3]; 
  buffer[x + 4] = new_image[x + 4]; 
  buffer[x + 5] = new_image[x + 5]; 
  buffer[x + 6] = new_image[x + 6]; 
  buffer[x + 7] = new_image[x + 7]; 
 // buffer is then used for further operations
...

//What I want instead in pseudocode: …
Run Code Online (Sandbox Code Playgroud)

c++ sse simd avx avx2

5
推荐指数
1
解决办法
1918
查看次数

使用Windows SDK 8.1在Windows 7上进行开发

我可以在装有Windows 7的计算机上安装Windows SDK for Windows 8.1并使用其库进行开发吗?具体来说,我想使用Direct3D库/头文件.

windows sdk direct3d

4
推荐指数
1
解决办法
6007
查看次数

当嵌入式 Python 解释器尝试第二次导入外部模块时,C++ 应用程序崩溃

如果我在不同的 pybind11::scoped_interpreter 会话中两次导入外部模块,应用程序将在 eval.h 中的函数 eval 中崩溃,如下行:

PyObject *result = PyRun_String(buffer.c_str(), start, global.ptr(), local.ptr());
Run Code Online (Sandbox Code Playgroud)

Exception thrown at 0x00007FFD710C4E0C (multiarray.cp36-win_amd64.pyd) in pybind-test.exe: 0xC0000005: Access violation writing location 0x000000000000000A.
Run Code Online (Sandbox Code Playgroud)

可重现的示例代码

namespace py = pybind11;
void test() {
    try {
        py::scoped_interpreter guard{};
        py::object mainScope = py::module::import("__main__").attr("__dict__");
        py::exec(
            "import numpy\n",
            mainScope);
    }
    catch (py::error_already_set const &pythonErr) {  std::cout << pythonErr.what(); }
}
int main() {
    test();   // Runs fine
    test();   // Crashes at py::exec
}
Run Code Online (Sandbox Code Playgroud)

我觉得这与 pybind11 的 embed.h 中的注释有关:

可以通过initialize_interpreter再次调用来重新启动解释器。使用 …

c++ python pybind11

3
推荐指数
1
解决办法
2462
查看次数

Tensorflow C++ 设置 GPU 内存分数并允许增长

我想像这里描述的那样为 python设置GPU memory fractionallow growth选项,但是在 C++ 中。这是这样做的正确方法吗?我特别不确定这条线(在这种情况下,“已分配”是什么意思,尚未分配任何内容)。set_allocated_gpu_options

tensorflow::Session *session = nullptr;
tensorflow::SessionOptions sessionOptions;
tensorflow::GPUOptions gpuOptions;
gpuOptions.set_per_process_gpu_memory_fraction(0.2);
gpuOptions.set_allow_growth(true);
sessionOptions.config.set_allocated_gpu_options(&gpuOptions);
tensorflow::Status status = tensorflow::NewSession(sessionOptions, &session);
Run Code Online (Sandbox Code Playgroud)

c++ gpu tensorflow

2
推荐指数
1
解决办法
1597
查看次数

将字符串中的二进制数据写入二进制文件

我有一个通过使用requests.get()存储在字符串中获得的 torrent 文件,并像这样获得:

import requests
headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11',
'Accept-Charset': 'utf-8',
'Connection': 'keep-alive'}
request = requests.get(url, headers=headers)
data = requests.text
Run Code Online (Sandbox Code Playgroud)

我想将其写入二进制文件,以便其中的数据正确且有效:

with open(name, "wb") as f:
    f.write(data)
Run Code Online (Sandbox Code Playgroud)

然而,我似乎无法将字符串写为纯二进制数据,因为 python 不断尝试将其解释为 Unicode,并且出现如下错误:"UnicodeEncodeError: 'ascii' codec can't encode characters in position 3-9: ordinal not in range (128)

我尝试使用 bytearray 但出现了类似的问题:TypeError: unicode argument without an encoding

有没有办法将字符串中的字节按原样写入文件?

python unicode binaryfiles python-2.7 python-requests

0
推荐指数
1
解决办法
3315
查看次数