小编Kev*_*ier的帖子

Keras:加权二元交叉熵

我试图用Keras实现加权二进制交叉熵,但我不确定代码是否正确.训练输出似乎有点令人困惑.在几个时代之后,我得到的精确度为~0.15.我认为这太少了(即使是随机猜测).

输出中通常有大约11%的值和89%的零,因此权重为w_zero = 0.89且w_one = 0.11.

我的代码:

def create_weighted_binary_crossentropy(zero_weight, one_weight):

    def weighted_binary_crossentropy(y_true, y_pred):

        # Original binary crossentropy (see losses.py):
        # K.mean(K.binary_crossentropy(y_true, y_pred), axis=-1)

        # Calculate the binary crossentropy
        b_ce = K.binary_crossentropy(y_true, y_pred)

        # Apply the weights
        weight_vector = y_true * one_weight + (1. - y_true) * zero_weight
        weighted_b_ce = weight_vector * b_ce

        # Return the mean error
        return K.mean(weighted_b_ce)

    return weighted_binary_crossentropy
Run Code Online (Sandbox Code Playgroud)

也许有人看到什么错了?

谢谢

machine-learning keras keras-2

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

创建神经网络结构的图像

许多论文使用非常好的神经网络图像.我也想为我正在撰写的报告创建这样的图像.

一个例子:来自V. Badrinarayanan等人的"SegNet:用于图像分割的深度卷积编码器 - 解码器架构",第4页

https://arxiv.org/pdf/1511.00561v3.pdf

在此输入图像描述

我的问题:可以使用哪种工具来创建此类图像?特别是旋转矩形看起来非常好.

非常感谢你

diagram image neural-network

10
推荐指数
1
解决办法
846
查看次数

linux/libusb获取usb设备路径

我使用libusb来枚举一些usb设备.现在我想获得"设备路径".我认为这不是usb device-path,因为我没有成功使用谷歌.

如果我用linux连接usb设备,我会收到一条消息dmesg,这里有一些带有usb温度传感器的"设备路径"的例子(如下所示):

直接到usb端口: [68448.099682] generic-usb 0003:0C45:7401.0056: input,hidraw1: USB HID v1.10 Keyboard [RDing TEMPer1V1.2] on usb-0000:00:12.0-1/input0=> 12.0-1

直接到另一个端口: [68560.853108] generic-usb 0003:0C45:7401.0058: input,hidraw1: USB HID v1.10 Keyboard [RDing TEMPer1V1.2] on usb-0000:00:13.0-1/input0=> 13.0-1

到第一个使用端口的USB集线器: [68600.245809] generic-usb 0003:0C45:7401.005A: input,hidraw1: USB HID v1.10 Keyboard [RDing TEMPer1V1.2] on usb-0000:00:12.2-1.4/input0=> 12.2-1.4

到同一个USB集线器上的另一个端口: [68647.925092] generic-usb 0003:0C45:7401.005C: input,hidraw1: USB HID v1.10 Keyboard [RDing TEMPer1V1.2] on usb-0000:00:12.2-1.3/input0=> 12.2-1.3

现在用于以前使用的usb集线器上的usb集线器: [68740.715518] generic-usb 0003:0C45:7401.005E: input,hidraw1: USB HID v1.10 Keyboard [RDing TEMPer1V1.2] on usb-0000:00:12.2-1.4.4/input0 …

linux usb path device libusb

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

图像分割:创建多边形

我输入的图像如下所示:

在此输入图像描述 在此输入图像描述

我喜欢以一种方式对图像进行分割,以获得仅包含水平垂直线的近似多边形.

我的第一种方法是霍夫分割,但我只能创建矩形对象.这不适用于第二张图像.

然后我尝试使用决策树:对于每个图像,我训练了一个决策树,其中包含所有像素的输入xy位置以及黑/白分类.然后我只使用了n这棵树的第一层.使用这个新树,我对所有像素进行了预测.有时这很好用,但有时它没有.特别是树木深度因图片而异......

也许有人知道如何做到这一点?或者是否已有针对此用例的算法?

非常感谢你

问候

凯文

image polygon image-segmentation python-2.7

7
推荐指数
1
解决办法
362
查看次数

数组类型规范中的 const / static / 易失性?

下面的函数签名在 C 中定义了什么?!

#include <stdio.h>
#include <string.h>

void f(int a[const volatile static 2])
{
    (void)a;
}

int main() {
    int b[1];
    f(b);
}
Run Code Online (Sandbox Code Playgroud)

https://godbolt.org/z/6qPxaM1vM

