#author("2025-01-08T17:11:44+09:00","default:kouzouken","kouzouken") #author("2025-01-13T10:38:25+09:00","default:kouzouken","kouzouken") #contents *連絡 [#l046b831] a -毎週水曜日13:00~ 後期ゼミ -毎週金曜日14:30~ 創造工房 -12月23日月 中間発表 M2:11:00~ B4:14:30~ -12月27日 14:30〜16:00 エアコン工事 -1月20日 日本カルテット -2月7日 卒論タイトル提出 - *実行手順 [#y7efa082] -p6形式からp3形式にする→p6_to_p3.py -変換マトリクスを作成→kairyou_henkan.py -画像を切り抜く -$5cm^{2}$の正方形で切り抜いていく →画像を複製して切り抜く(各画像10枚ずつ) -ファイル名_p3_x座標_y座標のファイル名で -画像補正をする→ppmhosei_p3.py -ラベル付け → label_1ckilk.py -データのグラフ作成 → creat_graph.py -データ拡張 → kaiten_kakutyou.py -モデル → model_CNN.py *次やること [#ibb94686] -モデルをEfficientNetにする -混合行列を出力 *0115_ゼミ報告 [#u2fcc111] *1218_ゼミ報告 [#u2fcc111] -2値分類にして精度比較 -過学習が起きてしまい、精度の比較ができない **ゼミ目標 [#le44a052] -データ整理 -effienetnetの構築 -Test Accuracy: 0.71, Test Loss: 0.97 -Test Accuracy: 0.67, Test Loss: 1.01 Test Accuracy: 0.64, Test Loss: 1.12 Test Accuracy: 0.68, Test Loss: 1.08 Test Accuracy: 0.72, Test Loss: 0.95 Test Accuracy: 0.67, Test Loss: 1.04 **未着手 [#vc284a84] -強調する特徴を決める **未解決 [#a098c682] 優先度低 -[[cuda toolkit:https://help.sakura.ad.jp/ds/2373/]] -TensorRTのインストール *卒論[#d2687d62] 耐候性鋼橋の耐候性鋼材の錆の現地調査(日本鉄鋼連盟、土木研究センター、東北の大学や高専の土木構造系研究室の共同研究) と何らかの定量化手法との比較を(人間の現場での評価を教師として)AIに機械学習させてみる。 (現場で簡単なのはデジカメ、セロテープはややめんどう、膜圧はもっとめんどう) 現場デジカメ撮影の画像データ(伊藤さんの卒論2004:[[概要pdf:https://www.str.ce.akita-u.ac.jp/kouzou/pdf/so04it.pdf]],[[スライドpdf:https://www.str.ce.akita-u.ac.jp/kouzou/pdf/so04itp.pdf]]) セロテープ試験の2値化データ(藤原さんの卒論2005:[[概要pdf:https://www.str.ce.akita-u.ac.jp/kouzou/pdf/so05hu.pdf]],[[スライドpdf:https://www.str.ce.akita-u.ac.jp/kouzou/pdf/so05hup.pdf]]) 膜厚計の錆厚データ(橘さん2006:[[概要pdf:https://www.str.ce.akita-u.ac.jp/kouzou/pdf/so06ta.pdf]],[[スライドpdf:https://www.str.ce.akita-u.ac.jp/kouzou/pdf/so06tap.pdf]]) *参考資料 [#p538632a] ・[[AIによる耐候性鋼材のさびの特徴分析:https://www.nilim.go.jp/lab/bcg/siryou/2024report/ar2024hp022.pdf]] ・[[画像処理を用いた耐候性鋼材の腐食状況の定量化に関する検討:http://library.jsce.or.jp/jsce/open/00061/2014/41-01-0072.pdf]] ・[[畳み込みニューラルネットワークを用いた腐食環境が異なる鋼材腐食部劣化度判定の試み:https://www.jstage.jst.go.jp/article/jsceiii/1/J1/1_365/_pdf]] (普通鋼材) ・[[画像処理とパターン認識手法を利用した耐候性鋼材のさび外観評価:https://www.jstage.jst.go.jp/article/jscejf/62/4/62_4_674/_pdf]] ・[[耐候性鋼材の運用実績:https://www.jasbc.or.jp/technique/works/#:~]] ・[[土木工学分野における人工知能技術活用のために解決すべき課題と進めるべき研究開発:https://www.jstage.jst.go.jp/article/jsceiii/1/J1/1_9/_pdf]] ・[[機会学習を用いた耐候性鋼材のさび外観評価モデルの開発:https://www.jstage.jst.go.jp/article/hnctech/56/0/56_43/_pdf/-char/ja]] ・[[インフラ維持管理へのAI技術適用:https://committees.jsce.or.jp/opcet_sip/system/files/SIP_AI_report.pdf]] ・[[畳み込みニューラルネットワークを用いた耐候性鋼材腐食部劣化度判定の試み:https://www.jstage.jst.go.jp/article/jsceiii/2/J2/2_813/_pdf/-char/ja]] ・[[いちばんやさしいpythonの本:https://www.amazon.co.jp/Python%E3%82%B9%E3%82%BF%E3%83%BC%E3%83%88%E3%83%96%E3%83%83%E3%82%AF%EF%BC%BB%E5%A2%97%E8%A3%9C%E6%94%B9%E8%A8%82%E7%89%88%EF%BC%BD-%E8%BE%BB-%E7%9C%9F%E5%90%BE-ebook/dp/B07C3LFNWJ/ref=sr_1_7?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=398763XQ06VOD&dib=eyJ2IjoiMSJ9.prz8bqYYJgaUBzVa1wBjgfzjPigNvgkrhu7niR7_A6Rh1aby90A8wNr-l93SRkCiQFsyO3AUuXrxK8v8aFKxFACCZCGWmbQwnrYtmImOXFo_z5MttFsNoVZvbuMqvGYpfS-PLBVXSh0ZRD4EbNYbFz2k7Br40sRH0p6KcqbGyzwuRgUgZZIomL7j_9GtVtCI-PGDPE_LGFyfbZEhcPcFE4h_lzN4KXU7abY0bkMc4kg.eXMA5fBDW9ZWLK2ba02yJYi7GoBPlD-MUNZy6EtA_qg&dib_tag=se&keywords=%E3%81%84%E3%81%A1%E3%81%B0%E3%82%93%E3%82%84%E3%81%95%E3%81%97%E3%81%84python&qid=1717315036&s=books&sprefix=%E3%81%84%E3%81%A1%E3%81%B0%E3%82%93%E3%82%84%E3%81%95%E3%81%97%E3%81%84python%2Cstripbooks%2C203&sr=1-7]] ・[[ゼロから作るDeep Learning:https://www.amazon.co.jp/%E3%82%BC%E3%83%AD%E3%81%8B%E3%82%89%E4%BD%9C%E3%82%8BDeep-Learning-%E2%80%95Python%E3%81%A7%E5%AD%A6%E3%81%B6%E3%83%87%E3%82%A3%E3%83%BC%E3%83%97%E3%83%A9%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0%E3%81%AE%E7%90%86%E8%AB%96%E3%81%A8%E5%AE%9F%E8%A3%85-%E6%96%8E%E8%97%A4-%E5%BA%B7%E6%AF%85/dp/4873117585/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=2YLLEFEA8XNKU&dib=eyJ2IjoiMSJ9.wg1MkwC3WeE9sXRv-j4JJxAnRh2DL3lf6FP9vU_7nqX7gs_JvdkYAEDKyiSsEdEVIgdyxXiNUM_vEmEexYw4f6L1k1SYMhykQEBHW3-ZUunWFvyT3mGw-4d33p9q9S1NKMSfLrjUx6JxtwWwKv-b8v3tFhiGwS66XQAJDsyvM8oyVa4IjdSBtLYvsI5sS8Pi1tnPoj34EmHOugUjPvSyOUIW2TWS_UOrV3WWSZ0yWaI.G5HSJQNo9pFCa_pV_es0DxzBVMUlvl2I7xZRuZPCeok&dib_tag=se&keywords=python+deep&qid=1717315243&s=books&sprefix=python+depp%2Cstripbooks%2C207&sr=1-1]] *進捗 [#i2b5e92a] 日時置換文字 - [[テキスト整形のルール(詳細版)>FormattingRules]] &date;、 &time;、 &now;は、記事が書き込まれるときに置換されて記録されます。 &date;、 &time;、 &now;は、他のインライン要素の子要素になることができます。 &date;、 &time;、 &now;は、他のインライン要素を子要素にはできません。 行中で &_date; と書くと、表示時の日付に置換されて出力されます。 行中で &_time; と書くと、表示時の時刻に置換されて出力されます。 行中で &_now; と書くと、表示時の日時に置換されて出力されます。 行中で &date; と書くと、更新時の日付に置換されます 行中で &time; と書くと、更新時の時刻に置換されます 行中で &now; と書くと、更新時の日時に置換されます **2024-12 [#gdb829b2] ***1204_ゼミ報告 [#u2fcc111] -写真の基準の値のRGBに合わせる ゼミ目標 [#le44a052] CNNモデルについて調べる -1.2.4が足りない hg_1_1_p3_267_263_90.ppm |変換前|変換後(128x128)| |https://www.str.ce.akita-u.ac.jp/~gotouhan/j2024/sato/1202/hg_1_1_p3_267_263_90.png|https://www.str.ce.akita-u.ac.jp/~gotouhan/j2024/sato/1202/henkango.PNG| 補正前 |&ref(https://www.str.ce.akita-u.ac.jp/~gotouhan/j2024/sato/1202/hoseimae.png,600h,800w);|&ref(https://www.str.ce.akita-u.ac.jp/~gotouhan/j2024/sato/1202/hoseimae_loss.png,600h,800w);| 補正後 |https://www.str.ce.akita-u.ac.jp/~gotouhan/j2024/sato/1202/hoseigo.png|https://www.str.ce.akita-u.ac.jp/~gotouhan/j2024/sato/1202/hoseigo_loss.png| **2024-11 [#fa239c61] -CNNモデルの理解を深めたい **2024-10 [#a9373af3] -しっかり成果を上げたい 2024-10-30 -色補正の精度はあまり関係ないのかなと思う ------ ***1030_ゼミ報告 [#g16e508d] ゼミ目標 -データの整理を完了させる(画像の切り抜き) -画像補正例 |補正前|補正後| |https://www.str.ce.akita-u.ac.jp/~gotouhan/j2024/sato/1023/hoseimae.png|https://www.str.ce.akita-u.ac.jp/~gotouhan/j2024/sato/1023/hoseigo.png| |https://www.str.ce.akita-u.ac.jp/~gotouhan/j2024/sato/1023/hoseimae_RGB.png|https://www.str.ce.akita-u.ac.jp/~gotouhan/j2024/sato/1023/hoseigo_RGB.png| -判別結果 |補正前|補正後| |https://www.str.ce.akita-u.ac.jp/~gotouhan/j2024/sato/1030/hoseimae.png|https://www.str.ce.akita-u.ac.jp/~gotouhan/j2024/sato/1030/hoseigo.png| -前回と変わったのは縮尺 → 使った画像の問題もあるだろうが、補正前の判別精度が向上した -大事なのは色補正(彩度よりも縮尺なのでは?) -次はCNNモデルの確認をしたい ------ 2024-10-25 今日の目標 画像切り抜きを完了させる -画像切り抜き完了 -次は画像補正 → 完了 -データの整理完了 -ラベル付け 2024-10-23 -効率よく切り抜く方法を調べたい -複製して一枚ずつ切り抜いていこうと思う -明日やること画像切り抜き 2枚目から ***1023_ゼミ報告 [#cbd567d5] -[[ppm形式について:https://www.mm2d.net/main/prog/c/image_io-01.html]] https://www.str.ce.akita-u.ac.jp/~gotouhan/j2024/sato/1023/ppmkeisiki.png -P6形式で補正したときよりもP3形式のほうが正確に補正される https://www.str.ce.akita-u.ac.jp/~gotouhan/j2024/sato/1018/P6P3hikaku.png -補正前のP3とP6はRGB値に違いなし https://www.str.ce.akita-u.ac.jp/~gotouhan/j2024/sato/1018/p3p6.png -色補正の値が違うのはクリック位置が関係している場合もある。 https://www.str.ce.akita-u.ac.jp/~gotouhan/j2024/sato/1021/irosizi.png |補正後のP3|補正後のP6| |https://www.str.ce.akita-u.ac.jp/~gotouhan/j2024/sato/1018/P3.png|https://www.str.ce.akita-u.ac.jp/~gotouhan/j2024/sato/1018/P6.png| |https://www.str.ce.akita-u.ac.jp/~gotouhan/j2024/sato/1018/p3rei.png|https://www.str.ce.akita-u.ac.jp/~gotouhan/j2024/sato/1018/p6rei.png| 2024-10-22 今日の目標 gimpで効率的に画像を抜き出す方法を模索する -pythonでスクリプトを作成してやるのが一番いいみたい。 -あまり理解できなかった 2024-10-21 今日の目標1 変換マトリクスを作成する -変換マトリクスを作成して、画像補正が完了した。 -正しく補正されていてもクリック位置でRGB値が変わることもある -RGB値が正しく反映されている画像を選んでいきたい 今日の目標2 画像を抜き取る -画像の大きさをどうしようか相談 -元画像の縮尺によって抜き出すピクセル値が変わるため、その影響がどうなるか調べる -5cmで抜き出して行く方向 -90度だけでなくて他の角度でも回転させることでデータ数を増やす 2024-10-18 今日の目標 切り取り方法を決める -今まではp6形式で保存されていたが、p3に変えたら色補正の精度が上がった。 -p3形式にして色補正していこうと思う - ***1016_ゼミ報告 [#p1fa375c] -誤差10%くらいまでなら許容 -補正後と補正前の画像で比較しよう -RGB_yomitori.py 写真のRGB値を読み取る -henka.py 変換マトリクスを作成する -ppmhosei.py 補正後の写真を作成する |補正前|補正後| |https://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/satou/kiritori.png|https://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/satou/kiritorigo.png| |補正前|補正後| |https://www.str.ce.akita-u.ac.jp/~gotouhan/j2024/sato/1018/rating1.png|https://www.str.ce.akita-u.ac.jp/~gotouhan/j2024/sato/1018/hg_rating1.png| |補正前|補正後|補正改良後| |https://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/satou/hosei_tamesi.png|https://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/satou/hoseigo.png|https://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/satou/corrected_image2.png| |https://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/satou/hoseimae.png|https://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/satou/hoseigo_RGB.png|https://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/satou/hoseigo2.png| |補正前|補正後| |CENTER:https://www.str.ce.akita-u.ac.jp/~gotouhan/j2024/sato/1018/2kaime.png|https://www.str.ce.akita-u.ac.jp/~gotouhan/j2024/sato/1018/2kaime_syasin.png| |CENTER:https://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/satou/2kaime_suuti_hoseimae.png|https://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/satou/2kaime_suuti.png| 色補正過程 CENTER:https://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/satou/hoseigo.jpg 2024-10-16 -写真のみで補正して同一データで制度の比較を行う -gimpで同じ大きさで切り取る方法を調べよう 2024-10-15 -今日の目標 レベル3の補正を終わらせる -全画像の補正が終了した -補正後にしっかり補正されていない画像をあとから再補正しよう -画像の切り取り方法を決める -抜き出し方はgimpで一枚ずつやるのが良さそう -色補正が正しくされていない画像をもう一回補正しよう 2024-10-11 -他の写真でも補正することができた。 2024-10-10 -近い値までRGB値を補正できたが、このくらいでいいのか確認したい。 2024-10-07 RGB値を抜き取れそう 明日補正方法を先生に聞きに行く。 **2024-09 [#ffb11335] 夏休み終盤になって焦らないようにコツコツ進めていきたい kaiten_kakutyou.py 90度回転 -データを拡張(4倍に) CENTER:https://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/satou/label_distribution_pro2.png CENTER:https://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/satou/kakutyougo_model_seido.png -評点5以外 CENTER:https://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/satou/2024_0919_pro3data.png CENTER:https://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/satou/label_distribution_pro3.png -評点5以外データ一定 CENTER:https://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/satou/label_distribution_pro4.png CENTER:https://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/satou/2024-09-19_epoch30_pro4.png 2024-09-25 -後藤先生に相談をした -色補正をして精度を高める方向になったので、勉強したい -セロテープ試験の結果 -データの判別方法(評点の見方) -[[ppm:https://www.mm2d.net/main/prog/c/image_io-01.html]] -左上から3個ずつ並んでいる -450(横)✕1,000(たて)=450,000 -450,000✕3=1,350,000 2024-09-23 -過去のデータの整理をした -セロテープ試験の結果を整理したが、データ数が少ない、データの評点がついていないので、どうするかを相談する 2024-09-19 データを拡張して試してみた 精度は少し上がったが、まだ50%ほどだ これから改善すべきは何なのかを検討したい 以下の要素はよくわからなくなってきたので個々にまとめておく 2024-08-23 -実験の準備(マジックシール、さしがねなど) -サンプルデータで評点判別できるかどうか -データ数が何枚必要か(データ拡張の方法を検討) -補正のかけ方(理想のRGB) -機械学習のデータの集め方 ------- ここから下は一旦保留 -読み込んだデータの整理 -CNNのモデルの改良 -データの整理(セロテープ) -データの整理(膜圧測定) -画像変換(opencv PIL) -画像拡張( Data augmentation やflip処理) -耐候性サビデータ 指で外観評点を示してる -セロテープ試験 人間の評価と相関するか [[後で確認:https://www.str.ce.akita-u.ac.jp/kouzou/pdf/so05hup.pdf]] -畳み込みニューラルネットワークについて -データを整理して画像を読み込ませる -読み込ませたデータを元にニューラルネットワークを構成する ***ゼミ報告(09-09) [#r2c61e0b] データの整理(写真)ラベル付 完了 -実行ファイル -jpgに統一 実行ファイル→/Ratings/label/pmm_to_jpg_convert.py -ラベル付け 実行ファイル→/Ratings/label/analysis.py CNNの作成 -実行ファイル(/project_folder/CNN/model_CNN.py) -Accuracy of the model on the test images: 31.03448275862069% CENTER:https://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/satou/240811_CNN.png CENTER:https://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/satou/label_distribution.png CENTER:https://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/satou/240909zemi.png -精度を高くしたい -実験・観察するかも? -完了 -実験方法について --調査方法(マグネットシールの貼り方、番号シートのサイズ、距離とり棒は何がいいか) --[[マグネットシート候補1:https://www.amazon.co.jp/%E3%83%9E%E3%82%B0%E3%82%A8%E3%83%83%E3%82%AF%E3%82%B9-%E3%83%9E%E3%82%B0%E3%83%8D%E3%83%83%E3%83%88%E7%B2%98%E7%9D%80%E4%BB%98%E3%82%B7%E3%83%BC%E3%83%88-%E5%BC%B7%E5%8A%9B-%E3%83%AF%E3%82%A4%E3%83%89-MSWFP-2030/dp/B007TPF1WG/ref=sr_1_5?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=T9QNZSK84X05&dib=eyJ2IjoiMSJ9.pFr0YojhoDE0vvbq896mayQSVXSY7IdP0-1AU8E3X0hlHFGTz4LzJ7ei5HlNJp4H3i32c4-9P_2GLd_SXy2OEEmYPjoP5TducgBWa3K_Xf3g0nT4UqfvmF8ecpwQd5iXERIcUpI72eiVrNWBTYAWHqFBG-7QmcMtv-8_SABIRx8yT-e4Dmw2k8__cIEbqe7aRFWEI6NMFTXuuOiT_gvM-k1vHybU13866XCHXxk-BPR4qshgOHdp87LwEAlNCtvwmk9K70bqcXbmtfSvkVPC1FtXIq1xkIgJpKb9v2jl8cg.WcsUhU0WbDzhemkfA997RQYpKc639nNK_xGHCyBzo8Q&dib_tag=se&keywords=%E3%83%9E%E3%82%B0%E3%83%8D%E3%83%83%E3%83%88%E3%82%B7%E3%83%BC%E3%83%88&qid=1724739090&sprefix=%E3%83%9E%E3%82%B0%E3%83%8D%E3%83%83%E3%83%88%E3%82%B7%E3%83%BC%E3%83%88%2Caps%2C172&sr=8-5&th=1]] --ネオジウムは100均で探してみよう --自撮り棒にする 2024-09-02 -明日実験の準備 -講習会の原稿を作る(memo/発表原稿案) **2024-08 [#v5e3c4b6] 2024-08-28 -機械学習についていろいろ学びたい -[[今日の資料:https://github.com/matsuolab-edu/dl4us/blob/master/lesson1/lesson1_sec1_exercise.ipynb]] 2024-08-23 -実験方法の確認、進捗報告、講習会について -RGBの変換について整理したい 2024-08-20 -103 2024-08-15 -データの整理をした -あとから見直すとよくわからなくなってしまうので、整理して保存していきたい 2024-08-11 -画像をjpgに統一 -ファイルは/hyouten/JPG_label -かんたんなモデルを作成できた -精度はまだまだ低いのでこれから向上させていきたいと思う 2024-08-10 ラベル付けの作業について勉強した 実際にやってみたいと思う 2024-08-09 -自分がなにをすべきなのか見失っている -実際のデータを読み込ませるところに取り組みたい 2024-08-08 -CNNの前まではできた -誤差逆伝播法の実装方法についてはpythonの学習をしてから取り組みたい 2024-08-07 -明日で読み終えて、来週からは実際のデータを扱っていきたい -pythonの本も読む 2024-08-06 -ニューラルネットワークについて 2024-08-04 -一通り本を復習した -曖昧な部分があるのでしっかり詰めたい 2024-08- 02 -あまり進捗なし - CNNの実装方法を理解したい 2024-08-01 -CNNについて勉強した -概念的なものは理解できたが、説明できるかは怪しい -もっと深い理解に繋げたい ***ゼミ報告(5〜7月) [#a3b2a891] 2024-07-31 -保存したモデルの実行ファイル 「hanbetu.py」 -手書き文字判別の方法をもう少し考えたい -具体的には[[このサイト:https://note.com/maako_0810/n/n51943c87e01e]]の方法を真似て識別モデルを作成したいと思う -今後の進め方をまとめる -mnist_hanbetu.py https://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/satou/hanbetu.png -実行ファイル → mnist_hanbetu.py -実際のデータセットの文字はうまく判別することができた -今後の進め方に関してはまずデータをどうするか →今あるデータを使えるのかor新しく取るのか モデルは畳み込みニューラルネットワークを用いて判別したいと思っている -2024/7/24 tensorflowを使って文字識別をしてみる 成果 mnistデータセットを使って判別モデルの作成ができた 今はデータセット内の文字を判別しているので実際の文字を判別できるようにしたい ・2024/7/17 課題 モデルの仕組みを整理する モデルの精度を高める ・2024/7/10 課題 来週までに実際の手書き文字を判別させる 成果 前回にモデルの作成ができ、そのモデルに実際の文字を入れて判別してみたが正確に判別できなかった 下の画像は2を判別しようとした 今のモデルでは画像を1次元に変換して判別しているが、1次元だと限界なのかもしれない 3次元モデル(CNN)でやる必要があると思ったが 改良次第でなんとかなりそう 学習率を改善していく 学習率:一回の学習でどれだけ学習すべきか、どれがけパラメーターを更新するか 判別しようとした画像 CENTER:http://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/satou/0710.png CENTER:http://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/satou/0708houkoku.png 判別精度 CENTER:http://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/satou/0710_2.png ・2024/7/3 課題 どの程度の文字が正しく判別できているかを説明できるようにする 実際の手書き文字を判別させてみたい 成果 実際の手書き文字を判別させようと思ったが、画像をうまく変換できなかったためまだ判別には至っていない 3次元の画像を1次元にしたい ・2024/6/26までの課題 手書き文字判別までのプロセスを確定させる 成果 本を参考にニューラルネットワークを実装することができた 学習することで精度が高くなる過程が確認できた テストデータを用いて認識精度を確認したところ2つの精度に差がないことが分かる ミニバッチのサイズ(取り出す数)を100として、毎回60000個の訓練データからランダムに100個のデータを抜き出している 600回 = 1エポック 認識精度 http://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/satou/ninsikiseido.png epoch → 一つの訓練データのすべてを使い切って1周した時を1とする、訓練データを何回用いたかを表す数 ・2024/6/19までの課題 引き続き本で学習を進める 文字判別の仕組みを理解したい あまり進捗なし 今度耐候性橋梁を見に行きたい ・2024/6/12までの課題 千代岡さんから借りたpythonの本を読み終える 2冊目も読み終えたい 発表内容:pythonについて学習を進めている 特にdeeplearningの基礎について 今現在は[[mnist:https://www.google.com/search?client=ubuntu&hs=mcJ&sca_esv=b0bee4db2a6aaebf&sca_upv=1&channel=fs&q=mnist&uds=ADvngMhfw7_nMrj_23Im4WVqAuwm0PWEqDpENjsj8KX-PXnSlmAROo9qFbB164w_wAMuvDbOnPu26pifSRsGU77tJ8DekIqE3uo2Xz79cGZwkChX3Yo0TafT5w30i52KOFDYBsT66iYzXAJzYqRXIhQElbqbFeAA3Fd1BdJC8fWAB208ZB_40rV6i0MDWZCPv57HDvEXO1AuFg2Hmdl2Q5-MWsrGq6oEUnLo1wJ2OIefx8nUjo4hQIDZbbrx8kCfuEMDY3S7ooR09gWi0mhw4SEz42D2dvNKsCJ44YFrGRbxlxjtesiQq-l-QK5SYighmBuGCJbSnGLHo56ogZwWohcloL6Goz-6Nxkvd8Zquelum7w_mxSIHuA&udm=2&prmd=ivnsmbtz&sa=X&ved=2ahUKEwiMjeqfltWGAxWXrlYBHTrmDPwQtKgLegQICxAB&biw=2144&bih=974&dpr=0.9]](エムニスト)という手書き数字の画像セットのダウンロードができたので、次回までに文字を判別する仕組みについて学びたいと思う mnist:mnistは機械学習の分野で最も有名なデータセットの一つであり、簡単な実験から論文として発表される研究まで様々な場所で利用されている mnistデータセットは、0から9までの数字画像から構成されている 訓練画像が60000枚、テスト画像が10000枚用意されており、それらの画像を使用して学習と推論を行う 一般的なmnistデータセットの使い方では、訓練画像を使って学習を行い、学習したモデルでテスト画像に対してどれだけ正しく分類できるかを計測する mnistの画像 http://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/satou/mnist_gazou.png 何の情報を判別させるか、(明るさ(色スケール)、セロテープ試験、膜厚試験 今度耐候性橋を見に行く ・2024/5/29 までの課題 機械学習環境と構築する **2024-07 [#pcabf93c] 2024-07-31 -mnistデータセットの判別モデルの作成が完了した -実際の手書き文字の判別はまだできていないが、というより画像の変換方法に問題があるように思う -過去の耐候性鋼材のデータをもらったので、データの整理とCNNの学習をしたい 2024-07-25 -手書き文字のモデルを作成したが、あまり精度良く判別できていない -読み込んだ文字が粗いというのはあるだろうが、数値を見てもまだ不完全だと思う -CNNのモデルを作成してみたがあまり理解できていない -今日使ったファイル:mnist_CNN.py 2024-07-24 [[参考記事:https://qiita.com/kazuboy/items/0a60e42c70c08f33c1d3]]をもとに判別モデルを実装できた 実行ファイル:mnist_loadmodel.py 2024-07-22 引き続き手書き文字のモデルを改良したい 2024-07-21 デスクトップパソコンに機械学習環境を導入した(anaconda3 vscode opencv) 以下のサイトのコードを試したがうまく識別できなかった サイト2をうまく活用して次はやってみたい -[[サイト1:https://qiita.com/amasso0327/items/cf04fb8ca9f163fef136]] -[[サイト2:https://note.com/maako_0810/n/n51943c87e01e]] 2024-07-18 全然更新できていなかった。毎日コツコツ積み重ねていきたい 2024-07-06 実装したいコードを考えたので試してみたい 2024-07-03 pythonについて学びたい **2024-06 [#s4f63ac2] 2024-06-28 /ch04/zisaku/two_layer_net_kairyou.py 実際の手書き文字を読み込ませられたが、うまく判別できなかった その原因としてはピクセル値がうまく変換できていないことが考えられる 次回はその原因を解決したい 2024-06-26 パソコンをお願いした 買っていただけるみたい ありがとうございます 機械学習とは重みとバイアスを最適なものに導く作業のこと 2024-06-25 機械学習の概要をなんとなく理解できた 2024-06-24 今日も本を呼んだ 明日コードを実装してみたい 2024-06-23 人通り読み終えられた 理解を深めたい 2024-06-22 [[anacondaとtensorflowの違い:https://miyabi-lab.space/blog/19]] 進捗なし 2024-06-13 忘れている箇所が多かったので復習した 2024-06-12 ゼミがあった 引き続き進める 2024-06-11 mnist(エムニスト)データセットのダウンロード方法がわからない githubをダウンロードするといいのかも? githubのダウンロード方法 codeからdownload zip zipファイルの解凍 圧縮 zip -r xxxx.zip directory 解凍 unzip xxxx.zip ※unarコマンドを@Hayakuchi0さんから教えてもらいました。 Windows上で日本語ファイル名のファイルをzipで圧縮して、Linux上でunzipにより解凍すると文字化けすることがありますが、unarで解凍すると文字化けしないようです。 unar xxxx.zip 私が確認した環境CentOS7にはunarはインストールされていなかったので、 インストールして試しました。 unarはzip以外も解凍できるようです。 [[このページを読み込みたい:https://github.com/oreilly-japan/deep-learning-from-scratch/tree/master]] cd anaconda3 cd deep-learning-from-scratch-master cd ch03 2024-06-10 進捗(120/273) 2024-06-09 進捗 (96/273) 2024-06-08 進捗(53/273) 2024-06-07 anaconda3からnumpyを開くことができた。 2024-06-06 明日やること : [[Numpyのダウンロード:https://numpy.org/ja/install/]] ・2024-06-04.05 進捗なし ・2024-06-03 引き続き本を読み進めたい ・2024-06-02 一冊目を読み終えたが、まだ理解しきれてない箇所が多い ・2024-06-01 第10章まで読み終えた **2024-05 [#k8d07fc9] ・2024-05-31 第8章まで読み終えた ・2024-05-30 pythonの本を使って学習を進めた また、デスクトップのセットアップもしてもらった 引き続き、pythonの勉強を進めたい ・2024-05-29 ゼミがあった。次回のゼミまでに本を読み終えたい ・2024-05-28 (火) 13:16:24 condaコマンドを認識させることができた Python 3.11.7 (main, Dec 15 2023, 18:12:31) [GCC 11.2.0] on linux Type "help", "copyright", "credits" or "license" for more information. 文字の並べ替えプログラム /pyworks/words_sort.py 画像保存名:words.sort.png ・2024-05-27 condaコマンドが認識されない もう一度やり直さないといけないかも ・2024-05-26 pythonの本を読んだ ・2024-05-25 進捗なし ・2024-05-24 進捗なし ・2024-05-23 pythonの本を読んだ pythonの仕組みについてなんとなく理解が深まった ・2024-05-22 anacondaをインストールできたと思う tensorflowなどのライブラリのインストールは後日にしようと思う anacondaをインストールしたことでpython3.8を起動できている ※anacondaは無償区分と有償区分があるらしい([[参考記事:https://qiita.com/tfukumori/items/f8fc2c53077b234384fc]]) [[無償で使える条件:https://xinformation.hatenadiary.com/entry/2022/06/28/005425]]として 個人かつ非商用目的による使用 教育機関における学生または教員の使用 とあるので大丈夫だと思う vs code(テキストエディタ:pythonのコードを一つにまとめるためのもの)のダウンロードもできた vs codeの開き方:ターミナルでcodeと入力 じゃんけんプログラム http://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/satou/janken_2024_05_24.png ・2024-05-21 機械学習を行うための環境をつくるためのプロセスを整理した 1.機械学習を行うためにはPythonが実行できるための開発環境が必要 そのためにanacondaをインストールする anacondaをインストールすることで複数の仮想環境を作成して切り替えて使える 2.仮想環境の作成を行い、[[必要なライブラリ:https://cad-kenkyujo.com/python-library-install/#:~:text=Python%E3%81%AE%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%81%A8%E3%81%AF,%E3%81%A6%E9%96%8B%E7%99%BA%E3%81%AB%E5%8F%96%E3%82%8A%E7%B5%84%E3%82%81%E3%81%BE%E3%81%99%E3%80%82]]をインストールする Numpy:数値計算 Pandas:データ操作と分析 Matplotlib/Seaborn:データ可視化 Scikit-learn:ディープラーニング TensorFlow/Keras:ディープラーニング PyTorch:ディープラーニング ・2024-05-20 進捗なし ・2024-05-19 前提知識がなくて理解が進まない とりあえず、tenslorflowをダウンロードしてみたいと思う。 ubuntuの場合直接ダウンロードできる と思う ・2024-05-18 機械学習の環境構築するための手順 1.パソコンを準備(Linux ubuntu20.04) 2.言語を決める(python) 3.言語をインストールする(python2.7がインストール済み) 4.環境構築ツールを導入する anacondaが最適かも tensorflowを使用するためにはハードウェアの性能の高さが求められる? [[tensorflowとは:https://udemy.benesse.co.jp/data-science/ai/tensorflow.html]]機械学習に用いるためのソフトウェア[[ライブラリ:https://trends.codecamp.jp/blogs/media/terminology182]] ・2024/05/17 機械学習について調べてみた 教師あり学習 数値を予測する回帰 カテゴリを予測する分類 ・2024/05/16 機械学習の環境構築についてもう少し調べたい ubuntuでの環境構築方法について ・2024/05/15 使用しているパソコン [[Ubuntu:https://techmania.jp/blog/linux0002/]]20.04 フリーの機械学習ツールに何があるか ex.tensorfolw パソコン上に機械学習ができる仮想環境を整理する必要がある ---- 3年次 エラーコード [#dd0f431c] 時間が足りないとき !<S> Exception user raised but not interceptee. ! ! The bases are fermees. ! ! Type of the exception: ArretCPUError ! ! [('?', (), (), ())] ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 春課題 弾塑性 [#td1a199a] -[[鋼材の降伏点について :http://www.iri.pref.niigata.jp/topics/R2/2kin6.html]] -[[Salome-Meca演習_弾塑性解析(2021) :https://www.str.ce.akita-u.ac.jp/cgi-bin/pukiwiki/?Salome-Meca%E6%BC%94%E7%BF%92_%E5%BC%BE%E5%A1%91%E6%80%A7%E8%A7%A3%E6%9E%90%282021%29]](Salome-Mecaでの設定は基本このページと同じように行った。) 創造工房第7回(12/8) [#w0f71c42] サンドイッチ梁:単純梁(木材+鋼材)の解析 [#v5b1d60b] ,メッシュの長さ,要素数,変位(mm),相対誤差(%),計算者 ,0.7,155192,0.08378905246,15.365,安藤 ,0.8,138808,0.08380386491,15.350,安藤 ,0.9,82587,0.083707073981,15.45,兼田 ,1.1,38671,0.084201207602,14.95,兼田 ,1.2,31929,0.083688,15.466,柴田 ,1.3,28621,0.083669,15.4857,柴田 ,1.4,28854,0.08368,15.47,佐藤 ,1.5,20015,0.084052,15.10,佐藤 ,1.6,19448,0.0835402938,15.62,皆川 ,1.7,13801,0.0834355098,15.72,皆川 ,1.8,12528,0.083733,15.42,永山 ,1.9,11769,0.083924,15.23,永山 ,2,10699,0.084076876559,15.074,辻 ,3,3579,0.08414561753,15.004,辻 ,4,1628,0.082794,16.37,服部 ,5,1016,0.083033,18.89,服部 ,6,839,-0.082882,16.26,梶原 ,7,554,-0.080871,18.28,梶原 ,8,285,0.079995,19.20,工藤 ,9,261,0.078980,20.22,工藤 ,10,232,0.081911,17.26,佐々木 ,11,208,0.075676,23.56,佐々木 CENTER:http://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/satou/sand_kekka_1215.png 創造工房第6回(11/29) [#x7bfb3cd] 単純梁(異方性1次・等方性2次)の解析 [#u789f929] CENTER:異方性1次 ,メッシュ長さ,要素数,変位,相対誤差,計算者 ,0.7,144563,0.505252,2.76,安藤 ,0.8,141517,0.504692,2.64,安藤 ,0.9,91648,0.502595,2.216,兼田 ,1.1,27160,0.489914,0.363,兼田 ,1.2,24675,0.487088,0.791,柴田 ,1.3,23446,0.4868010,0.995,柴田 ,1.4,17738,0.485999,1.16,佐藤 ,1.5,15438,0.485180,1.33,佐藤 ,1.6,15900,0.483286,1.71,皆川 ,1.7,12142,0.477952,2.80,皆川 ,1.8,11604,0.482085,1.9554,永山 ,1.9,10391,0.470887,4.2329,永山 ,2,10291,0.480910,2.19,辻 ,3,2328,0.431937,12.15,辻 ,4,1500,0.430156,12.52,服部 ,5,432,0.282968,42.45,服部 ,6,356,0.3441556,30.00,梶原 ,7,196,0.213934,56.49,梶原 ,8,104,0.229874,53.25,工藤 ,9,81,0.232308,52.75,工藤 ,10,78,0.203271,58.65,佐々木 ,11,63,0.222316,54.78,佐々木 CENTER:http://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/satou/ihousei1zi_kekka_1208.png CENTER:等方性2次データ ,メッシュ長さ,要素数,変位,相対誤差,計算者 ,0.7,144563,0.430124,3.22,安藤 ,0.8,141517,0.430132,3.22,安藤 ,0.9,91648,0.430020,3.197,兼田 ,1.1,27160,0.429828,3.151,兼田 ,1.2,24675,0.429836,3.15,柴田 ,1.3,23446,0.42974,3.13,柴田 ,1.4,17738,0.429797,1.3,佐藤 ,1.5,15438,0.429958,3.14,佐藤 ,1.6,15900,0.429755,3.18,皆川 ,1.7,12142,0.429676,3.11,皆川 ,1.8,11604,0.429829,3.1507,永山 ,1.9,10391,0.429684,3.1159,永山 ,2,10291,0.429620,3.10,辻 ,3,2328,0.429169,2.99,辻 ,4,1500,0.429254,3.01,服部 ,5,432,0.428170,2.75,服部 ,6,356,0.428452,2.82,梶原 ,7,196,0.42591,2.21,梶原 ,8,104,0.426074,2.25,工藤 ,9,81,0.425552,2.12,工藤 ,10,78,0.488382,17.20,佐々木 ,11,63,0.423972,9.0534,佐々木 CENTER:http://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/satou/touhousei2zi_kekka_1208.png 11/24(金)創造工房5回目 [#e5d84b63] 単純梁(等方性1次)の解析 [#tb5d98da] ,メッシュ長さ,要素数,変位,相対誤差,計算者 ,0.7,1455234,0.422484,0.01388,安藤 ,0.8,142973,0.422570,0.01409,安藤 ,0.9,91648,-0.420437,0.897,兼田 ,1.1,27160,-0.405618,2.659,兼田 ,1.2,24675,0.404349,2.96,柴田 ,1.3,23446,0.404185,3.00,柴田 ,1.4,17738,0.398604,4.34,佐藤 ,1.5,15438,0.396593,4.83,佐藤 ,1.6,16122,0.398212,4.44,皆川 ,1.7,12026,0.393411,5.59,皆川 ,1.8,11604,0.393668,5.53,永山 ,1.9,10391,0.390695,6.24,永山 ,2,10921,-0.395103,5.18,辻 ,3,2328,-0.324762,22.06,辻 ,4,1500,-0.155013,62.80,服部 ,5,432,-0.065278,84.33,服部 ,6,357,0.213062,48.87,梶原 ,7,196,0.1019,75.55,梶原 ,8,104,0.1158624,72.20,工藤 ,9,81,0.1255118,69.88,工藤 ,10,78,-0.07733,81.44,佐々木 ,11,63,-0.1999,52.03,佐々木 http:http://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/satou/kadai5.png 11/17(金)創造工房4回目 [#y86d3d92] 片持ち梁の解析(サロメ) [#ydde7141] ,メッシュ長さ,要素数,先端変位(4隅の平均値)[mm],相対誤差($\frac{salome-手計算}{手計算}$),計算者 ,0.7,198464,6.54281,1.91,安藤 ,0.8,113812,6.5104,2.39,安藤 ,0.9,40280,6.3631525,4.60,兼田 ,1.1,30055,6.3363525,5.00,兼田 ,1.2,26467,6.3043375,5.48,柴田 ,1.3,25180,6.304355,5.48,柴田 ,1.4,32212,6.31612,5.31,佐藤 ,1.5,17753,6.1209,8.23,佐藤 ,1.6,14296,6.2044625,6.98,皆川 ,1.7,13596,6.2156625,6.81,皆川 ,1.8,2866,5.737755,13.98,永山 ,1.9,6001,5.7263625,14.15,永山 ,2,5617,5.6458525,15.355,辻 ,3,2309,5.4728755,17.948,辻 ,4,617,3.6160575,0.458,服部 ,5,494,3.8580375,0.422,服部 ,6,581,2.50682,62.416,梶原 ,7,133,1.41225,78.827,梶原 ,8,78,1.2887175,80.68,工藤 ,9,72,1.2879925,80.69,工藤 ,10,60,1.14344,82.85,佐々木 ,11,65,1.23124,81.154,佐々木 http://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/satou/katamoti4.png 11/10 (金) 創造工房3回目 [#pc409efa] http://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/satou/b.png 10/27(金) 創造工房実習2回目 [#r022fb54] コマンド [#nbf6e469] ls :今いる場所 cd :ファイルを開く pwd :今いる場所 gedit (ファイル名) :テキストファイルを開く cp (ファイル名) :コピー vi (ファイル名) :テキスト上で表示 Esc : q テキストを閉じる (w 保存 q 出る) cat :確認 rm (ファイル名) :削除 cd .. :一つ前に戻る cd /(住所) :住所にいく 10/20(金)創造工房1回目 [#ae52abcf] あああああ 表サンプル [#ebafbcdf] ,メッシュの長さ,要素数,変位[mm],相対誤差(salome−手計算/手計算),計算者 ,0.7,,,,安藤 ,0.8,,,,安藤 ,0.9,,,,兼田 ,1.1,,,,兼田 ,1.2,,,.,柴田 ,1.3,,,,柴田 ,1.4,,,,佐藤 ,1.5,,,,佐藤 ,1.6,,,,皆川 ,1.7,,,,皆川 ,1.8,,,,永山 ,1.9,,,,永山 ,2,,,,辻 ,3,,,,辻 ,4,,,,服部 ,5,,,,服部 ,6,,,,梶原 ,7,,,,梶原 ,8,,,.,工藤 ,9,,,,工藤 ,10,,,,佐々木 ,11,,,,佐々木 ・[[Ubuntuについて:https://techmania.jp/blog/linux0002/]] ・[[CPUについて:https://www.sejuku.net/blog/58189]] 環境構築 ITにおける「環境」とは、導入されるシステムやソフトウェアから見た、そのコンピュータ全体のこと 環境構築とは、作業に適した環境を整えること 実行環境と開発環境がある 実行環境 実行環境とは、プログラムやソフトウェアが稼働するために必要なものが揃っている環境のこと プログラムやソフトウェアを動かすためには、条件を整える必要がある。 回線や機材といったハードウェアや、そのプログラミムが動作するためのコンピューター内のソフトウェアです。 「実行環境構築」とは、あるプログラムやソフトウェアを動かすための環境を整えることを指す 開発環境 システムを開発するために必要な環境のことを指す。また、インターネットが必要であれば準備をする 必要なソフトウェアがあればインストールするなど、開発に必要な条件を整えることを「開発環境構築」という 「開発環境」で開発されたシステムは「テスト環境」にて正しく動作するか検証され、ここで問題がなければ「本番環境」と呼ばれる環境で実際に使われることになる。 ローカル環境 個人のコンピュータ内に構築された環境のこと 仮想マシンとは、ローカル環境の中に、ある特定の環境を模して構築されたソフトウェアのこと 個人のコンピュータの中に、擬似サーバーを用意するというイメージ UNIXコマンド https://www.str.ce.akita-u.ac.jp/~gotou/linux/vine.html#unix -python用語 [#lf72b460] vs codeの開き方:ターミナルでcodeと入力 pythonの開き方:ターミナルでpython(バージョン)と入力 pythonの閉じ方:ctrl + D anacondaのライブラリなどを開く方法:cd anaconda3 → python ※「,」は表中に入れてしまうと、列が増えてしまうため「,(大文字)」or「、」のどちらかで入力している ,用語,意味,使い方例(入力),出力結果 ,len,長さを測る,len('python'),6 ,str,引数を文字列に変換する,'python'+ str(version),'python3.6' ,print,データの内容を表示する,print('python', 3.6),python 3.6 ,print,sepをつけた場合,print('python',sep='---',python---3 ,range,範囲、並び,number_list10 = range(10) -> number_list_10,range(0、10) ,address,変数に名前をつける(文字列データ),address = 'Tokyo、Japan',特になし ,split,分ける,address.split(','),['Tokyo','Japan'] ,split,例,address.aplit('o'),['T'、'ky'、'Japan'、] ,upper,文字を大文字に変換する文字列のメソッド,address.upper(),'TOKYO'、'JAPAN' ,index,引数で指定した文字が最初に出てくるのが何文字目か,address.index('、'),5(indecは最初の文字を0として数える) ,import,インポートする,import datetime, リスト(list) 空っぽのリストを作る ー> new_list = [] ,list,組み込み関数,list(range(1、11)「一から始まって11の手前まで」という意味になる,[1、2、3、4、5、6、7、8、9、10] ,list_A,リストを作る,list_int = [0、1、2、3] -> print(list_int),[0、1、2、3] ,list_A[x] = [1],xを1に変える,list_int[0] = 1,特になし ,list_A.append(1),一番うしろに1という要素を追加,list_int.append(1),特になし ,list_A.insert(x、y),xの要素の前にyを追加,list_int.insert(1、5),特になし ,list_A.pop(x),x番目の要素を戻すと同時に削除,list_int.pop(1)], ,list_A.remove('X'),指定の要素をそのまま削除,list_mix.remove('test'), ,list_A + list_mix,リストの連結,list_int + list_mix, ,list_A.extend(list_B),リストの拡張,list_int.extend(list_mix), リスト並べ替え「list_A.メソッド」 ,メソッド,意味,備考 ,sort,小さい順 昇順,文字はアルファベット順、大文字ー>小文字の順 ,reverse,データの順番を逆さまにする, タプル(要素の追加や削除ができないリスト) ,tuple_test = (1、2、3、'100yen') セット(単純なデータの集まり リストやタプルのように順番もなければ辞書のような値を呼び出すキーもない 箱の中におもちゃが入っているイメージ) 特徴は同じものを2つ入れられない ,test_set = set(),setを作成 ,test_set.add(1),要素を追加 ,test_set.remove(3),要素を削除 辞書型 ,変数 = {key:value},意味 ,country_code = {1:'America'、39:'Italia、86:'China'},組み合わせを作成 ,country_code[81] = 'Japan',81とJapanという組み合わせを追加 datetime型 [#wb96f17d] ,データ型,説明 ,date,ある1日の(年月日)を表現する ,time,ある時刻(時分秒)を表現する ,datetime,ある日のある時刻(年月日時分秒)を表現する ,timedelta,2つの時点の差を表現する ,tzinfo,世界中の時間を扱うためのどこのタイムゾーンであるかの情報を保持する -機械学習 [#i09bff68] -mnist [#c99be656] ・[[mnistデータファイルについて:https://qiita.com/ttabata/items/fecf02a5e1af4e1d9b69]] ・[[mnistデータの詳細について:https://atmarkit.itmedia.co.jp/ait/articles/2005/21/news017.html]] mnistとは人が手で書いた0から9までの数字を大量に集めた画像データ集 学習者はこれらのデータを教師データとして取り込みモデルを学習させ、そのモデルをテストすることで学習がどのように実行されるかを学ぶ。 ・データとラベルの違い データ→手書きで書かれた数字を画像にした画像データ ラベル→その画像に書かれた数字を表すものをラベルという load_mnist関数「(訓練画像,訓練ラベル),(テスト画像,テストラベル)」 ・重みとバイアスを訓練データに適応するように調整することを「学習」という ・[[ミニバッチ学習について:https://fastlabel.ai/blog/mini-batch]] ミニバッチ学習を実施する上で重要となるのが、バッチサイズ バッチサイズは、データをグループに分けた際の数がどれくらいになるのかをあらわしたもので、バッチサイズが小さいほど処理負担は小さく、大きいほど負荷が大きくなり、なおかつデータ1つ1つの個性も失われてしまう傾向にある 基本的にバッチサイズは小さいサイズから始めるのが効果的である。バッチサイズが小さいと学習にかかる時間を短くできるだけでなく、データの個性を尊重しながら学習を進められる バッチサイズが小さい場合はノイズの影響を受けやすくなるため、対策が必要→そこで役立つのが学習率 小さいバッチサイズで学習率を大きく設定することでノイズの影響を受けにくくできます。 ・[[opencv:https://www.klv.co.jp/corner/python-opencv-what-is-opencv.html]]をインストールする pip install opencv-python -GPU [#u33690f9] ・[[ディープラーニングで必要なスペック:https://qiita.com/yuki_2020/items/c233d903fe41d98bfff3]] -手書き文字を変換 [#a5107024] cv2とは画像を扱うためのpythonライブラリ内に存在するモジュールのこと kerasはニューラルネットワークのライブラリ「読みやすく簡潔なアーキテクチャで迅速に実装が可能であること」「機械向けではなく人間向けに設計冴えたユーザーフレンドリーなライブラリ」であることを重視して設計されている STEP(機械学習) -[[CNN:https://aismiley.co.jp/ai_news/cnn/]](畳み込みニューラルネットワーク) -ResNet -Inception -DenseNet -EfficientNet -Vision Transformer -YOLO -U-Net など -機械学習の基礎を固める --教師あり学習の概念 --分類問題の理解 --モデル評価指標 --ディープラーニング技術 ---ニューラルネットワークの基本構造 ---畳み込みネットワーク(CNN)の仕組み ---データ拡張方法 STEP(判別データ) -耐候性鋼材のデータセットを準備する 多様な状態の耐候性鋼材の画像を大量に収集 →実際に撮る以外の方法はあるのか、過去に撮った画像や既存のデータセットなど --さびの状態を分類ごとに分ける 評点ごとにわける(先生の意見を元に) -データの処理 --画像サイズの統一 pythonのPILやOpenCVなどのライブラリを使用して画像をnumpy配列として読み込む 全ての画像を同じサイズにリサイズ→→→アスペクト比を維持するか、中心部分を切り取るか --色調補正 RBGの調整 サビの色や質感をより効果的に捉えられる色空間を選択する --ノイズ除去 --データの拡張 十分なデータ数がない場合、データを回転させたり反転させてデータを増やす -データの分析 データの割合は以下の割合となるようにしたい ,データ,割合 ,トレーニングセット,60〜70% ,検証セット,15〜20% ,テストセット,15〜20% -画像の前処理が必要な理由 異なる条件で撮影された画像を標準化 モデルの学習と推論時の入力を統一 参考情報 [#d409f6cf] -画像処理を用いた耐候性鋼材の腐食状況の定量化に関する検討 ニューラルネットワークによる外観評価の定量化 さびの外観評点は、さび粒子の大きさ、量、ばらつき、さび粒子の色調、さび粒子の凹凸などから総合的に判定される。そこで、複数のパラメータ間の非線形関係を構築できるニューラルネットワークにより、これらのパラメータと外観評点の関連付け セロテープ試験とニューラルネットワークを併用すれば、比較的正確なさび腐食状況の定量化が可能になることが確認できた。しかし、セロテープ試験は現地での作業性を考えると接写撮影に比べて劣る。そのため、筆者写真を画像処理することで、簡易かつ高精度なさびの腐食状況の定量化の検討を行っていく -畳み込みニューラルネットワークを用いた腐食環境が異なる鋼材腐植土劣化度判定の試み 得られた画像を試験たいの腐食による質量増加量と紐づける 現状では橋梁毎に経時的な腐食画像を取得し、CNN分類機を作成して健全度判定を行うといったことが望ましいと考えられる 鋼材腐食部の画像処理に基づく劣化度判定の現状 -畳み込みニューラルネットワークを用いた耐候性鋼材腐食部劣化度判定の試み 鋼材の画像に基づく劣化損傷度の正確な診断を目指す場合、鋼材の腐食劣化の程度と外観の関係、言い換えれば、腐食環境に大きく依存する腐食の健全度と外観の関係が紐づけられた教師データに基づく機械学習を行う必要があるが、これら紐づけられたデータは依然として少ないなど課題が残されている *環境整備 [#ua3a65e4] **実行環境 [#ibbd91b1] gpu GeForce RTX 4060 Python 3.11.9 tensorflow 2.17.0 **anaconda [#k822d007] ***インストール [#i70c8093] [[参考サイト:https://qiita.com/lighlighlighlighlight/items/8f624751df808d89d48c]] [#p932fad1] -[[anacondaのサイト:https://www.anaconda.com/download#downloads]]からlinux用のものをインストールする -インストール後にcondaコマンドを認識させるために以下のコードを実行 $ export PATH=/kouzou/anaconda3/bin:$PATH -その後condaコマンドを実行→うまく行かない場合はターミナルを再起動 ***コマンド [#h7f747e9] -conda create-n [仮想環境名] python=[pythonバージョン名] -[[参考サイト:https://qiita.com/flcn-x/items/2a1c4095d7febe864db8]] **vscode [#s3d1f548] ***インストール [#j582fa78] [[参考サイト:https://qiita.com/yoshiyasu1111/items/e21a77ed68b52cb5f7c8]] [#zc4f5880] -私は3番でインストールした -最後にcodeで開けるか確認 ***日本語にする [#sb3987c5] [[参考サイト:https://www.javadrive.jp/vscode/install/index4.html]] -viewからコマンドパレットを選択→検索欄でdisplayと検索→configure display languageを選択→日本語を選択 -インストールしたら再起動する **tensorflow [#o9cbbf79] -最新のpythonのバージョンに対応していない場合があることがあるので、tensorflowが対応しているpythonのバージョンを確認すること ***tensorflowとは [#pa7c28da] googleが開発した、機械学習のソフトウェアライブラリ ライブラリとはプログラムを組む際によく利用するコードなど、必要な部品をまとめたファイルのこと tensorflowの1番の特徴は、ニューラルネットワークの構築、訓練ができるシステムの要求に答えられる点 ニューラルネットワークとは、私達人間の脳内にある神経細胞(ニューロン)の繋がりを数式的なモデルで表現したもの このニューラルネットワークを使用することで、機会が人間と同じように論理的思考や学習を行うことができる ***tensorflowの特徴 [#r9d71a42] -データの読み込み、前処理、計算、状態、出力といった処理に対してテンソルを扱っている点 -データフローグラフを構築して処理することを想定して作られている点 ***インストール [#f7006a92] [[参考サイト:https://and-engineer.com/articles/Y52w-BIAACUAW8B5]] [#c07794bc] pip install --upgrade pip pip install tensorflow install後の確認は以下のコマンドを実行 imoprt tensorflow as tf print(tf.__version__) **TensorRT [#b3c90649] tensorRTがやっていることは推論エンジンの生成と推論実行 ***インストール [#m2419af2] [[参考サイト:https://akiya-research-institute.github.io/MocapForAll-Manual/ja/how-to-install/install-tensorrt/]] [[参考サイト2:https://qiita.com/gengen16k/items/88cf3c18a40a94205fab]] [[参考サイト:https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=24.04&target_type=deb_local]] **python ライブラリ [#h409d2d8] ***opencv [#eb0119f4] -インストール ([[参考サイト:https://trends.codecamp.jp/blogs/media/column38]]) pip install opencv-python *tips [#o7ce3ecf] **image magic [#kaa75a92] **[[ファイル解凍コマンド:https://qiita.com/supersaiakujin/items/c6b54e9add21d375161f]] [#c003a860] unzip ~~~.zip **pythonバージョン確認 [#c12db521] python -V or python --version or python3 --version [[パーミッションを変更する:https://qiita.com/shisama/items/5f4c4fa768642aad9e06]] -rw-rw-r **wikiに画像が貼れないとき [#p7e9b8c9] -[[パーミッションを変更する:https://qiita.com/shisama/items/5f4c4fa768642aad9e06]] ls -l で画像を確認 -rw-rw-r 変なスペースが入っていないか→入っている場合 '.png 'となっている gFTPのパーミッションを変更する サーバーにアクセスして直接変更する **テキストエディタ [#hf09054d] -ターミナルから gedit -で日本語入力できるようになる **gimp [#qdda9d9e] ***imagemagic [#b0cb2293] **モデル [#m2a6098b] ***[[grad-camについて:https://zenn.dev/iq108uni/articles/7269a1b72f42be]] [#q5112c18] -CNNベースの画像認識モデルに対してある入力とその予測に対して局所的な説明を与える手法です。 -ある入力画像に対して画像のどの部分が予測に最も影響を与えたかをヒートマップとして出力することで個々の予測に対する視覚的説明を得る *latex [#b37b562d] **画像を横並びにする [#c8e6d8ae] \begin{figure}[H] \begin{center} \begin{minipage}[h]{3.4cm} \begin{center} \includegraphics[width=10mm]{zu1.png} %png画像も読み込める \caption{画像例1} \label{rei1} \end{center} \end{minipage} \begin{minipage}[h]{3.4cm} \begin{center} \includegraphics[width=10mm]{zu1.png} %png画像も読み込める \caption{画像例1} \label{rei1} \end{center} \end{minipage} \end{center} \end{figure} **表を横並びにする [#z149533b] \begin{table}[htbp] \begin{minipage}[c]{0.5\hsize} \centering \begin{tabular}{cc} hoge & fuga \\ gee & boo \\ foo & bar \\ \hline \end{tabular} \caption{hoge} \label{tb:table1} \end{minipage} \begin{minipage}[c]{0.5\hsize} \centering \begin{tabular}{cc} sin & cos \\ \hline\hline love & hate \\ holy & meteo \\ \hline \end{tabular} \caption{fuga} \label{tb:table2} \end{minipage} \end{table} \begin{figure} [H] \begin{center} \begin{minipage}[h]{3.4cm} \begin{center} \includegraphics[width=30mm]{kakutyoumae.png} %png画像も読み込める \caption{データの分布} \label{bunpu} \end{center} \end{minipage} \begin{minipage}[h]{3.4cm} \begin{center} \includegraphics[width=30mm]{label_distribution_pro2.png} %png画像も読み込める \caption{データ拡張後} \label{kakutyou} \end{center} \end{minipage} \end{center} \end{figure} *RGB [#of1ec293] https://www.str.ce.akita-u.ac.jp/~gotouhan/j2024/sato/1023/RGB.png https://www.str.ce.akita-u.ac.jp/~gotouhan/j2024/sato/1023/3.png *色補正について [#z584bfbc] -[[色見本を用いた画像の色調補正技術:https://aicam.jp/tech/color_correction]] *色補正手順 [#m29c6bc6] -jpg_to_ppm.pyを使って画像をppm画像に -RGB_yomitori.pyを使ってもとのRGB値を読み取る(読み取る画像を設定) -kairyou_henkan.pyを使って新しいhenkanmを作成(結果のhenkanを変えることを忘れない) -ppmhosei.pyを使って補正後の画像を作成(補正後の写真の名前を変更する) -henkanmを変える、読み取る画像を設定する、出力するファイルを設定する *画像の抜き出し [#ufc23ad9] gimp 切り取りのアイコン → 縦横比固定 1:1 *[[unixコマンド:https://www.str.ce.akita-u.ac.jp/cgi-bin/pukiwiki/?unix%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89]] [#f18784a9] **特定の名前を持ったファイルを移動させる [#u1f309da] find . -type f -name "特定の名前*" -exec mv {} ../motogazou/移動先/ \; **aの中身のファイルをbの中にファイルとしてコピーする [#r452dc11] rsync -auv ./a/* ./b/ **画像サイズ変換 [#rf125555] convert -geometry "50%" 元のファイル名 変えたいファイル名 convert 元のファイル名 -resize 800x600 変えたいファイル名 -ppmからpngに変換できる **gnuplot [#v9be3097] -viの中身 x yの順番 -保存方法 set term png set output 'ファイル名.png' plot "保存したい元ファイル" *pukiwiki [#u40a06a3] -[[コマンド:https://phys.sci.hokudai.ac.jp/~sekika/wiki/?FormatRule]] -[[k:https://www.notion.so/kyoyuu-150ef75c06248012b481cbce3b320880?pvs=4]] -[[s:https://www.notion.so/CNN-150e5583acf780da8ed4d122c070fd83?pvs=4]]