小编Kau*_*l28的帖子

如何使用Android中的MVP模式从我的Interactor启动服务?

我遵循的模型视图演示者(MVP)模式类似于Antonio Leiva在这里找到的例子:antoniolg/github.

我一直在玩它很多,我想知道如何serviceinteractor图层开始.通常情况下,我一直在retrofit调用我的电话,interactor但我想知道是否有办法从服务器启动服务,interactor所以我可以retrofit在服务中运行我的电话.这里的问题是我没有运行服务的活动上下文,如果我要将上下文暴露给它,它会破坏MVP的目的interactor.

我也不太确定这是否是一件好事(从交互者那里开始服务).我正在考虑从presenter层中启动服务,但是我正在朝着如何接近它的方向走向死胡同.

如果有办法解决这个问题,请帮助一个人吗?如果这不是一个好方法,或者启发我.

java mvp service android

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

Tensorflow对象检测API中未检测到任何内容

我正在尝试实现Tensorflow对象检测API示例.我正在关注sentdex视频以便开始​​使用.示例代码运行完美,它还显示用于测试结果的图像,但不显示检测到的对象周围的边界.只显示平面图像没有任何错误.

我正在使用此代码:此Github链接.

这是运行示例代码后的结果.

在此输入图像描述

没有任何检测的另一个图像

在此输入图像描述

我在这里缺少什么?代码包含在上面的链接中,没有错误日志.

