V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  ipwx  ›  全部回复第 35 页 / 共 200 页
回复总数  4000
1 ... 31  32  33  34  35  36  37  38  39  40 ... 200  
2022-01-01 19:15:19 +08:00
回复了 amiwrong123 创建的主题 程序员 怎么通过 VS2019 看 strlen()的源码?
@amiwrong123 稍微查了查,至少对 vs2008 而言,strlen 是直接用汇编写的,不是 C 代码

First CRT's one is written directly in assembler. you can see it's source code here C:\Program Files\Microsoft Visual Studio 9.0\VC\crt\src\intel\strlen.asm (this is for VS 2008)
2022-01-01 19:13:17 +08:00
回复了 amiwrong123 创建的主题 程序员 怎么通过 VS2019 看 strlen()的源码?
@amiwrong123 其实 strlen 各家的实现可能都有差别,而且可能会有魔法优化。。。。这种基础库函数反而不容易读代码。比如 gcc 的 strlen:

https://github.com/lattera/glibc/blob/master/string/strlen.c#L33

你看这个实现, /* Instead of the traditional loop which tests each character,
we will test a longword at a time. The tricky part is testing
if *any of the four* bytes in the longword in question are zero. */
2022-01-01 18:13:12 +08:00
回复了 amiwrong123 创建的主题 程序员 怎么通过 VS2019 看 strlen()的源码?
@amiwrong123 CLion (趴桌
2022-01-01 18:12:24 +08:00
回复了 zxCoder 创建的主题 问与答 请教个神经网络的问题
摸不到你的数据所以没法远程给建议了(趴
2021-12-31 13:14:52 +08:00
回复了 zxCoder 创建的主题 问与答 请教个神经网络的问题
@zxCoder 你们用 pytorch 的都没有自己写 train loop 的经历了么啊,只能 model.fit ??

class_prob = C / C.sum()

自己组 loss 不就随便搞了。伪代码:

binary_cross_entropy(logits, label) * torch.where(label == 1, 1-C[label], C[label])

肯定有辙啊
2021-12-31 10:56:32 +08:00
回复了 zxCoder 创建的主题 问与答 请教个神经网络的问题
想了想惩罚系数也可以这样

1 => (1 - 类别频率),0 => 类别频率
2021-12-31 10:55:57 +08:00
回复了 zxCoder 创建的主题 问与答 请教个神经网络的问题
@zxCoder 从逻辑回归角度看 0-1 分类会有这样的结论:

对于一个二分类器而言,如果你的类别 A 出现概率是 p ,类别 B 出现概率是 1-p ,并且两类在 loss 上的贡献是等权的,那么最终你的分类器的决策边界大概在 p 附近。

你的所有类别都严重 imbalance ,p 的 99% 分位数都只有 0.06 ,那么你每一类的分类边界,小的大概在 0.001 ,大的也只有 0.06 。但是你在做预测的时候决策边界是 0.5 ,那么当然全部认为是 0 。

我说的那个惩罚系数就是强行把这个决策边界拉回 0.5 附近。
2021-12-31 10:53:14 +08:00
回复了 zxCoder 创建的主题 问与答 请教个神经网络的问题
哦又重新看了看你的问题描述。

我懂了,你的问题果然还是各维独立做多标签这里出了问题。
记 C = sum(你上面那个频数列表)

np.percentile(C / C.sum(), [1,10,20,50,80,90,99])
=> array([0.00119775, 0.0013504 , 0.00157821, 0.00292978, 0.00979803,
0.01954908, 0.06111261])

这个 imbalance 太严重了。各个维度都输出 0 就是一个非常巨大的局部最小值点。

解决方法 1:在每一维输出的时候,如果是 1 就 loss 添加惩罚系数 C / 类别频率,0 就添加 C / (1 - 类别频率)。这样能把各维二分类各自的 imbalance 问题降下来。

解决方法 2:还是 softmax 做 top-k 分类推荐。额外添加一个分类器预测到底输入有多少个输出类。
2021-12-31 10:39:31 +08:00
回复了 zxCoder 创建的主题 问与答 请教个神经网络的问题
哦哦哦 等等,是多标签分类。

那你说不定可以试试在输出层的 loss 上,各维独立添加惩罚系数,就正比于根据你上面那个类别数量的倒数。

不过我觉得你说不定前面的网络哪里有问题。。。
2021-12-31 10:23:47 +08:00
回复了 zxCoder 创建的主题 问与答 请教个神经网络的问题
@zxCoder 噗你不说我看 sigmoid 还以为你这是二分类。

多分类你用 sigmoid 做各维独立当然不太行。。。
... 端到端加密只要调个库。这几个软件的目的是防止网络上的窃听泄露,又不是防御本机的木马攻击。
2021-12-30 10:39:37 +08:00
回复了 zxCoder 创建的主题 问与答 请教个神经网络的问题
@jdhao 这个例子里面,imbalance 太严重了。说句难听的,只有 2 个正例,分分钟过拟合。

这种问题建议先 unsupervised training ,用得到的 hidden representation 做更稳的分类器。
2021-12-30 10:31:17 +08:00
回复了 zxCoder 创建的主题 问与答 请教个神经网络的问题
p(y=0|x) = 0.998 ,约等于 p(y=0|x) = 1 。如果是后者,显然全局最优解就是 y=f(x) 恒等于 0 。
2021-12-30 10:30:33 +08:00
回复了 zxCoder 创建的主题 问与答 请教个神经网络的问题
@zxCoder 你已经说出了原因了。神经网络做的是

1. 最大化 l(x,y) 在训练样本 p(x,y) = p(x)p(y|x) 上的期望。
2. 几乎不可能找到全局最优解,只能找到局部最优解。

在你的例子中,998/1000 以上的训练样本都是 0 。也就是说 p(y=0|x) = 0.998 。如果你是神经网络要学习 y=f(x),那么是不是很容易找到 y=f(x) 恒等于 0 这个局部最优解?
2021-12-29 11:31:08 +08:00
回复了 fangwenxue 创建的主题 问与答 Python async yield 问题
好吧 async 不能 yield from

老老实实 async for ... in super().... yield
2021-12-29 11:29:39 +08:00
回复了 fangwenxue 创建的主题 问与答 Python async yield 问题
yield from
2021-12-28 22:47:39 +08:00
回复了 Sonwi 创建的主题 问与答 在一个 gpu 中同时训练 50 个卷积神经网络求助
这里建议你多买几张卡
2021-12-28 18:37:26 +08:00
回复了 lianglu 创建的主题 程序员 Java 有什么开源框架值得深入研究?
@lianglu

虚假的内功:操作系统原理、计算机组成原理、数据库原理、算法和数据结构。
真正的内功:开源框架的具体实现。

这个世界我果然不太懂
2021-12-28 14:06:34 +08:00
回复了 Macolor21 创建的主题 分享创造 恰逢 Typora 收费, Obsidian 现已支持实时预览
这叫所见即所得编辑。。。
2021-12-28 10:24:32 +08:00
回复了 Calatrava 创建的主题 C++ 推荐一个 C++ RESTful 框架
@hutoer @LANB0 9494 。但凡写过实际的 C++ 项目也不会说出用 IPC 作为方案的话来。C++ 用 IPC 比内嵌 HTTP 服务器容易?笑死我了,这还不如 CGI 呢。当然 CGI 也是脑残
1 ... 31  32  33  34  35  36  37  38  39  40 ... 200  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3384 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 39ms · UTC 11:24 · PVG 19:24 · LAX 03:24 · JFK 06:24
Developed with CodeLauncher
♥ Do have faith in what you're doing.