小编dan*_*ood的帖子

CTest没有检测到测试

我有一个带结构的项目

??? CMakeLists.txt
??? mzl.c
??? mzl.h
??? tests
    ??? CMakeLists.txt
    ??? mzl-communication-test.c
    ??? mzl-setup-test.c
    ??? mzl-test-errors.c
    ??? mzl-test-errors.h
Run Code Online (Sandbox Code Playgroud)

顶级目录CMakeLists.txt文件的位置

project(mzl)
cmake_minimum_required(VERSION 2.8)

add_subdirectory(tests)

# Enable testing for the project
enable_testing()

# Find zmq
find_library(ZMQ_LIB zmq REQUIRED)
message(STATUS "ZMQ Library: ${ZMQ_LIB}")

# Find threading library
set(CMAKE_THREAD_PREFER_PTHREAD ON)
find_package(Threads REQUIRED)
message(STATUS "Threading Library: ${CMAKE_THREAD_LIBS_INIT}")



# Set include directories for headers
set     (
    MZL_INCLUDE_DIRS
    ${CMAKE_SOURCE_DIR}
    CACHE STRING "MZL Include Directories"
    )
include_directories(${MZL_INCLUDE_DIRS})

# Set source files
set     (
    MZL_SRC_FILES
    mzl.c …
Run Code Online (Sandbox Code Playgroud)

makefile cmake ctest

14
推荐指数
1
解决办法
5837
查看次数

Keras:ValueError:没有为"input_1"提供数据.需要每个密钥的数据

我正在使用keras功能API和维度(224,224,3)的输入图像.我使用功能API有以下模型,尽管顺序模型似乎也出现了类似的问题:

input = Input(shape=(224, 224, 3,))
shared_layers = Dense(16)(input)
model = KerasModel(input=input, output=shared_layers)
model.compile(loss='binary_crossentropy', optimizer='sgd', metrics='accuracy'])
Run Code Online (Sandbox Code Playgroud)

我打电话给model.fit_generator我的发电机

yield ({'input_1': image}, {'output': classification}) 
Run Code Online (Sandbox Code Playgroud)

image是输入(224,224,3)图像并且classification在{-1,1}中.

在拟合模型时,我得到一个错误

ValueError: No data provided for "dense_1". Need data for each key in: ['dense_1']
Run Code Online (Sandbox Code Playgroud)

一个奇怪的事情是,如果我input_1将dict 的目标切换到dense_1,则错误切换为缺少输入input_1,但dense_1如果两个键都在数据生成器中,则返回丢失.

无论我是fit_generator从发电机呼叫还是从批次中获取电话,都会发生这种情况train_on_batch.

有谁知道发生了什么?据我所知,这应该与文档中给出的相同,尽管输入大小不同.

Full traceback:
Traceback (most recent call last):
  File "pymask.py", line 303, in <module>
    main(sys.argv)
  File "pymask.py", line 285, in main …
Run Code Online (Sandbox Code Playgroud)

machine-learning neural-network keras

9
推荐指数
3
解决办法
5539
查看次数

GLFW无法在OSX中打开窗口

我有以下代码:

glfwWindowHint(GLFW_SAMPLES, 4); // 4x antialiasing
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);

// Open window and create OpenGL context
GLFWwindow * window;
window = glfwCreateWindow(1024, 768, "OpenGL Testing", NULL, NULL);
if(window == NULL)
{
    fprintf(stderr, "Failed to open GLFW Window.\n");
    glfwTerminate();
    return -1;
}
Run Code Online (Sandbox Code Playgroud)

它在我的桌面上在Ubuntu和Windows上运行良好,但在运行OSX的笔记本电脑上运行失败.我认为这是与笔记本电脑不支持这个版本的OpenGL的一个问题,但它高达4.1的显卡支持.

我认为它可能使用集成的intel GPU而不是nVidia,但正如我从我所看到的那样理解,GLFW将强制使用正确的GPU来进行渲染.

如果我将上下文更改为2.1,一切似乎都有效,但是着色器不兼容.

有任何想法吗?

更新:如果glfwWindowHint()删除了所有调用,则会创建窗口,但着色器不兼容.我认为,如果这些被删除,GLFW自动选择一个背景下,这恰好是与着色器不兼容version 330 core.

c++ opengl glfw

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

zmq_ctx_term() 在套接字关闭时阻塞

我正在使用 ZMQ 并在销毁上下文时遇到问题。

我有代码

zmq_ctx_shutdown(context);
zmq_ctx_term(context);
Run Code Online (Sandbox Code Playgroud)

这段代码总是阻塞zmq_ctx_term(),也会阻塞zmq_ctx_destoy();但是,如果删除该调用并且仅使用关闭调用,则一切似乎都可以正常工作,但是应用程序将因未释放 zmq 上下文而泄漏内存。

