PyTorcデータ拡張Docsを使用して簡単に整理
Python이 그리워지는 나날들이다.. 언어 하나 배우는 건 진짜 말도 안되게 어려운 일이다.
근데 Haskell을 하려고 했다니 내가 미친게 틀림없어 ㅋㅋㅋㅋㅋ
いずれにしても、今日は、以前のプロジェクトで述べたPyTorchを使用してデータの強化を簡素化する方法についてまとめます.コードを記述して配置する場合、OpenCVは重いのでnumpyで前処理したコードだけを記述していますが、実際にはデータを増やすだけでpytorchで提供したり、OpenCVで提供したりすることができます.
個人的にはcv 2で強化するのが好きで、他の人が知っているように、簡単なので、cv 2は使いやすいツールです.
考えてみればTORCHで一度importしたら2倍になりやすい
torch
くだらないことは言わないで、参考資料はPyTorch Docsです.これは毒ガスと呼んでもいいですか?
https://pytorch.org/vision/stable/transforms.html torchvision.transforms
を使用します.
学界の昼食は、このような変化をほぼ起こすことができる.(?こういうジョークが好き)
約8.0バージョンからrandom_seed
のコンテンツが使用されています
互換性のためだそうです.
data_transformation = transforms.Compose([
transforms.ToTensor(),
transforms.Resize((224,224)),
transforms.Normalize([0.5,0.5,0.5],[0.5,0.5,0.5])
])
このように使用したことがあります...とても簡単です
data transformationを変換する方法だけです.Compose()として定義すると終了します
また、それをシーケンスとして作成することもできるようです.
本題に戻って、前に私が使っていたコードから見ると、ResNet(224224)に適用するために調整されています.manual_seed
でテンソルに変える(Tenserという言葉はかわいい)
そしてresizeが必要です.ToTensor()
と読むと224*224になるのに、バージョンの問題なのか編集の問題なのかユニットの問題なのかオペレーティングシステムの問題なのか(問題が多くてほほほ)どちらも当てはまらないので、一つ一つ指定しました.
指定するときは必ず2回書きます!ここで泣いた記憶がある
実際、ほとんどの間違いは誤字の中にある.
最後にNormalizeという理論をするのは本当に面白いです.
0.5をあげる理由は0と1の間が0.5ですRGBの平均値を出して入れるんですね.名前の通り正規化されているので...1~1の価格で作成します.
이거 덕에 코랩이 많이 뻗었다.
transforms.Normalize([meanRed, meanGreen, meanBlue], [stdRed, stdGreen, stdBlue])
これが正しいのか.ほほほへへへ...stdは標準差,標準偏差である.
お探しでしたら、forゲートを回してお会計できます.
注意:https://deep-learning-study.tistory.com/475
しかしこのNormalize計算の欠点は時間が長すぎることです彼もそうします.各ユニットのRGBは演算されます.やれやれ
あ最后に!
ここの順番は本当に重要ですGithubでは、ToTensor()が最後にあるか、コードがあるコードがあります.
実は私も原因が分かりません.でも私が先にTensor変換しないと変な間違いが出てきます.^^
その他にも、複数のパラメータが用意されています.
臍を出したり、ダウンジャケットを置いたり、もちろん回したりすることもできます.
グレースケールでもいいです.
私の場合、収集したデータの特徴が非常に明らかなので、キャラクターゲームの画像を緑の黒板と認識し、このような問題を発見しました.
そこで階調を加える方法も試してみました.
実際、精度はあまり変わっていません.今考えたら、取るからには、取っておきます.
transform = transforms.Compose([
transforms.RandomHorizontalFlip()
])
例として、ランダムに水平に反転します.
言い換えれば、10枚の写真の中でランダムに何枚かめくって、彼らにレベルを上げて勉強させます!
このような補強で注意すべき点は、「random」であるため、補強のたびに異なる点である.
だからさっき...
もう一つ、「ランダム」flipなので、flipを使わなくてもいいし、左手と右手のタスクを区別するなどの調整もできます.これらを考えなければなりません.
次に、画像を入れる方法をご紹介します.
PIL、OpenCV、torchvisionデータセットなど…いろいろな方法がある
Reference
この問題について(PyTorcデータ拡張Docsを使用して簡単に整理), 我々は、より多くの情報をここで見つけました
https://velog.io/@jee-9/PyTorch-Data-augmentation-Docs로-정리하기
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
data_transformation = transforms.Compose([
transforms.ToTensor(),
transforms.Resize((224,224)),
transforms.Normalize([0.5,0.5,0.5],[0.5,0.5,0.5])
])
이거 덕에 코랩이 많이 뻗었다.
transforms.Normalize([meanRed, meanGreen, meanBlue], [stdRed, stdGreen, stdBlue])
transform = transforms.Compose([
transforms.RandomHorizontalFlip()
])
Reference
この問題について(PyTorcデータ拡張Docsを使用して簡単に整理), 我々は、より多くの情報をここで見つけました https://velog.io/@jee-9/PyTorch-Data-augmentation-Docs로-정리하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol