まるっとワーク

データ分析・電子工作など気になることを残していきます

ChatGPTを使った自動レシピジェネレーターの紹介(ChatGPT API + AWS + LINE)

ChatGPTを使った自動レシピジェネレーター サービスの作成方法を紹介します。 このサービスは、食材を入力するだけでレシピを考案し、提供するサービスです。システムの構成には、ChatGPT API + AWSサービス(Lambda + API Gateway)とLINEを使用し、連携させ…

AWSを活用してLINEのチャットボットを作る

AWSサービス(Lambda + API Gateway)とLINEを連携させて、チャットボットを作成した時のメモを残します。 最終目標として、LINEで尋ねたワードをChatGPTに投げて、返答結果をLINEに返すといったシステムを作ることを想定しており、 その前段階として、まずはA…

フィルタの設計_メモ

フィルタ設計について、関連用語等を簡単にまとめます。目次 フィルタ設計について 周波数特性(フィルタ種類) 設計仕様(フィルタ仕様) ノイズ除去等、入力データの処理 フィルタ設計について フィルタ設計は、以下項目を検討します。 周波数特性(フィルタ種…

畳み込み型 ニューラルネットワーク

続いて、畳み込み型のディープラーニングのアルゴリズムをまとめていきます。 このアルゴリズムは画像処理において広く使われており、計算負荷を軽減する仕組みが多く導入されています。 目次 Convolutional Neural Network(CNN)の概要 畳み込み処理 padding…

回帰結合型 ニューラルネットワーク

続いて、回帰結合型のディープラーニングのアルゴリズムをまとめていきます。 目次 Recurrent, Recursive Neural Network(RNN)の概要 RNNのアルゴリズム RNNの学習について RNNの課題 スキップ接続 RNNの応用 Bi-directional RNN Long-Short Term Memory(LST…

ディープラーニング設計について

前回の記事までで、ディープラーニングのアルゴリズムや構造について記載しました。 続いては、設計時に必要な考え方についてまとめます。目次 学習の円滑化1(パラメータ(重み)の初期値について) Xavierの初期値 Heの初期化 学習の円滑化2(BatchNormalizatio…

誤差逆伝播法

前回はニューラルネットワークの構造について説明をしました。 続いては、モデル構築に必要な学習に関する技術を説明します。目次 ニューラルネットワークの学習 勾配降下法 誤差逆伝播法 勾配消失 確率的勾配降下法(Stochastic Gradient Descent :SGD) ミニ…

ニューラルネットワークについて②

前回の続きで、書ききれなかった部分について説明していきます。 目次 損失関数とは ディープラーニングでの損失関数の特徴 目指すべき損失について 損失関数関数の種類(Loss Function) ニューラルネットワークの普遍性定理について まとめ 損失関数とは 前…

ニューラルネットワークについて①

前回はニューロン及び人工ニューロンの説明をしました。 今回は、ニューラルネットワークについて説明していきたいと思います。目次 ニューラルネットワークとは ニューラルネットワークの例 活性化関数の導入 活性化関数を含めた人工ニューロンの動作 活性…

人工ニューロンについて

ディープラーニングについて学習を始めたので、関連するアルゴリズムであるパーセプトロンについて説明していきたいと思います。目次 ニューロンと人工ニューロンとは 人工ニューロンの仕組み 人工ニューロンの構造 人工ニューロンの動作 単純な論理回路の設…

ディープラーニングについて(言葉の定義など、はじめの一歩)

ディープラーニングについて学習を始めたので、理解した内容についてまとめて説明していきたいと思います。目次 Deep Learningとは? なぜDeep Learningが使われるのか 層を深くする意味とは Deep Learningの種類 まとめ Deep Learningとは? 【解析手法とい…

Python: lambda式を使う

Pythonプログラムにおいて、複数回同じ作業を実施したいときは関数を定義して実行しますが、関数に名前を付けずに簡潔に宣言するlambda式を使った書き方をまとめます。 開発環境について $wmic os get caption >Microsoft Windows 10 Pro $wmic os get osarc…

Python: mapやapply、applymapメソッドを使う

Pythonプログラムにおいて、DataFrameの各カラムに対してforループで処理をする際、非常に時間がかかる場合があります。 今回は、処理時間低減にも有効なmapメソッド/applyメソッドの使い方についてまとめます。 開発環境について $wmic os get caption >Mic…

機械学習について(言葉の定義など、はじめの一歩)

機械学習について学習を始めたので、理解した内容についてまとめて説明していきたいと思います。目次 機械学習とは? 機械学習の手法 精度の高いモデル構築に向けて AutoML(Automated Machine Learning)とは? 代表的なAutoML まとめ 機械学習とは? コンピ…

matplotlibとseabornの日本語の文字化けを修正する

Pythonから利用できる可視化ライブラリ、matplotlibやseabornにて可視化を行った際の日本語の文字化けを防ぐ方法をまとめていきます。 目次 開発環境について 問題事例 対応方法 japanize-matplotlibモジュールをインストール 対応結果 まとめ 開発環境につ…

Pythonが使えるように環境を整える

最近PCを買い替えたので、新しいPCにてPythonが使えるように対応した内容を残しておきます。 目次 開発環境について Pythonインストール Pythonがインストールされたフォルダパスを確認 環境変数を編集 コマンドプロンプトでpythonを実行するとMicrosoft Sto…

Python:ディジタルフィルタの設計② Butterworth/Chebyshev/Bessel

Pythonから利用できる数学処理ライブラリ、Scipyを使ったディジタルフィルタの設計・評価方法の続きをまとめていきます。 前回同様、数学的な話やディジタルフィルタについての概要は飛ばし、フィルタ設計・評価に使えるサンプルプログラムを載せただけです…

Python:SciPy窓関数の作成

時系列データの周波数解析を実施する際のフーリエ変換で使用する窓関数の処理についてまとめます。 開発環境について $wmic os get caption >Microsoft Windows 10 Pro $wmic os get osarchitecture >64ビット $python -V Python 3.7.6 $pip list -V scipy 1…

Python:ディジタルフィルタの設計① 移動平均フィルタ

Pythonから利用できる数学処理ライブラリ、Scipyを使ったディジタルフィルタの設計・評価方法をまとめました。 と言っても数学的な話やディジタルフィルタについての概要は飛ばし、フィルタ設計・評価に使えるサンプルプログラムを載せただけですが、何かに…

Rasberry PiとSORACOMサービスとで異常検知システムを作成 2/2 (機能の実装編)

続いては、「機能の実装」 についてまとめていきます。 目次 実施したいこと(再掲) 機能の実装に向けて 1. 異常検知の実装 1.1 人物検知について 1.2 動体検知について 1.3 異常検知について 1.4 おまけ機能について 2. 通知機能の実装 2.1 Amazon Echoで音…

Rasberry PiとSORACOMサービスとで異常検知システムを作成 1/2 (システム概要とセットアップ編)

会社での作業員異常通報に関する改善が図れそうだったので、試作をしてみました。 ここでは、Rasberry PiとSORACOMサービスとを組み合わせた作業員の異常状態検知 監視システムについてご紹介します。 目次 背景 作業員異常通報装置の運用 実施したいこと 使…

Python:LINEに通知をする

PythonでLINEにメッセージや画像を送りたい時に、毎回検索しているのでここにまとめておきます。 プログラムの完了通知をLINEに送りたい/センサーの値を監視していて、特定の値になったらその通知をLINEに送りたいなどで使えるかと思います。 開発環境につい…

RasberryPi:Pythonコードを定期実行する

特定のスクリプトを定期実行したいケースがあったため、指定の時間でコードを実行する方法を紹介します。 今回はcronという機能を使っていきます。 開発環境について 【ハードウェア】 RasberryPi $python -V Python 2.7.16 目次 開発環境について cronが有…

Amazon Echo(Alexa)を喋らせる

Amazon Echoは、話をするようにAmazon Echoに話しかける or Amazon アプリから話すように指示をする等でないと喋ってくれないので、もう少し色々と喋らせる方法はないかと探していました。本記事ではalexa_remote_controlを使用しますが、その他の方法として…

RasberryPi:セットアップ(日本語入力設定やLCDの設定について)

仕事でちょっとした試作が必要となり、手軽で持ち運びができるRasberryPiを使用しました。 ただ、いろいろと作業している中でGUIが起動しなくなる等、原因不明で初期化が必要になるケースも多かったので、その方法をまとめます。RasberryPiでできること、初…

Python:seabornを使ったグラフ作成まとめ

Pythonから利用できる可視化ライブラリ、Seabornのグラフの細かい設定を まとめました。 Seabornライブラリは、他の可視化ライブラリ Matplotlibと設定の仕方が違う所もあるので、たまに誤ってイライラしてしまいます・・ 完全に自分用な感じもありますが記…

Python:Plotlyを使って描画後に自由に動かせるグラフを作成する

Pythonから利用できる可視化ライブラリ、Plotlyの初歩的な使い方と細かい設定をまとめました。 Plotlyで作成したグラフは、描画後にグラフの軸を動かしたり拡大したり、プロットした点の座標(値)も示してくれるので、何回も描画し直す必要がないところが利点…

JupyterNotebookの背景色やフォントを変更したい

Webブラウザ上でソフトウェアを開発できる環境「Jupyter Notebook」、 デフォルトの設定だと、画面が白く長時間見るとちかちかするので変更してみました。 【デフォルトの状態】 今回は背景色やフォントを変更できる方法をまとめます。 目次 JupyterNotebook…

JupyterNotebookのセル幅を変更したい

Webブラウザ上でソフトウェアを開発できる環境「Jupyter Notebook」、 デフォルトの設定だと、以下画像のようにウィンドウサイズに対して、コードを書く等の横幅が少し狭いのですよね。このセル幅を調整できる方法をまとめます。 →現在の状態では、狭くてコ…