小编Def*_*ess的帖子

Visual Studio代码:C++包含路径

我目前正在使用https://marketplace.visualstudio.com/items?itemName=mitaki28.vscode-clang,它非常适合访问成员函数.

但是我对我正在导入的项目有一个问题.虽然上面的clang功能有效,但我在使用include目录时遇到了特殊问题.我的项目结构如下:

|- src/
   |- main.cpp
|- include/
   |- MyHelper.h
|- CMakeLists.txt
Run Code Online (Sandbox Code Playgroud)

有没有办法在Visual Studio代码中配置我的包含目录,这样main.cpp我就可以: #include "MyHelper.h"而不是#include "include/MyHelper.h"?

在编辑器中,它突出显示我的include语句,说它无法找到该文件.虽然编辑器不是一个大问题(我的项目编译),后续问题是vscode-clang插件不起作用,因为它没有看到该文件.

也许甚至让它在编辑器中使用我的CMakeLists.txt中的配置进行必要的包含?

谢谢!

c++ include-path visual-studio-code

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

TensorFlow Probability - 希望 NN 输出多个分布

我有一个简单的模型,当前输出一个数值,我已对其进行了调整,改为使用 TFP(平均值 + 标准差)输出分布,这样我就可以了解模型对预测的置信度。

  model = tf.keras.Sequential([
    tf.keras.layers.Dense(10, input_shape=[len(df.columns),], activation='relu'), # Should only be one input, so [1,]
    tf.keras.layers.Dense(10, activation='relu'),
    tf.keras.layers.Dense(2 * len(target.columns)), # there are 2 outputs, so we want a mean + standard deviation for EACH of the outputs
    tfp.layers.DistributionLambda(
      lambda t: tfd.Normal(loc=t[..., :1],
                           scale=1e-3 + tf.math.softplus(0.05 * t[...,1:]))
    )
  ])
Run Code Online (Sandbox Code Playgroud)

当前 2 个 Dense 输出指向输出分布的平均值 + 标准差。

在我的真实数据集中,我尝试根据输入数据预测两个数值。如何使模型输出两个分布?我认为最终的密集层需要 4 个节点(2 个均值和 2 个标准差),但我不确定如何使其与分布 Lambda 一起正常工作。我希望有一个模型可以预测这一点,而不必为每个目标输出训练一个模型。

编辑:我创建了这个合作,让人们更容易地看到我的意思。我稍微简化了这个例子,希望它能更清楚地说明我想要完成的事情:

https://colab.research.google.com/drive/1Wlucked4V0z-Bm_ql8XJnOJL0Gm4EwnE?usp=sharing

python keras tensorflow tensorflow-probability

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

如何确认客户端收到响应

我目前有一个客户端 - > 服务器模型,客户端定期推送数据。我在服务器上使用带有 servlet 的 Jersey 来响应传入的请求。

由于这是一个数据同步步骤,一旦服务器收到数据,就需要向客户端返回一条 OK 消息。

作为测试,我创建了一个服务器处理为“/testResponse”的路径,它所做的就是:

@GET
@Path("/testResponse")
@Produces(MediaType.TEXT_PLAIN)
public String GET_testResponse() {

    System.out.println("Received test request...");

    try {
        Thread.sleep(5000);
    } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    System.out.println("Returning response...");

    return "message received!";

}
Run Code Online (Sandbox Code Playgroud)

我想测试的是我从我的客户端发起请求,但是当客户端等待 5 秒时,客户端退出请求,模拟它与无线断开连接。在这 5 秒结束后,服务器返回消息(没有抛出错误)。

我想我的问题很简单:服务器有没有办法知道客户端是否收到响应,因为没有抛出异常等?当您尝试处理响应时是否应该抛出错误?我知道在球衣之外,您可以使用 HttpServletResponse 方法在函数退出之前进行实际响应,所以我想知道是否需要类似的东西。

谢谢!

java servlets jetty

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