Implicit None

Web技術やデータサイエンスのメモ

Mac で緯度経度などの不要な情報を写真ファイルから除く方法

やりたいこと スマートフォンなどで撮影した画像をどこかに提出しようとする場合、写真を撮影した緯度経度情報やどこからダウンロードしたかなどの EXIF 情報などをセキュリティの観点から消したいことがあります。 何度か同じことがあり、自分の知りたかった情報がまとまって記載されたブログなどが見つからなかったので自分用のメモとして残しておきます。 解決方法 Mac OS Ver. 12.6 (Monterey) での対応方法です。 # 01 EXIF 情報を消す convert input.jpg -strip output.jpg or mogrify -strip image.jpg # 02 Where from を消す xattr -d com.apple.metadata:kMDItemWhereFroms image.jpg これで画像から緯度経度情報やどこからダウンロードしたかなどの情報を消すことができますので、右クリックして詳細情報を確認すると私の環境では消えていました。 参考 ImageMagick – 画像から EXIF 情報や余分なコメント領域を削除するには How can I remove “Where from” information from downloaded .mkv file?

January 8, 2023 · 1 min · Implicit none

Trino を触ってみた

この記事は 気にはなってるけど触ってないビッグデータ系のツール・サービスを触る Advent Calendar 2022 にリンクしてます。 はじめに アドベントカレンダー用にいくつか調べてみたい候補として DataSketch や Iceberg などがありましたが、Trino というツールが気になったのでこちらをさわってみようかと思います。 Trino とは? もともとは Presto を開発したメンバー 2018 年頃に Facebook から離れて別プロジェクトして開発を始め、 2020 年にリブランドしたプロジェクトのようです。リブランドの背景はこちらのブログをください (参考)。 会社によってコミュニティへの関わり方や考え方が違うということは私も経験してきましたが、このブログからも Trino 開発メンバーから見た会社とコミュニティへの考え方の現状は把握できるかと思います。もちろん Trino 開発メンバーからの視点だけなので実際の現情はわかりませんので知っている方いたら教えてください。 詳細な概要はこちらの記事のほうがまとまっているのでそちらをご覧ください 高性能分散SQLエンジン「Trino」最速ガイド。 Hiveより速いは触ったことがないのでわからないですがそこは気になりますね。 この記事では、 docker で Trino を触ってみた話を書いてみたいと思います。 2022/12/24時点 watch folk star 162 2.1 k 6.9 k Docker ではじめる Trino まずは Docker の起動と SQL cli の実行です。 docker run --name trino -d -p 8080:8080 trinodb/trino #2回目の実行は下記 docker run -d -p 8080:8080 trinodb/trino docker exec -it trino trino このまま docker exec で実行していくとデータをいれるのが手間がかかりそうなので docker-compoase を使いたいと思います。その前にデータストアについて考えます。...

December 25, 2022 · 2 min · Implicit none

モデルモニタリングとして利用できる Whylogs の概要

この記事は MLOps Advent Calendar 2022 にリンクしてます。 MLOps にカテゴライズされる機能はいくつかありますが、その中のひとつに機械学習のモデルモニタリングがあります。 この記事ではモデルモニタリングツールとして適用可能な Whylogs の概要と触ってみた感想をまとめます。 TL;DR モデルの監視におけるツールである Whylogs は主にテーブル、画像、文字のデータタイプの可視化や設定したデータの条件(制約)を満たしているか確認が可能です。 Whylab という無料/有料 SaaS サービスを使うことでより多くの機能が使えるが、pandas をベースに無料でも特徴量の差分などの可視化が行えます。 Whylogs とは? WhyLabs Inc. 社のデータロギングに関するオープンソースが Whylogs がのようです。 Github リンク 2022/12/18 現在のGithub上の指標は下記になります。 watch folk star 初回リリース 2022 / 12 / 18 現在の最新リリース 28 86 1,934 2020/9/23 2022/12/14 prereleaseを除く Star 数は昨年リリースしたことを考えると MLOps 界隈ではまぁまぁなのでは?と最初思ったのですが、 同じ機械学習のモニタリングツールである OSS の Evidently AI は今年リリース(プレリリースを除く)で、 star 数が 2983 (2022/12/18現在) なので盛り上げは Evidently AI のほうが多いかなと思います。できることが違うので単純な比較をしたらいけないかなとは思いますが参考までに。 Whylogs ができることを本家のページを非公式に翻訳すると以下ができるようです。 データセットの変更/変化をトラックできる Data Constraints を作成して、データの見た目が適切かどうかを確認することができる データセットに関する主要な統計情報を迅速に可視化することができる ちなみに日本企業で使っているところがないか Google 検索でしらべたところ下記の記事を見つけました。...