这个地方我不明白const//volatile的含义,但是它似乎可以编译,所以我猜它有一个含义?static

谢谢

c c11

7
推荐指数
1
解决办法
184
查看次数

c ++ 11:模板化包装函数

我尝试创建一个通用包装函数,它将任何函数作为参数以及它们的参数.就像std::thread构造函数一样.

我目前的代码是:

#include <iostream>

using namespace std;

template<typename FUNCTION, typename... ARGS>
void wrapper(FUNCTION&& func, ARGS&&... args)
{
    cout << "WRAPPER: BEFORE" << endl;
    auto res = func(args...);
    cout << "WRAPPER: AFTER" << endl;
    //return res;
}

int dummy(int a, int b)
{
    cout << a << '+' << b << '=' << (a + b) << endl;
    return a + b;
}

int main(void)
{
    dummy(3, 4);
    wrapper(dummy, 3, 4);
}
Run Code Online (Sandbox Code Playgroud)

包装函数本身有效.它使用给定的参数调用给定的函数对象(std::function,functor或只是"普通"函数).但我也想返回它的返回值.

这应该与删除的return-statement一起使用,但遗憾的是我不知道如何声明包装函数返回类型.

我尝试了很多东西(例如 …

c++ templates wrapper functor c++11

6
推荐指数
2
解决办法
1227
查看次数

Clang:不要优化特定功能

很长一段时间我都习惯gcc编译C代码.有时我必须使用该optimize("O0")属性来禁用特定功能的优化.现在我喜欢这样做clang.

假设以下代码:

#include <stdio.h>

void __attribute__((optimize("O0"))) blabla(void) {
}

int main(void) {
    blabla();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

如果我用它编译它clang得到这个错误:

test2.c:3:21: warning: unknown attribute 'optimize' ignored [-Wattributes]
void __attribute__((optimize("O0"))) blabla(void) {
                    ^
1 warning generated.
Run Code Online (Sandbox Code Playgroud)

然后我使用谷歌(以及)stackoverflow找出所需的属性clang,因为他们中的许多不在标准(我知道).

我找到了这个帖子: 在clang中,你如何使用每个函数的优化属性?

如果我尝试该属性,optimize("0")我会收到此错误:

test2.c:3:21: warning: unknown attribute 'optimize' ignored [-Wattributes]
void __attribute__((optimize("0"))) blabla(void) {
                    ^
1 warning generated.
Run Code Online (Sandbox Code Playgroud)

如果我尝试该属性,optnone我会收到此错误:

test2.c:3:21: warning: unknown attribute 'optnone' ignored [-Wattributes]
void __attribute__((optnone)) blabla(void) {
                    ^
1 warning …
Run Code Online (Sandbox Code Playgroud)

c optimization gcc clang

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

来自 VK_Code 的 ASCII 字符

我有一个小的 WIN32 C 应用程序,我在其中使用该KBDLLHOOKSTRUCT结构。此结构包含用于按下键的 VK 代码。

我尝试将其转换为 ASCII 字符。为此,我使用了 Function MapVirtualKey,它运行良好。

唯一的问题是,一个 VK 代码可以保留多个字符。例子:

在我的键盘(瑞士-德语)上存在 key-char .。如果我按Shift+.然后它会创建一个:. VK 代码是相同的。那没问题,我还可以检查是否Shift被按下或被Caps Lock激活。

我唯一的问题是:我怎样才能得到字符 ':'?我需要这样的功能:

GetKeyChar(vkCode, shift)

我需要这个来获得键盘的“正常”和“移位”值。当然,我可以对此进行硬编码,但我不喜欢以这种方式进行。

c winapi keycode shift

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

算法:椭圆匹配

我有很多像下面的图像(只有白色和黑色):

在此输入图像描述

我最后的问题是找到匹配良好的椭圆.不幸的是,真正使用过的图像并不像这样.它们可能会变形一些,这使得椭圆匹配可能更难.

我的想法是找到"断点".我在下面的图片中标记它们:

在此输入图像描述

也许这些点可以帮助匹配省略号.最终结果应该是这样的:

在此输入图像描述

有人知道可以用什么算法来找到这些断点吗?或者甚至更好地进行良好的椭圆匹配?

非常感谢你

algorithm image ellipse

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

神经网络:Dropout“过滤器”多久更新一次?

我只是有一个关于 Dropout 层的非常普遍的问题。Dropout“过滤”多久更新一次?

对于每个训练示例?还是每个小批量?还是每个时代?

非常感谢

neural-network

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