我正在尝试使用双向 GRU 在 Keras 中实现编码器-解码器类型网络。
下面的代码似乎可以工作
src_input = Input(shape=(5,))
ref_input = Input(shape=(5,))
src_embedding = Embedding(output_dim=300, input_dim=vocab_size)(src_input)
ref_embedding = Embedding(output_dim=300, input_dim=vocab_size)(ref_input)
encoder = Bidirectional(
GRU(2, return_sequences=True, return_state=True)
)(src_embedding)
decoder = GRU(2, return_sequences=True)(ref_embedding, initial_state=encoder[1])
Run Code Online (Sandbox Code Playgroud)
但是,当我将解码更改为使用Bidirectional包装器时,它会停止显示encoder并src_input在model.summary(). 新的解码器如下所示:
decoder = Bidirectional(
GRU(2, return_sequences=True)
)(ref_embedding, initial_state=encoder[1:])
Run Code Online (Sandbox Code Playgroud)
model.summary()双向解码器的输出。
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
input_2 (InputLayer) (None, 5) 0
_________________________________________________________________
embedding_2 (Embedding) (None, 5, 300) 6610500
_________________________________________________________________
bidirectional_2 (Bidirection (None, 5, 4) 3636
=================================================================
Total …Run Code Online (Sandbox Code Playgroud) 我正在尝试制作一个网络使用情况监控应用程序,它向用户显示移动数据使用历史记录。为此,我使用使用情况访问来获取准确的数据使用统计信息NetworkStatsManager。但这在 Android 10 中不再有效。
我正在使用NetworkStatsManager.querySummaryForDevice它需要订阅者 ID,之前我可以使用TelephonyManager.getSubscriberId.
但getSubscriberId现在该功能在 Android 10 中无法使用,因为它需要READ_PRIVILEGED_PHONE_STATE第三方应用程序无法具备的功能。
关于如何使其发挥作用有什么想法吗?我了解获取订阅者 ID 的限制,但只要我获得移动数据使用量(对此我有足够的权限),我并不真正关心订阅者 ID。
android telephonymanager android-data-usage networkstatsmanager android-10.0