I will introduce face recognition on javascript.
And some algorithm for feature detection.
Recently,JavaScript engines and browsers have become more powerful that building full-blown applications in JavaScript is not only feasible, but increasingly popular.
Feature detection
In computer vision and image processing feature detection includes methods for computing abstractions of image information and making local decisions at every image point whether there is an image feature of a given type at that point or not. The resulting features will be subsets of the image domain, often in the form of isolated points, continuous curves or connected regions.
Face-api.js is a JavaScriptAPI for face detection and face recognition in the browser implemented on top of the tensorflow.js core API. It implements a series of convolutional neural networks (CNNs), optimized for the web and for mobile devices.
face-api.js implements the models SSD Mobilenet V1, Tiny Face Detector, and the experimental MTCNN.
classTestSfn(unittest.TestCase):
@classmethoddefsetUpClass(cls):
deploy(test=True)
# end of setUpClass@classmethoddeftearDownClass(cls):
undeploy()
# end of tearDownClass deftest_sfn(self):
AWS_ACCOUNT_ID = os.environ['AWS_ACCOUNT_ID']
AWS_DEFAULT_REGION = os.environ['AWS_DEFAULT_REGION']
SFN_NAME = os.environ['SFN_NAME']
sfnClient = boto3.client('stepfunctions')
execName = SFN_NAME + '_' + str(datetime.now().timestamp())
input = {
'input': {"Number1":10,"Number2":5}
}
res = sfnClient.start_execution(
stateMachineArn=f'arn:aws:states:{AWS_DEFAULT_REGION}:{AWS_ACCOUNT_ID}:stateMachine:{SFN_NAME}',
name=execName,
input=json.dumps(input)
)
execArn = res['executionArn']
res = {}
whileTrue:
res = sfnClient.describe_execution(
executionArn=execArn
)
status = res['status']
if status != 'RUNNING':
print(res)
break
time.sleep(5)
# end of while True
output = json.loads(res['output'])
self.assertEqual(output['res2']['Difference'], 5)
# end of test_sfn# end of class TestClass01
Model Monitorはこの劣化度合いをモニタリングして、一定の条件に至るとアラートを上げる機能とのことです。ただ、今回の説明を聞く限り、この劣化を検知するための条件は、(Model Monitorがリコメンドしてくれるようですが、最終的には)モデル開発者が決める必要があるようです。下図のBaseline statistics and constraintsのところですね。このため、ちょっと機械学習の知識がないと敷居が高いのではないかという印象でした。Autopilotで自動でモデルチューニングした後にこの条件を作成し、その良しあしを判断ができるのかが気になるところです。
さて、キーノートの内容ですが、今回は
Re:Invent Super Computerという名でHPC向けのクラウド環境を提供する発表がなされました。聞いている感触だとHPCを実現するためのインフラの提供という感じです。いくつか課題というか要件というかがある中でそれぞれの施策を提供できるようにAWSが準備しているという説明。例えば、非効率なTCPをEFAに変えることでスループットを向上させることができる。システムをチップに最適化することでスケーラビリティを確保できるようになっている。特定のVM/コンテナにハードウェアを占有させ不要なオーバヘッドをなくすなど。これらをまとめ上げれば、Re:Invent Super ComputerとしてHPCのタスクに十分な性能を持つVM・コンテナが生成できるということではないかと理解した。