set term png set output 'ファイル名.png' plot "保存したい元ファイル"
CNNモデルについて調べる
優先度低
耐候性鋼橋の耐候性鋼材の錆の現地調査(日本鉄鋼連盟、土木研究センター、東北の大学や高専の土木構造系研究室の共同研究) と何らかの定量化手法との比較を(人間の現場での評価を教師として)AIに機械学習させてみる。
(現場で簡単なのはデジカメ、セロテープはややめんどう、膜圧はもっとめんどう)
現場デジカメ撮影の画像データ(伊藤さんの卒論2004:概要pdf,スライドpdf)
セロテープ試験の2値化データ(藤原さんの卒論2005:概要pdf,スライドpdf)
膜厚計の錆厚データ(橘さん2006:概要pdf,スライドpdf)
・畳み込みニューラルネットワークを用いた腐食環境が異なる鋼材腐食部劣化度判定の試み (普通鋼材)
・画像処理とパターン認識手法を利用した耐候性鋼材のさび外観評価
・土木工学分野における人工知能技術活用のために解決すべき課題と進めるべき研究開発
・畳み込みニューラルネットワークを用いた耐候性鋼材腐食部劣化度判定の試み
日時置換文字
&date;、 &time;、 &now;は、記事が書き込まれるときに置換されて記録されます。 &date;、 &time;、 &now;は、他のインライン要素の子要素になることができます。 &date;、 &time;、 &now;は、他のインライン要素を子要素にはできません。
行中で &_date; と書くと、表示時の日付に置換されて出力されます。 行中で &_time; と書くと、表示時の時刻に置換されて出力されます。 行中で &_now; と書くと、表示時の日時に置換されて出力されます。
行中で &date; と書くと、更新時の日付に置換されます 行中で &time; と書くと、更新時の時刻に置換されます 行中で &now; と書くと、更新時の日時に置換されます
2024-10-30
ゼミ目標
2024-10-25 今日の目標 画像切り抜きを完了させる
2024-10-23
2024-10-22 今日の目標
gimpで効率的に画像を抜き出す方法を模索する
2024-10-21 今日の目標1
変換マトリクスを作成する
今日の目標2 画像を抜き取る
2024-10-18 今日の目標 切り取り方法を決める
色補正過程
2024-10-16
2024-10-15
2024-10-11
2024-10-10
2024-10-07 RGB値を抜き取れそう 明日補正方法を先生に聞きに行く。
夏休み終盤になって焦らないようにコツコツ進めていきたい
kaiten_kakutyou.py 90度回転
2024-09-25
2024-09-23
2024-09-19 データを拡張して試してみた 精度は少し上がったが、まだ50%ほどだ これから改善すべきは何なのかを検討したい
以下の要素はよくわからなくなってきたので個々にまとめておく
2024-08-23
ここから下は一旦保留
データの整理(写真)ラベル付 完了
CNNの作成
2024-09-02
2024-08-28
2024-08-23
2024-08-20
2024-08-15
2024-08-11
2024-08-10
ラベル付けの作業について勉強した 実際にやってみたいと思う
2024-08-09
2024-08-08
2024-08-07
2024-08-06
2024-08-04
2024-08- 02
2024-08-01
2024-07-31
→今あるデータを使えるのかor新しく取るのか
モデルは畳み込みニューラルネットワークを用いて判別したいと思っている
tensorflowを使って文字識別をしてみる
成果
mnistデータセットを使って判別モデルの作成ができた 今はデータセット内の文字を判別しているので実際の文字を判別できるようにしたい
・2024/7/17
課題 モデルの仕組みを整理する モデルの精度を高める
・2024/7/10
課題 来週までに実際の手書き文字を判別させる
成果 前回にモデルの作成ができ、そのモデルに実際の文字を入れて判別してみたが正確に判別できなかった 下の画像は2を判別しようとした 今のモデルでは画像を1次元に変換して判別しているが、1次元だと限界なのかもしれない 3次元モデル(CNN)でやる必要があると思ったが 改良次第でなんとかなりそう 学習率を改善していく 学習率:一回の学習でどれだけ学習すべきか、どれがけパラメーターを更新するか
判別しようとした画像
判別精度
・2024/7/3
課題 どの程度の文字が正しく判別できているかを説明できるようにする 実際の手書き文字を判別させてみたい
成果 実際の手書き文字を判別させようと思ったが、画像をうまく変換できなかったためまだ判別には至っていない 3次元の画像を1次元にしたい
・2024/6/26までの課題
手書き文字判別までのプロセスを確定させる
成果 本を参考にニューラルネットワークを実装することができた 学習することで精度が高くなる過程が確認できた テストデータを用いて認識精度を確認したところ2つの精度に差がないことが分かる ミニバッチのサイズ(取り出す数)を100として、毎回60000個の訓練データからランダムに100個のデータを抜き出している 600回 = 1エポック
認識精度
epoch → 一つの訓練データのすべてを使い切って1周した時を1とする、訓練データを何回用いたかを表す数
・2024/6/19までの課題
引き続き本で学習を進める 文字判別の仕組みを理解したい
あまり進捗なし
今度耐候性橋梁を見に行きたい
・2024/6/12までの課題
千代岡さんから借りたpythonの本を読み終える
2冊目も読み終えたい
発表内容:pythonについて学習を進めている 特にdeeplearningの基礎について
今現在はmnist(エムニスト)という手書き数字の画像セットのダウンロードができたので、次回までに文字を判別する仕組みについて学びたいと思う
mnist:mnistは機械学習の分野で最も有名なデータセットの一つであり、簡単な実験から論文として発表される研究まで様々な場所で利用されている
mnistデータセットは、0から9までの数字画像から構成されている 訓練画像が60000枚、テスト画像が10000枚用意されており、それらの画像を使用して学習と推論を行う
一般的なmnistデータセットの使い方では、訓練画像を使って学習を行い、学習したモデルでテスト画像に対してどれだけ正しく分類できるかを計測する
mnistの画像
何の情報を判別させるか、(明るさ(色スケール)、セロテープ試験、膜厚試験
今度耐候性橋を見に行く
・2024/5/29 までの課題
機械学習環境と構築する
2024-07-31
2024-07-25
2024-07-24
参考記事をもとに判別モデルを実装できた
実行ファイル:mnist_loadmodel.py
2024-07-22
引き続き手書き文字のモデルを改良したい
2024-07-21
デスクトップパソコンに機械学習環境を導入した(anaconda3 vscode opencv) 以下のサイトのコードを試したがうまく識別できなかった サイト2をうまく活用して次はやってみたい
2024-07-18
全然更新できていなかった。毎日コツコツ積み重ねていきたい
2024-07-06
実装したいコードを考えたので試してみたい
2024-07-03
pythonについて学びたい
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
進捗なし
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以外も解凍できるようです。
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のダウンロード
・2024-06-04.05
進捗なし
・2024-06-03
引き続き本を読み進めたい
・2024-06-02
一冊目を読み終えたが、まだ理解しきれてない箇所が多い
・2024-06-01
第10章まで読み終えた
・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は無償区分と有償区分があるらしい(参考記事)
無償で使える条件として 個人かつ非商用目的による使用 教育機関における学生または教員の使用 とあるので大丈夫だと思う
vs code(テキストエディタ:pythonのコードを一つにまとめるためのもの)のダウンロードもできた
vs codeの開き方:ターミナルでcodeと入力
じゃんけんプログラム
・2024-05-21
機械学習を行うための環境をつくるためのプロセスを整理した
1.機械学習を行うためにはPythonが実行できるための開発環境が必要
そのためにanacondaをインストールする
anacondaをインストールすることで複数の仮想環境を作成して切り替えて使える
2.仮想環境の作成を行い、必要なライブラリをインストールする
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とは機械学習に用いるためのソフトウェアライブラリ
・2024/05/17 機械学習について調べてみた 教師あり学習 数値を予測する回帰 カテゴリを予測する分類
・2024/05/16 機械学習の環境構築についてもう少し調べたい ubuntuでの環境構築方法について
・2024/05/15 使用しているパソコン Ubuntu20.04 フリーの機械学習ツールに何があるか ex.tensorfolw
パソコン上に機械学習ができる仮想環境を整理する必要がある
3年次
エラーコード [#dd0f431c]
時間が足りないとき
!<S> Exception user raised but not interceptee. ! ! The bases are fermees. ! ! Type of the exception: ArretCPUError ! ! [('?', (), (), ())] ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
春課題 弾塑性 [#td1a199a]
創造工房第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 | 佐々木 |
創造工房第6回(11/29) [#x7bfb3cd]
単純梁(異方性1次・等方性2次)の解析 [#u789f929]
メッシュ長さ | 要素数 | 変位 | 相対誤差 | 計算者 |
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 | 佐々木 |
メッシュ長さ | 要素数 | 変位 | 相対誤差 | 計算者 |
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 | 佐々木 |
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 | 佐々木 |
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 | 佐々木 |
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 | 佐々木 |
環境構築
ITにおける「環境」とは、導入されるシステムやソフトウェアから見た、そのコンピュータ全体のこと 環境構築とは、作業に適した環境を整えること 実行環境と開発環境がある
実行環境
実行環境とは、プログラムやソフトウェアが稼働するために必要なものが揃っている環境のこと プログラムやソフトウェアを動かすためには、条件を整える必要がある。 回線や機材といったハードウェアや、そのプログラミムが動作するためのコンピューター内のソフトウェアです。 「実行環境構築」とは、あるプログラムやソフトウェアを動かすための環境を整えることを指す
開発環境
システムを開発するために必要な環境のことを指す。また、インターネットが必要であれば準備をする 必要なソフトウェアがあればインストールするなど、開発に必要な条件を整えることを「開発環境構築」という 「開発環境」で開発されたシステムは「テスト環境」にて正しく動作するか検証され、ここで問題がなければ「本番環境」と呼ばれる環境で実際に使われることになる。
ローカル環境
個人のコンピュータ内に構築された環境のこと 仮想マシンとは、ローカル環境の中に、ある特定の環境を模して構築されたソフトウェアのこと 個人のコンピュータの中に、擬似サーバーを用意するというイメージ
UNIXコマンド https://www.str.ce.akita-u.ac.jp/~gotou/linux/vine.html#unix
vs codeの開き方:ターミナルでcodeと入力 pythonの開き方:ターミナルでpython(バージョン)と入力 pythonの閉じ方:ctrl + D
anacondaのライブラリなどを開く方法:cd anaconda3 → python
※「,」は表中に入れてしまうと、列が増えてしまうため「,(大文字)」or「、」のどちらかで入力している
用語 | 意味 | 使い方例(入力) | 出力結果 |
len | 長さを測る | len('python') | 6 |
str | 引数を文字列に変換する | 'python'+ str(version) | 'python3.6' |
データの内容を表示する | print('python', 3.6) | python 3.6 | |
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 | 世界中の時間を扱うためのどこのタイムゾーンであるかの情報を保持する |
mnistとは人が手で書いた0から9までの数字を大量に集めた画像データ集 学習者はこれらのデータを教師データとして取り込みモデルを学習させ、そのモデルをテストすることで学習がどのように実行されるかを学ぶ。
・データとラベルの違い
データ→手書きで書かれた数字を画像にした画像データ ラベル→その画像に書かれた数字を表すものをラベルという
load_mnist関数「(訓練画像,訓練ラベル),(テスト画像,テストラベル)」
・重みとバイアスを訓練データに適応するように調整することを「学習」という
ミニバッチ学習を実施する上で重要となるのが、バッチサイズ バッチサイズは、データをグループに分けた際の数がどれくらいになるのかをあらわしたもので、バッチサイズが小さいほど処理負担は小さく、大きいほど負荷が大きくなり、なおかつデータ1つ1つの個性も失われてしまう傾向にある 基本的にバッチサイズは小さいサイズから始めるのが効果的である。バッチサイズが小さいと学習にかかる時間を短くできるだけでなく、データの個性を尊重しながら学習を進められる バッチサイズが小さい場合はノイズの影響を受けやすくなるため、対策が必要→そこで役立つのが学習率 小さいバッチサイズで学習率を大きく設定することでノイズの影響を受けにくくできます。
・opencvをインストールする
pip install opencv-python
cv2とは画像を扱うためのpythonライブラリ内に存在するモジュールのこと kerasはニューラルネットワークのライブラリ「読みやすく簡潔なアーキテクチャで迅速に実装が可能であること」「機械向けではなく人間向けに設計冴えたユーザーフレンドリーなライブラリ」であることを重視して設計されている
STEP(機械学習)
STEP(判別データ)
多様な状態の耐候性鋼材の画像を大量に収集
→実際に撮る以外の方法はあるのか、過去に撮った画像や既存のデータセットなど
評点ごとにわける(先生の意見を元に)
pythonのPILやOpenCVなどのライブラリを使用して画像をnumpy配列として読み込む
全ての画像を同じサイズにリサイズ→→→アスペクト比を維持するか、中心部分を切り取るか
RBGの調整
サビの色や質感をより効果的に捉えられる色空間を選択する
十分なデータ数がない場合、データを回転させたり反転させてデータを増やす
データの割合は以下の割合となるようにしたい
データ | 割合 |
トレーニングセット | 60〜70% |
検証セット | 15〜20% |
テストセット | 15〜20% |
異なる条件で撮影された画像を標準化
モデルの学習と推論時の入力を統一
参考情報 [#d409f6cf]
さびの外観評点は、さび粒子の大きさ、量、ばらつき、さび粒子の色調、さび粒子の凹凸などから総合的に判定される。そこで、複数のパラメータ間の非線形関係を構築できるニューラルネットワークにより、これらのパラメータと外観評点の関連付け
セロテープ試験とニューラルネットワークを併用すれば、比較的正確なさび腐食状況の定量化が可能になることが確認できた。しかし、セロテープ試験は現地での作業性を考えると接写撮影に比べて劣る。そのため、筆者写真を画像処理することで、簡易かつ高精度なさびの腐食状況の定量化の検討を行っていく
得られた画像を試験たいの腐食による質量増加量と紐づける
現状では橋梁毎に経時的な腐食画像を取得し、CNN分類機を作成して健全度判定を行うといったことが望ましいと考えられる
鋼材腐食部の画像処理に基づく劣化度判定の現状
鋼材の画像に基づく劣化損傷度の正確な診断を目指す場合、鋼材の腐食劣化の程度と外観の関係、言い換えれば、腐食環境に大きく依存する腐食の健全度と外観の関係が紐づけられた教師データに基づく機械学習を行う必要があるが、これら紐づけられたデータは依然として少ないなど課題が残されている
gpu GeForce RTX 4060
Python 3.11.9
tensorflow 2.17.0
参考サイト [#p932fad1]
$ export PATH=/kouzou/anaconda3/bin:$PATH
参考サイト [#zc4f5880]
googleが開発した、機械学習のソフトウェアライブラリ
ライブラリとはプログラムを組む際によく利用するコードなど、必要な部品をまとめたファイルのこと
tensorflowの1番の特徴は、ニューラルネットワークの構築、訓練ができるシステムの要求に答えられる点
ニューラルネットワークとは、私達人間の脳内にある神経細胞(ニューロン)の繋がりを数式的なモデルで表現したもの
このニューラルネットワークを使用することで、機会が人間と同じように論理的思考や学習を行うことができる
参考サイト [#c07794bc]
pip install --upgrade pip pip install tensorflow
install後の確認は以下のコマンドを実行 imoprt tensorflow as tf print(tf.__version__)
tensorRTがやっていることは推論エンジンの生成と推論実行
pip install opencv-python
unzip ~~~.zip
python -V or python --version or python3 --version
-rw-rw-r
ls -l
で画像を確認
-rw-rw-r
変なスペースが入っていないか→入っている場合 '.png 'となっている
gFTPのパーミッションを変更する
サーバーにアクセスして直接変更する
gedit
\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}
\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}
gimp 切り取りのアイコン → 縦横比固定 1:1
rsync -auv ./a/* ./b/
convert -geometry "50%" 元のファイル名 変えたいファイル名 convert 元のファイル名 -resize 800x600 変えたいファイル名