在我的代码中,我有四个套接字:两个ZMQ_PAIR inproc套接字用于在主线程和一个带有ZMQ_REP套接字的线程之间进行通信,还有一个ZMQ_PUB在主线程上运行。

我已将ZMQ_LINGER所有这些套接字设置为 0,因为似乎zmq_ctx_term()调用应该阻塞的唯一时间是自从我zmq_close()在所有套接字上调用消息后尚未发送消息,这将无错误地返回。此外,如果我只调用zmq_ctx_new(),创建套接字,然后调用zmq_ctx_shutdown(); zmq_ctx_term();.

我担心使用两个inproc套接字在具有相同 zmq 上下文的线程之间进行通信会出现问题,尽管在接收消息时通信似乎没有任何问题。

在担心我可能会遇到线程安全问题之后,我发现 ZMQ 上下文应该是线程安全的,而不是套接字。我已经检查过,在主线程中,我正在打开关闭ZMQ_PUB套接字和inproc套接字。在另一个线程中,我正在打开和关闭ZMQ_REP套接字和套接字的另一端inproc,所以这似乎不是问题。

为了澄清起见,我正在使用 GitHub 上当前主分支中的 libzmq 用 C 编写代码(commit d35473e)。在链接 ZMQ 的共享库时,我确实看到了类似的问题,尽管无论我使用静态库还是共享库都会发生这种情况。我目前使用的是 OS X 10.9。

如果有人有时间从整体上看代码,这里列出了相关文件。

知道这里发生了什么吗?

c sockets multithreading zeromq

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

检查代码与 Python 2 和 3 的兼容性

是否有任何自动化方法来测试代码与 Python 2 和 3 兼容?我看过很多关于如何编写与两者兼容的代码的文档,但没有看到关于自动检查的内容。基本上是一种版本之间兼容性的 linting,而不是语法/样式。

我想过要么使用两个解释器运行测试,要么运行一个类似sixor 的工具2to3并检查是否没有输出;不幸的是,前者要求您的测试覆盖率达到 100%,而我认为后者要求您拥有有效的 Python 2 代码,并且只会发现与 Python 3 的兼容性问题。

有什么东西可以完成这个任务吗?

python version python-2.7 python-3.x

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

编程中-1的含义

我不想在这里问这个问题,但是我搜索了SO和Google都没有成功.我在很多地方都看到过语句while(var != -1)和其他语句,通常是循环,包含对-1的某种引用.使用-1是否有某种意义,或者它只是用于给出布尔值的整数表示,或类似的东西?我主要在C#编程中看到这个,如果有任何帮助的话.

c# variables methodology

3
推荐指数
2
解决办法
1248
查看次数

处置重复使用的对象

我环顾四周,找不到最佳做法.我有一个循环创建一个对象,然后每次运行一个进程时处理它.但是,此对象始终相同,并且每分钟左右在程序中使用,这也是程序中其他进程运行的频率.我应该Dispose();在每次运行进程时调用此对象还是只保留它,因为它始终完全相同?语言是C#.

c# garbage-collection dispose object

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

传递给着色器的颜色不起作用

我是OpenGL的新手,并且有一个简单的程序,我现在正在搞乱.

我遇到的问题是当我传递一个数组来表示点的颜色时,颜色最终变成黑色.如果我只是在片段着色器中明确定义颜色,它可以正常工作,如果我在VAO中切换数据的索引,则三角形将移动到作为颜色的点.

我尝试使用API​​跟踪并获得以下内容:

6872: message: major api error 1282: GL_INVALID_OPERATION error generated. <program> is not a program object, or <shader> is not a shader object.
6872 @0 glAttachShader(program = 1, shader = 1)
6872: warning: glGetError(glAttachShader) = GL_INVALID_OPERATION
6876: message: major api error 1282: GL_INVALID_OPERATION error generated. Handle does not refer to the expected type of object (GL_SHADER_OBJECT_ARB).
6876 @0 glDeleteShader(shader = 1)
6876: warning: glGetError(glDeleteShader) = GL_INVALID_OPERATION
6878: message: major api error 1282: GL_INVALID_OPERATION error generated. Handle does not …
Run Code Online (Sandbox Code Playgroud)

c++ opengl glfw opengl-3

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

const成员函数/方法的用处

我想知道声明一个函数是否有任何好处const.

我知道这意味着该方法无法修改任何非静态类成员,但这样做的唯一目的是防止某人将该功能重新实现为修改非静态成员的东西,还是存在性能差异?如果存在性能差异,编译器通常可能比人类做得更好,例如inline功能吗?

只是为了澄清,我问的是以下成员函数之间的区别:

float getWidth() const
{
    return width;
}

float getWidth()
{
    return width;
}
Run Code Online (Sandbox Code Playgroud)

c++ const function

0
推荐指数
2
解决办法
1100
查看次数