AI
2024.04.4
ディープラーニング講座「機械学習Specializationシリーズ- 教師あり機械学習回帰と分類コース」の紹介
機械学習SpecializationシリーズとはDeepLearning.AI社とスタンフォード大学オンラインが共同で作成した基礎的なオンラインプログラムです。この初心者向けのプログラムでは、機械学習の基礎と、これらのテクニックを使用して実際のAIアプリケーションを構築する方法を学習します。https://www.coursera.org/specializations/machine-learning-introduction以下の3つのコースから構成されています。教師あり機械学習回帰と分類高度な学習アルゴリズム教師なし学習, レコメンダー, 強化学習教師あり機械学習回帰と分類コースとは一般的な機械学習ライブラリNumPyとscikit-learnを使用して、Pythonで機械学習モデルを構築します。 - 線形回帰やロジスティック回帰を含む、予測タスクやバイナリ分類タスクのための教師あり機械学習モデルを構築し、訓練します。
Apple
2024.04.3
HealthKitアプリSwiftコードの紹介(6) – ヘルスデータのアップロード
HealthKitへのアクセス許可HKHealthStoreクラスのrequestAuthorization(toShare:read:completion:)メソッドは、HealthKitフレームワークを使用してユーザーからアプリへのデータアクセス許可をリクエストするために使用されます。このメソッドは、データの共有(書き込み)と読み取りの種類を指定し、ユーザーに対してそれらのデータへのアクセス許可を求めます。具体的には、次のようなパラメータを取ります:typesToShare: アプリがHealthKitに書き込むことを要求するデータの種類を指定するHKSampleTypeのセットです。例えば、身体活動データ、栄養データ、睡眠データなどが含まれます。typesToRead: アプリがHealthKitから読み取ることを要求するデータの種類を指定するHKObjectTypeのセットです。例えば、心拍数、血圧、歩数などが含まれます。completion: リクエストが完了した後に呼び出されるクロージャです。このクロージャは、次のパラメータを取ります:success: ユ
Apple
2024.04.3
HealthKitアプリSwiftコードの紹介(5) – SwiftUIによるビューの実装
MyAppクラス:WindowGroupによるメインビューの定義ここからはSwiftUIによるビューのコードを説明していきます。SwiftUIは、Appleが提供するモダンなUIフレームワークであり、Swift言語でiOS、macOS、watchOS、tvOSアプリケーションを構築するための手段です。SwiftUIでは、状態駆動型のUIを構築し、シンプルで直感的な構文を使用してアプリケーションのビューを定義します。このコードは、SwiftUIのアプリケーションを定義しています。MyApp は App プロトコルを準拠しており、アプリケーションのエントリーポイントとなります。import SwiftUIimport Swinject@mainstruct MyApp: App { @AppStorage("isDarkMode") var isDarkMode: Bool = true // inject into SwiftUI life-cycle via adaptor !!! @UIApplicatio
AI
2024.03.22
OpenAIが提供する音声認識オープンソースWhisperとは(5)
ソースを確認するtranscribe関数の定義def transcribe( model: "Whisper", audio: Union, *, verbose: Optional = None, temperature: Union = (0.0, 0.2, 0.4, 0.6, 0.8, 1.0), compression_ratio_threshold: Optional = 2.4, logprob_threshold: Optional = -1.0, no_speech_threshold: Optional = 0.6, condition_on_previous_text: bool = True, initial_prompt: Optional = None, word_timestamps: bool = False, prepend_punctuations: str = "\"'“¿([{-"
AI
2024.03.21
OpenAIが提供する音声認識オープンソースWhisperとは(4)
whisperのデバッグ環境構築whisperのソースコードをチェックアウトするgit clone https://github.com/openai/whisper.gitcd whispertest.pyの作成import sysfrom whisper.transcribe import cliif __name__ == '__main__': sys.exit(cli())test.pyの実行python test.py sample.mp4 --language Englishtranscribe.pydef cli():・・・ model = load_model(model_name, device=device, download_root=model_dir)・・・ソースを確認するload_model関数を読むデフォルト時の引数は、model_name=small, device=cpu, download_root=Noneが使用さ
AI
2024.03.18
OpenAIが提供する音声認識オープンソースWhisperとは(3)
transcribe関数の確認def transcribe( model: "Whisper", audio: Union, *, verbose: Optional = None, temperature: Union = (0.0, 0.2, 0.4, 0.6, 0.8, 1.0), compression_ratio_threshold: Optional = 2.4, logprob_threshold: Optional = -1.0, no_speech_threshold: Optional = 0.6, condition_on_previous_text: bool = True, initial_prompt: Optional = None, word_timestamps: bool = False, prepend_punctuations: str = "\"'“¿([{-", appen
AI
2024.03.17
OpenAIが提供する音声認識オープンソースWhisperとは(2)
whisperコマンド実行時のエントリーポイントの確認whisperはpipでインストールする設計なので、whisperのsetup.pyファイル内のentry_pointsを確認する。コマンドラインからwhisperコマンドを実行すると、whisper.transcribe:cliが呼び出されることが確認できる。setup(・・・ entry_points={ "console_scripts": , },・・・)エントリポイント whisper.transcribe:cli のコード確認def cli(): from . import available_models def valid_model_name(name): if name in available_models() or os.path.exists(name): return name raise ValueError(
AI
2024.03.17
OpenAIが提供する音声認識オープンソースWhisperとは(1)
whisperとは?Whisperは汎用音声認識モデルです。多様なオーディオの大規模なデータセットで訓練されており、マルチタスクモデルでもあり、多言語音声認識、音声翻訳、言語識別などの機能を実行できます。ChatGPTで有名なOpenAIがMITライセンスの下にオープンソースとして公開しています。「Whisperアーキテクチャは、エンコーダーデコーダーTransformerとして実装されたシンプルなエンドツーエンドのアプローチです。入力オーディオは30秒のチャンクに分割され、対数メルスペクトログラムに変換され、それからエンコーダーに渡されます。デコーダーは、特殊トークンと組み合わされた対応するテキストキャプションを予測するようにトレーニングされ、この特殊トークンは、単一モデルが言語識別、フレーズレベルのタイムスタンプ、多言語音声の転記、および英語への音声翻訳などのタスクを実行するように導きます。他の既存のアプローチは、より小規模で、より密にペアされた音声テキストのトレーニングデータセットを使用したり、広範囲ながら非監視の音声事前トレーニングを使用したりすること
Apple
2024.02.29
HealthKitアプリSwiftコードの紹介(4) – HealthKitデータの管理
HealthKitデータの管理と同期を行うためのクラスこのコードは、HealthKitデータの管理と同期を行うためのクラス HealthKitStore とそれに関連するプロトコル HealthKitStoreProtocol を定義しています。このクラスは、HealthKitフレームワークを使用してユーザーのヘルスデータを読み取り、アップロードするための機能を提供します。import Foundationimport HealthKitimport UIKitimport Combineprotocol HealthKitStoreProtocol { func authorizeHealthKit(completion: @escaping () -> Void) func startObservingDataChanges(queue: DispatchQueue?, isBackgroundTask: Bool, completion: @escaping () -> Void) func updateCharac
Apple
2024.02.29
HealthKitアプリSwiftコードの紹介(3) – HealthKitデータの監視
HealthKitの心電図データと数量データの監視次のstartObservingDataChangesメソッドは、健康データの変更を監視し、データをサーバーにアップロードするための非同期処理を開始するためのものです。このメソッドは、指定されたクロージャーの完了時に呼び出される非同期タスクを開始します。シーケンス図以下に、本投稿で説明する部分のシーケンス図を示します。まず、self.queue.asyncを使用して、データ処理を非同期で実行するためにディスパッチキューに渡します。これにより、メソッドの呼び出し元のスレッドがブロックされることなく、バックグラウンドで処理が行われます。その後、HealthKitStore.healthKitActivityTypeの各サンプルタイプに対して、処理を開始します。サンプルタイプごとに、最新の健康データサンプルを取得し、データを適切な形式に変換して処理します。例えば、心電図の場合はECGUploadDataModelに変換し、その他の健康データの場合はHealthKitQualityUploadD