项目场景:
提示:这里简述项目相关背景:
例如:项目场景:示例:通过蓝牙芯片(HC-05)与手机 APP 通信,每隔 5s 传输一批传感器数据(不是很大)
问题描述:
提示:这里描述项目中遇到的问题:
例如:数据传输过程中数据不时出现丢失的情况,偶尔会丢失一部分数据
APP 中接收数据代码:
@Override
public void run() {
bytes = mmInStream.read(buffer);
mHandler.obtainMessage(READ_DATA, bytes, -1, buffer).sendToTarget();
}
原因分析:
提示:这里填写问题的分析:
例如:Handler 发送消息有两种方式,分别是 Handler.obtainMessage()和 Handler.sendMessage(),其中 obtainMessage 方式当数据量过大时,由于 MessageQuene 大小也有限,所以当 message 处理不及时时,会造成先传的数据被覆盖,进而导致数据丢失。
解决方案:
提示:这里填写该问题的具体解决方案:
例如:新建一个 Message 对象,并将读取到的数据存入 Message,然后 mHandler.obtainMessage(READ_DATA, bytes, -1, buffer).sendToTarget();换成 mHandler.sendMessage()。
【mxnet】[转载](一):创建NDArray
MXNet中,NDArray
是一个类,也是存储和变换数据的主要工具。
打开jupyter notebook,首先导入mxnet的NDArray,
from mxnet import nd
创建一个行向量,
-
x = nd.arange(
12)
-
x
输出,
查看x的形状,
x.shape
输出,
也可以通过size属性得到NDArray实例中元素的总数,
x.size
输出,
用reshape函数可以更改向量或者矩阵的形状,
-
X = x.reshape((
3,
4))
-
X
输出,
下面创建一个全0张量,
nd.zeros((2, 3, 4))
输出,
创建一个全1张量,
nd.ones((3, 4))
输出,
还可以指定要创建的NDArray中的每个值,
-
Y = nd.array([[
2,
1,
4,
3], [
1,
2,
3,
4], [
4,
3,
2,
1]])
-
Y
输出,
创建随机生成的NDArray,
nd.random.normal(0, 1, shape=(3, 4))
输出,
每个元素的值都服从均值为0、标准差为1的正态分布。