December 18, 2022 · 2 min · Implicit none

最小構成でFastAPIを用いて機械学習モデルをサービング

はじめに 機械学習モデルを作ったらそのまま放置することは私も経験があります。 ただそのままだとWebサイト上で活用(例:レコメンドシステム)として使うことはできなかったり、 定期的に動かすためにAPIを呼び出すなどができません。 そのため、Web API化して、サーバーとして起動できるようにしておくと システムに組み込んだりしやすくなりますので、 この記事ではできるだけ最小構成でFastAPIにMLモデルを組み込んでWebAPIとして呼び出せるWebサーバーを作りたいと思います。 FastAPIについて APIを作るために特化しており高パフォーマンス(Fast)、実装時間がFastなOSSです。 FastAPI 2022/6/28時点でPythonの軽量webフレームワークとして有名なFlaskと比較すると、 watch folk star 初回リリース Flask 2,154 15,127 59,378 2010/4/16 FastAPI 589 3,647 46,651 2018/4/17 でした。 Flaskは2010年に最初のリリースがGithub上にあり、FastAPIは2018年にGithub上にリリースされました。 FastAPIは後発ということもありますので全体的にメトリックは小さいですが、それを鑑みてもStar数などは後発にも関わらず増えていることがわかります。 インストールや簡単な使い方は公式サイトに詳しく載っておりますのでそちらで実施していただければと思います 参考。 今回使う機械学習モデル Kaggleで有名なTitanicの機械学習モデルを使います。Codeは公開されているupuruさんのこちらのCodeを参考に使わせていただきます code:upura-kaggle-tutorial-03-feature-engineering 今回は最低限の構築にしたく、使わない特徴量はコード中で削除しています。 FastAPIで構築するときも使わない特徴量の削除は必要になりますので忘れなく削除する必要があります。 こちらのコードを参考にWebサーバーにモデルを取り込むため、pickleファイルを用意します。 下記はpickleファイルを作成するためのjupyterのコードです。 import numpy as np import pandas as pd import pickle from sklearn.linear_model import LogisticRegression train = pd.read_csv('./train.csv') test = pd.read_csv('./test.csv') combine = [train_df, test_df] data = pd.concat([train, test], sort=False) data['Sex'].replace(['male','female'], [0, 1], inplace=True) data['Embarked']....

June 28, 2022 · 2 min · Implicit none

MLOps勉強会で2021年に紹介されたツールを振り返ってみた

はじめに 2021年にMLOps勉強会で発表されて公開された資料をもとにツールごとに発表内容をまとめてみました。 *2022年1月の発表が最近あり、且つ有用な資料もありましたので2件も記載しています。 クラウド GCP / Vertex AI / Kubeflow もともとはGCP AI platformとして展開されていたが2021/5月にVertex AIとして提供されることを発表された。 Kubeflow, TFXなどもこちらに含むこととしています。 tutorial Vertex AI tutorial Kubeflow Pipelinesのサンプル by Aseiさん *Aseiさんが転職されてメンテナンスされているかは不明 発表資料 露木さん / 実践Continuous Training Nakagawaさん / メルペイの与信モデリングにおける特徴量の品質向上の施策 中山さん / Vertex Pipelinesを障ってみた Kohamaさん / Polyaxon + Kubeflow を利用した効率的な継続的モデルインテグレーション Aseiさん / 機械学習パイプラインの要件と Vertex Pipelines 大嶋さん / そのEdgeAIはUXを 改善できるか Fengさん / JX通信社における実践的MLOps AWS 特定のソリューションというわけではなく、マネージドサービスを組み合わす感じ。 MLOpsサンプル AWS MLOps フレームワーク 発表資料 斎藤さん / 異音検知プラットフォーム開発におけるMLOpsの実際と考察 麻生さん / AWSを活用した機械翻訳のためのGPU並列処理環境の構築 山口さん / 少人数PJにおける MLOps事例...

January 26, 2022 · 1 min · Implicit none