标签: loss

Java数据报套接字未接收数据包

我正在尝试使用Java数据报在服务器和客户端之间创建一个数据包流。问题是,尽管我收到了正在发送数据包的确认信息,但它们在到达我设置的客户端侦听器之前都丢失了。我现在有了它,所以5秒钟后会有超时,每次我运行它时都会发生。

class DGServer extends Thread
{
    private DatagramSocket server;

    public DGServer() throws IOException
    {
        server = new DatagramSocket();
    }

    public void run()
    {
        try
        {
            server.connect(App.Local, 4200);
            System.out.println("Server starting...");

            int i = 0;

            while (server.isConnected() && (i < 256))
            {
                byte[] buffer = new byte[1];
                buffer[0] = (byte) ++i;
                DatagramPacket packet = new DatagramPacket(buffer, buffer.length, App.Local, 4200);
                System.out.println("Sedning " + i + " to client...");

                server.send(packet);

                Thread.sleep(500);
            }
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        System.out.println("Server Finished!");

        if (! server.isClosed()) …
Run Code Online (Sandbox Code Playgroud)

java sockets datagram packet loss

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

在收敛方面比较MSE损失和交叉熵损失

对于一个非常简单的分类问题,我有一个目标向量[0,0,0,... 0]和一个预测向量[0,0.1,0.2,.... 1]会使交叉熵损失更好地收敛/更快还是MSE损失?当我绘制它们时,在我看来,MSE损失具有较低的误差范围.那为什么会这样? 在此输入图像描述

或者,例如当我将目标设为[1,1,1,1 .... 1]时,我得到以下内容: 在此输入图像描述

machine-learning loss mean-square-error logistic-regression cross-entropy

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

通过网络传输数据时的随机字节丢失

我的问题是,当我通过LOCAL LAN网络传输连续的数据流时,有时随机字节会在此过程中丢失.

现在,代码被设置为在LAN上传输大约1027个字节左右~40次,有时(非常罕见)一个或多个字节丢失.

令我感到困惑的是,实际字节不会"丢失",无论原始数据如何,它都只是设置为0.(我顺便使用TCP)

这是发送代码:

    public void Send(byte[] data)
    {
        if (!server)
        {
            if (CheckConnection(serv))
            {
                serv.Send(BitConverter.GetBytes(data.Length));
                serv.Receive(new byte[1]);
                serv.Send(data);
                serv.Receive(new byte[1]);
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

和接收代码:

    public byte[] Receive()
    {
        if (!server)
        {
            if (CheckConnection(serv))
            {
                byte[] TMP = new byte[4];
                serv.Receive(TMP);
                TMP = new byte[BitConverter.ToInt32(TMP, 0)];
                serv.Send(new byte[1]);
                serv.Receive(TMP);
                serv.Send(new byte[1]);
                return TMP;
            }
            else return null;
        }
        else return null;
    }
Run Code Online (Sandbox Code Playgroud)

发送和接收空字节只是为了使系统保持同步排序.我个人认为问题出在系统的接收方.虽然没能证明那架喷气机.

c# networking byte tcp loss

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

使用 Keras 自定义损失函数来惩罚更多负面预测

我知道 mse 将以相同的方式对待实际 - 预测和预测 - 实际。我想编写一个自定义损失函数,使得预测 > 实际的惩罚大于实际 > 预测 假设我将因预测 > 实际而受到 2 倍的惩罚。我将如何实现这样的功能

import numpy as np

from keras.models import Model
from keras.layers import Input

import keras.backend as K
from keras.engine.topology import Layer
from keras.layers.core import  Dense

from keras import objectives

def create_model():
    # define the size
    input_size = 6
    hidden_size = 15;
    # definte the model
    model = Sequential()
    model.add(Dense(input_size, input_dim=input_size, kernel_initializer='normal', activation='relu'))
    model.add(Dense(hidden_size, kernel_initializer='normal', activation='relu'))
    model.add(Dense(1, kernel_initializer='normal'))

    # mse is used as loss for the …
Run Code Online (Sandbox Code Playgroud)

function loss keras

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