小编red*_*uht的帖子

Android Firebase远程配置:未设置应用程序名称。呼叫Builder#setApplicationName

每当我致电时FirebaseRemoteConfig.getInstance(),都会收到以下警告:

W/zze: Application name is not set. Call Builder#setApplicationName.

我已经从Firebase更新了json配置文件,但它保持不变。它不影响任何功能,但是我不禁认为缺少某些东西。我在某处可能缺少的任何配置?

android firebase firebase-remote-config

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

相同的Tensorflow模型在Android和Python上提供不同的结果

我试图在我的Android应用程序上运行Tensorflow模型,但是与在桌面上运行Python时相比,相同的训练模型会产生不同的结果(错误的推断).

该模型是一个简单的连续CNN,用于识别字符,就像这个车牌识别网络一样,减去窗口,因为我的模型已经将字符裁剪到位.

我有:

  • 模型保存在protobuf(.pb)文件中 - 在Keras上在Python/Linux + GPU上建模和训练
  • 推理是在纯Tensorflow上的另一台计算机上测试的,以确保Keras不是罪魁祸首.在这里,结果如预期.
  • Tensorflow 1.3.0正在Python和Android上使用.在PIP上安装Python和jcenter在Android上安装.
  • Android上的结果与预期结果不符.
  • 输入是129*45 RGB图像,因此是129*45*3阵列,输出是4*36阵列(代表0-9和az的4个字符).

我使用此代码将Keras模型保存为.pb文件.

Python代码,这可以按预期工作:

test_image = [ndimage.imread("test_image.png", mode="RGB").astype(float)/255]

imTensor = np.asarray(test_image)

def load_graph(model_file):
  graph = tf.Graph()
  graph_def = tf.GraphDef()

  with open(model_file, "rb") as f:
    graph_def.ParseFromString(f.read())
  with graph.as_default():
    tf.import_graph_def(graph_def)

  return graph

graph=load_graph("model.pb")
with tf.Session(graph=graph) as sess:

    input_operation = graph.get_operation_by_name("import/conv2d_1_input")
    output_operation = graph.get_operation_by_name("import/output_node0")

    results = sess.run(output_operation.outputs[0],
                  {input_operation.outputs[0]: imTensor})
Run Code Online (Sandbox Code Playgroud)

Android代码,基于此示例 ; 这给出了看似随机的结果:

Bitmap bitmap;
try {
    InputStream stream = getAssets().open("test_image.png");
    bitmap = BitmapFactory.decodeStream(stream);
} …
Run Code Online (Sandbox Code Playgroud)

python android machine-learning tensorflow

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