当我调用该函数时,我numpy.ndarray由@ageitgey 的 facial_recognition Python 库face_encodings生成了这个。我需要将这些数据保存到亚马逊的DynamoDB;但我不知道怎么做。
当numpy.ndarray我运行该face_encodings函数时,我得到的是给定图像中人脸的表示。我可以使用这些数据与另一个图像进行比较,并检查该图像中是否存在该人(表示为编码)。
我认为我可以将其保存numpy.ndarray为二进制文件(使用numpy.ndarray.tobytes,但我不确定如何将该二进制文件(当我从 DynamoDB 检索回数据时)转换回numpy.ndarray.
我要比较的代码应该是这样的:
unknown_encoding = face_recognition.face_encodings(unknown_picture)[0]
# database_encoding_array should come from DynamoDB
results = face_recognition.compare_faces(database_encoding_array, unknown_encoding, tolerance=0.595)
# results is an array of booleans
Run Code Online (Sandbox Code Playgroud)
总之,我不知道将数据保存numpy.ndarray到 DynamoDB 的最佳方法是什么,以及以后如何查询它。
我想使用Paul Schoenfelder的真棒Timex库来解析一个简单的格式"YYYYMMDD"字符串到一个Timex.Parse.DateTime.t类型中.
现在,我正在做这样的事情:
{:ok, dt} = Timex.parse "20161111", "{YYYYDDMM}"
** (MatchError) no match of right hand side value: {:error, {:format, "Expected at least one parser to succeed at line 1, column 0."}}
Run Code Online (Sandbox Code Playgroud)
上面的代码不起作用.但是当我这样做时:
{:ok, dt} = Timex.parse "2016", "{YYYY}"
{:ok, #<DateTime(2016-01-01T00:00:00Z)>}
Run Code Online (Sandbox Code Playgroud)
我被dt指定为DateTime变量.
我究竟做错了什么?
提前致谢