框,分数,类,数字顺序的结果.

  [[[ 0.74907303  0.14624023  1.          1.        ]
  [ 0.          0.          1.          1.        ]
  [ 0.          0.20880508  1.          1.        ]
  [ 0.74907303  0.14624023  1.          1.        ]
  [ 0.          0.          1.          1.        ]
  [ 0.          0.          1.          1.        ]
  [ 0.          0.          1.          1.        ]
  [ 0.          0.          1.          1.        ]
  [ 0.          0.          1.          1.        ]
  [ 0.74907303  0.14624023  1.          1.        ]
  [ 0.74907303  0.14624023  1.          1.        ]
  [ 0.74907303  0.14624023  1. …
Run Code Online (Sandbox Code Playgroud)

python object-detection tensorflow

10
推荐指数
2
解决办法
3004
查看次数

如何通过WiFi发布设备名称(变量),就像某些文件传输应用程序一样?

我想通过WiFi发布或通告我的设备名称,这是可变的并且可以由用户更改.

例如,参加文件传输应用程序Xender.当我们receive在应用程序中选择选项时,我们可以在屏幕上看到用户设置的设备名称.这是屏幕截图.

在此输入图像描述

您可以在图像中看到名称shah.kaushal正在出现.

我在互联网上搜索了很多结果,但无法弄清楚究竟是什么.

我知道主机名,但我认为通常它不会被这些应用程序改变,我认为它需要一些特殊的权限才能在Android上这样做.所以我确定它不是主机名,我们可以从IP地址轻松获取.

请注意我没有复制任何其他应用程序功能.我希望在我的音乐播放器应用程序中共享歌曲.

为此,我在设备之间使用了TCP连接.我可以成功地将歌曲从一个设备发送到另一个设备.但它需要设备的IP地址.哪个用户不友好.

以下是我的基本音乐共享活动的屏幕截图,其中列出了可用的IP地址,用户必须从列表中选择一个IP.

在此输入图像描述

这里代替IP地址,我想显示设备名称.

我发送文件的代码是:

 @Override
protected Void doInBackground(Void... voids) {


    System.out.println("array list");
    ArrayList<File> files = new ArrayList<>();
    System.out.println("about to create.");

    files.add(new File(wholePath));
    System.out.println("file created..");
    try {


        //Receiving IP addresses which are available to send our files(Music)!!
        a = getClientList();


        //update the UI to display the received IP addresses!!
        publishProgress();


        //busy waiting for user to select appropriate IP address to send files!
        while (destinationAddress.equals("-1")){

        }

        //User has selected something, …
Run Code Online (Sandbox Code Playgroud)

java android android-wifi

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

使用Spring Data JPA中的Annotations连接两个以上的表

我有三个实体:A,BC,以及它们之间的关系如下:

class A{
    @ManyToMany
    List<B> bs;
    //other attributes and getter setters
}

class B{

    @ManyToMany
    List<C> cs;
    //other attributes and getter setters
}

class C{
    //other attributes and getter setters
}
Run Code Online (Sandbox Code Playgroud)

但是从我当前的实体类中,我可以使用任何2个表之间建立关系@JoinTable.但我想要的是在一个单独的表中保存所有3个实体之间的关系,将这些实体的主键作为列.(外键)

如果我们假设实体B并且C已经保存(插入)到数据库中,我插入新的实体A如下:

A:{
  "A_id": 1
  B:[
    "B_id": 1
    {
      C:[
          {"C_id": 1}, {"C_id": 2}
        ]
    }, 
    {
      "B_id": 2
      C:[
          {"C_id": 2}
        ]
     }
  ]
}
Run Code Online (Sandbox Code Playgroud)

然后A应该保存在它的表中,关系应该列在一个单独的表中,如下所示:

A_id    B_id    C_id
=====================
 1       1 …
Run Code Online (Sandbox Code Playgroud)

java database hibernate spring-data-jpa spring-boot

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

坚持理解TD(0)和TD(λ)的更新用途之间的区别

我正在研究这篇文章中的时间差异学习.这里TD(0)的更新规则对我来说很清楚,但是在TD(λ)中,我不明白在一次更新中如何更新所有先前状态的效用值.

以下是用于比较机器人更新的图表:

在此输入图像描述

上图解释如下:

在TD(λ)中,由于合格性迹线,结果传播回所有先前的状态.

我的问题是,即使我们使用具有资格跟踪的以下更新规则,如何将信息传播到单个更新中的所有先前状态?

在此输入图像描述

在单个更新中,我们只更新单个状态Ut(s)的实用程序,然后如何更新所有先前状态的实用程序?

编辑

根据答案,很明显,此更新适用于每一步,这就是传播信息的原因.如果是这种情况,那么它再次让我困惑,因为更新规则之间的唯一区别是资格跟踪.

因此,即使资格跟踪的值对于先前的状态不为零,在上述情况下delta的值将为零(因为最初的奖励和效用函数被初始化为0).那么以前的状态如何在第一次更新中获得除零以外的其他效用值?

同样在给定的python实现中,在单次迭代后给出以下输出:

 [[ 0.       0.04595  0.1      0.     ]
 [ 0.       0.       0.       0.     ]
 [ 0.       0.       0.       0.     ]]
Run Code Online (Sandbox Code Playgroud)

这里只更新了2个值而不是所有5个先前的状态,如图所示.我在这里缺少什么?

machine-learning reinforcement-learning temporal-difference

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

将数组划分为相等的大小,以使给定函数的值最小

我遇到了以下问题陈述.

您有一个自然数量大小的列表,N您必须将值分配到两个列表AB大小中N/2,以便A元素的平方和最接近元素的乘法B.

示例: 考虑清单7 11 1 9 10 3 5 13 9 12.
优化分布为:
列表A:5 9 9 12 13
列表B:1 3 7 10 11
导致差值abs((5 + 9 + 9) + 12 + 13)^ 2 - (1*3*7*10*11))= 6
因此,您的程序应输出6,这是可以达到的最小差异.

我尝试过的:

我试过贪婪的方法来解决这个问题.我拿了两个变量summul.现在我开始逐个从给定的集合中获取元素,并尝试在变量和计算的当前平方和和乘法中添加它.现在最终确定两组中的一组中的元素,使得组合给出最小可能值.

但是这种方法在给定的示例itselt中不起作用.我无法弄清楚这里可以使用什么方法.

不是要求解决方案的确切代码.任何可能的方法及其工作原因都没问题.

编辑:

来源:CodinGame,社区谜题

java algorithm

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

Keras 的 BatchNormalization 和 PyTorch 的 BatchNorm2d 的区别?

我有一个在 Keras 和 PyTorch 中实现的示例微型 CNN。当我打印两个网络的摘要时,可训练参数的总数相同但参数总数和批量标准化的参数总数不匹配。

这是 Keras 中的 CNN 实现:

inputs = Input(shape = (64, 64, 1)). # Channel Last: (NHWC)

model = Conv2D(filters=32, kernel_size=(3, 3), padding='SAME', activation='relu', input_shape=(IMG_SIZE, IMG_SIZE, 1))(inputs)
model = BatchNormalization(momentum=0.15, axis=-1)(model)
model = Flatten()(model)

dense = Dense(100, activation = "relu")(model)
head_root = Dense(10, activation = 'softmax')(dense)
Run Code Online (Sandbox Code Playgroud)

为上述模型打印的摘要是:

Model: "model_8"
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
input_9 (InputLayer)         (None, 64, 64, 1)         0         
_________________________________________________________________
conv2d_10 (Conv2D)           (None, 64, 64, 32)        320       
_________________________________________________________________
batch_normalization_2 (Batch …
Run Code Online (Sandbox Code Playgroud)

python machine-learning deep-learning keras pytorch

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

如何从 Gin 中的任何端点处理程序获取完整的服务器 URL

我正在使用 Go 的 Gin Web 框架创建一个端点。我的处理函数中需要完整的服务器 URL。例如,如果服务器正在运行http://localhost:8080并且我的端点是,那么当调用我的处理程序时/foo我需要。http://localhost:8080/foo

如果有人熟悉 Python 的快速 API,该对象有一个具有完全相同功能的Request方法:https: //stackoverflow.com/a/63682957/5353128url_for(<endpoint_name>)

在 Go 中,我尝试访问context.FullPath(),但只返回我的端点/foo,而不返回完整的 URL。除此之外,我在文档中找不到合适的方法:https://pkg.go.dev/github.com/gin-gonic/gin#Context

那么这可以通过gin.Context对象本身实现吗?还是还有其他方法?我对 Go 完全陌生。

go go-gin

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

如何在 TextInputLayout 中设置OnClickListener

ttilLastDate = (TextInputLayout) view.findViewById(R.id.tilLastDate);
tilLastDate.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Log.v("PublishTask","has click");
            }
        });
Run Code Online (Sandbox Code Playgroud)

为什么 OnClickListener 不起作用?

java android

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

反转 dropout 如何补偿 dropout 的影响并保持期望值不变?

我正在从deeplearning.ai课程中学习神经网络中的正则化。在 dropout 正则化中,教授说如果应用 dropout,计算的激活值将小于未应用 dropout 时(测试时)。所以我们需要扩展激活以保持测试阶段更简单。

我明白这个事实,但我不明白缩放是如何完成的。这是一个用于实现反向 dropout 的代码示例。

keep_prob = 0.8   # 0 <= keep_prob <= 1
l = 3  # this code is only for layer 3
# the generated number that are less than 0.8 will be dropped. 80% stay, 20% dropped
d3 = np.random.rand(a[l].shape[0], a[l].shape[1]) < keep_prob

a3 = np.multiply(a3,d3)   # keep only the values in d3

# increase a3 to not reduce the expected value of output
# (ensures that the expected value …
Run Code Online (Sandbox Code Playgroud)

machine-learning neural-network regularized deep-learning dropout

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