Na tym blogu omówimy, w jaki sposób „ Losowe usuwanie ” działa w PyTorch.
Dlaczego w PyTorch stosowana jest metoda „losowego kasowania”?
Losowe usuwanie danych z obrazów stanowi problem w uczeniu modeli analizy obrazu, ponieważ są one zmuszone do dostosowywania się do niewystarczających danych. Przygotowuje to model dla zadań w świecie rzeczywistym, w których nie zawsze są dostępne pełne dane. Model staje się znacznie lepszy w zakresie wyciągania wniosków z wszelkiego rodzaju danych i wyświetlania wyników. Wybór pikseli do usunięcia jest losowy, więc nie następuje wprowadzenie odchylenia, a powstały obraz jest używany jako dane wejściowe podczas uczenia.
Jak działa metoda „losowego kasowania” w PyTorch?
Metoda Random Erasing służy do lepszego przygotowania modelu głębokiego uczenia się do obsługi rzeczywistych aplikacji. Wykonaj kroki podane poniżej, aby dowiedzieć się, jak używać go w swoich projektach PyTorch w celu usprawnienia zarządzania danymi i poprawy możliwości wnioskowania:
Krok 1: Skonfiguruj wspólne środowisko IDE
Google Colab to idealny wybór do tworzenia modeli AI z wykorzystaniem frameworka PyTorch. Przejdź do Współpracy strona internetowa i uruchom „ Nowy notatnik ”:
Krok 2: Zaimportuj niezbędne biblioteki
Użyj ' !pypeć ” instalator pakietów dostarczony przez Pythona w celu zainstalowania bibliotek i użycia „ import ”, aby zaimportować je do projektu:
import latarkaimport widzenie pochodni. przekształca Jak ts
z PIL import Obraz
import matplotlib. pyplot Jak plt
Opis danego kodu wygląda następująco:
- Zaimportuj „ latarka ” biblioteka za pomocą „ import ' Komenda.
- „ Torchvision.transformuje ” zawiera transformacje dla Random Erasing.
- „ PIL ” to biblioteka obrazów Pythona zawierająca funkcje przetwarzania obrazów.
- „ matplotlib.pyplot ” służy do wizualizacji obrazów oryginalnych i przekształconych:
Krok 3: Prześlij obraz wejściowy
Prześlij obraz do sekcji Pliki:
Następnie załaduj obraz wejściowy za pomocą „ otwarty() ” metoda modułu „Obraz”:
obraz = Obraz. otwarty ( „a2.jpeg” )Krok 4: Określ transformację, aby wykonać transformacje
Teraz zdefiniuj „ Losowe kasowanie ” transformator, który przekształci obraz, wybierając jego losowy prostokątny obszar i usuwając jego piksele. Ponadto przekonwertuj obraz wejściowy na czujnik palnika za pomocą „ DoTensora() ”, jeśli jest to obraz PIL, a następnie przekonwertuj go z powrotem na obraz PIL za pomocą metody „ DoPILImage() ”:
przekształcać = ts. Komponować ( [ ts. DoTensora ( ) , ts. Losowe kasowanie ( P = 0,5 , skala = ( 0,02 , 0,33 ) , stosunek = ( 0,3 , 3.3 ) , wartość = 0 , w miejscu = FAŁSZ ) , ts. Do PILImage ( ) ] )Parametry użyte w powyższym „ Losowe kasowanie transformatora wyjaśniono poniżej:
- P: Reprezentuje prawdopodobieństwo, że zostanie osiągnięta operacja losowego podnoszenia.
- skala: Wskazuje zakres wymazanego obszaru obrazu wejściowego.
- stosunek: Oznacza współczynnik proporcji wymazanego obszaru.
- wartość: Określa wartość kasowania, która domyślnie wynosi „0”. Jeśli jest to pojedyncza liczba całkowita, usuwa wszystkie piksele, a jeśli jest to krotka posiadająca trzy liczby całkowite, usuwa odpowiednio kanały R, G i B.
- w miejscu: Jest to wartość „logiczna”, która powoduje, że dany transformator losowego kasowania pozostaje na swoim miejscu. Domyślnie jest to „fałsz”.
Krok 5: Użyj zrozumienia słownika, aby wykonać obrazy wyjściowe
Użyj koncepcji rozumienia słownika, aby wykonać cztery obrazy wyjściowe:
obrazy = [ przekształcać ( obraz ) Do _ W zakres ( 4 ) ]Krok 6: Zaprezentuj cztery obrazy wyjściowe
Na koniec wyświetl cztery obrazy wyjściowe za pomocą poniższego bloku kodu:
Figa = plt. postać ( rozmiar fig = ( 7 , 4 ) )wydziwianie , kol = 2 , 2
Do J W zakres ( 0 , tylko ( obrazy ) ) :
Figa. dodaj_podwątek ( wydziwianie , kol , j+ 1 )
plt. pokażę ( obrazy [ J ] )
plt. xtyks ( [ ] )
plt. tyka ( [ ] )
plt. pokazywać ( )
Powyższy opis kodu wygląda następująco:
- Aplikować ' plt.figura() ” metoda kreślenia czterech obrazów o określonej szerokości i wysokości.
- Następnie określ określone wiersze i kolumny, aby dostosować cztery obrazy.
- Następnie zainicjuj pętlę „for”, która zastosuje „ wątek poboczny() ” do zdefiniowania wątku cząstkowego, metoda „show()” do pokazania obrazów oraz metoda „ plt.xticks() ' jak również ' plt.yticks() ”, aby ustawić bieżącą lokalizację znacznika oraz etykiety osi X i Y.
- Na koniec użyj opcji „ plt.show() ” metoda drukowania obrazów do wydruku:
Notatka : użytkownicy mogą uzyskać dostęp do naszego Notatnika Colab za pomocą dostarczonego narzędzia połączyć .
Wskazówka profesjonalna
Jednym z kluczowych zastosowań „ Losowe usuwanie ” metodą w projektach PyTorch jest bezpieczeństwo. Można go używać do usuwania pikseli z wrażliwych obrazów, na przykład zawierających tajemnice handlowe lub inne wartościowe treści. Specyficzna losowa funkcja tego usuwania będzie znana tylko oryginalnemu użytkownikowi i tylko on będzie mógł przywrócić usunięte obrazy do ich oryginalnej wersji.
Powodzenie! Pokazaliśmy, jak działa metoda losowego wymazywania w PyTorch.
Wniosek
„ Losowe usuwanie ” w PyTorch polega na usuwaniu losowych pikseli z obrazu i naśladowaniu rzeczywistego scenariusza, aby lepiej wytrenować model. Dzięki temu model będzie lepiej radził sobie z różnymi typami danych w celu wyciągania wniosków dotyczących jakości z niekompletnych danych. Pokazaliśmy, jak używać „ Losowe usuwanie ” w PyTorch.