高周波エンジニアのためのAI・機械学習入門(GPU編12)教師あり学習でバンドパスフィルタ(BPF)の中心周波数ずれのG/NG判定をPythonとKeras 3.0を使って畳み込みニューラルネットワーク(CNN)で行う。
前回のLPF,BPF,HPFの分類があまりにも簡単だったのでもう少し微妙なBPFの中心周波数ずれが分類できるか見てみる。10%ずれるとして90%が良品、10%が不良品になっている。
CPU版はこちら。この1つ前でDNNがいまいちだったのでCNNでやっている。
データはこんな感じで。
コードはこちら。
import os
os.environ["KERAS_BACKEND"] = "jax"
import keras
import numpy as np
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
import os
from jax import config
#config.update("jax_enable_x64", False)
plt.rcParams['font.family'] = 'Noto Sans CJK JP'
data_label = np.load("G_NG.npz")
data = data_label["data"].reshape(-1,200,5,1)
label = data_label["label"]
x_train, x_test, y_train, y_test = train_test_split(data, label, test_size=0.3, random_state=0)
# Functional APIでCNNを設定
inputs = keras.Input(shape=(200, 5, 1))
x = keras.layers.Conv2D(64, kernel_size=(10, 2), activation="relu")(inputs)
x = keras.layers.Conv2D(64, kernel_size=(10, 4), activation="relu")(x)
x = keras.layers.Flatten()(x)
outputs = keras.layers.Dense(1, activation="sigmoid")(x)
# モデルの設定
model = keras.Model(inputs=inputs, outputs=outputs)
model.compile(optimizer=keras.optimizers.Adam(), loss=keras.losses.BinaryCrossentropy(),
metrics=[keras.metrics.BinaryAccuracy(),])
batch_size = 64
epochs = 100
keras.utils.set_random_seed(1)
model.fit(
x_train,
y_train,
batch_size=batch_size,
epochs=epochs,
validation_split=0.15,
)
score = model.evaluate(x_test, y_test, verbose=0)
print(f"Test Score{score}")
|
やはりGPU速いのですぐ終わる。結果は
Test Score[0.009542127139866352, 0.9976666569709778]
と99.77%とかかなりいい感じ。もう少しずれを小さくするとどうなるかも見てみたいところ。
« 高周波・RFニュース 2026年2月13日 GSMAが農村部の通信改善には1GHz以下が必要とレポート、Skyworksがクロックバッファのラインアップ拡充、YageoがWi-Fi 7向けグランド非依存アンテナ発表、SamsungがHBM4量産など | トップページ | 高周波・RFニュース 2026年2月14日 Microwave Journalは衛星向けQ/Vバンドコンバータ等、Wi-Fi 7のAI-PRM解説記事、Giga-MIMO解説記事、Samsung Galaxy A07 5G発表など »
「パソコン・インターネット」カテゴリの記事
「学問・資格」カテゴリの記事
- 高周波・RFニュース 2026年7月22日 IEEE Journal of Microwaves7月号発行、メクテックが薄型フレキシブル電波吸収体を開発、ミニサーキットが33GHz信号発生器発表、Redmi Note 17 Pro分解動画など(2026.07.22)
- Qwen 3.8 Max PreviewでPythonのscikit-rfを使ってTouchstoneフォーマットのSパラメータファイルを読んでdB, 位相, スミスチャート, TDRを表示するGUIアプリを作成。何度か修正お願いするとものすごく長い思考とものすごい数のウェブ検索をして完成した。(2026.07.22)
- RF Weekly Digest (Codexで作ったOllama経由のgemma4-26B-A4B QAT、DuckDuckGo Searchを使った高周波・RF情報の週刊まとめアプリ)2026/7/12-7/19(2026.07.19)
「日記・コラム・つぶやき」カテゴリの記事
- 高周波・RFニュース 2026年7月22日 IEEE Journal of Microwaves7月号発行、メクテックが薄型フレキシブル電波吸収体を開発、ミニサーキットが33GHz信号発生器発表、Redmi Note 17 Pro分解動画など(2026.07.22)
- Qwen 3.8 Max PreviewでPythonのscikit-rfを使ってTouchstoneフォーマットのSパラメータファイルを読んでdB, 位相, スミスチャート, TDRを表示するGUIアプリを作成。何度か修正お願いするとものすごく長い思考とものすごい数のウェブ検索をして完成した。(2026.07.22)
- RF Weekly Digest (Codexで作ったOllama経由のgemma4-26B-A4B QAT、DuckDuckGo Searchを使った高周波・RF情報の週刊まとめアプリ)2026/7/12-7/19(2026.07.19)
« 高周波・RFニュース 2026年2月13日 GSMAが農村部の通信改善には1GHz以下が必要とレポート、Skyworksがクロックバッファのラインアップ拡充、YageoがWi-Fi 7向けグランド非依存アンテナ発表、SamsungがHBM4量産など | トップページ | 高周波・RFニュース 2026年2月14日 Microwave Journalは衛星向けQ/Vバンドコンバータ等、Wi-Fi 7のAI-PRM解説記事、Giga-MIMO解説記事、Samsung Galaxy A07 5G発表など »



コメント