caffe
Podstawowe obiekty Caffe - Solver, Net, Layer i Blob
Szukaj…
Uwagi
Użytkownik caffe wysyła instrukcje dotyczące wykonywania określonych operacji na obiektach caffe. Obiekty te współdziałają ze sobą na podstawie ich specyfikacji projektowych i przeprowadzają operacje. Jest to podstawowa zasada paradygmatu OOP.
Chociaż istnieje wiele typów obiektów caffe (lub klas C ++), na początek podstawowe zrozumienie koncentrujemy się na 4 ważnych obiektach caffe. Naszym celem na tym etapie jest po prostu obserwowanie interakcji między tymi obiektami na wysoce abstrakcyjnym poziomie, na którym konkretne szczegóły dotyczące implementacji i projektowania są zamglone, a zamiast tego koncentruje się na widoku z lotu ptaka.
4 podstawowe obiekty caffe to:
- Solver
- Netto
- Warstwa
- Kropelka
Bardzo podstawowe wprowadzenie i spojrzenie z lotu ptaka na ich rolę w pracy z kawą przedstawiono w zwięzłych punktach w sekcji przykładów.
Po przeczytaniu i zapoznaniu się z podstawowymi zasadami interakcji tych obiektów z kofeiną, o każdym typie obiektu można przeczytać szczegółowo w dedykowanych tematach.
Jak te obiekty współdziałają ze sobą.
Użytkownik chce używać caffe do szkolenia i testowania CNN. Użytkownik decyduje o projekcie architektury CNN (np. - liczba warstw, liczba filtrów i ich szczegóły itp.). Użytkownik decyduje również o technice optymalizacji parametrów szkolenia i uczenia się na wypadek, gdyby szkolenie miało zostać przeprowadzone. Jeśli operacja polega na zwykłym testowaniu waniliowym, użytkownik określa wstępnie przeszkolony model. Korzystając z wszystkich tych informacji, użytkownik tworzy instancję obiektu Solver i przekazuje obiektowi Solver instrukcję (która decyduje o operacjach takich jak szkolenie i testowanie).
Solver : ten obiekt może być postrzegany jako jednostka nadzorująca szkolenie i testowanie CNN. To faktyczny wykonawca uruchamia CNN na procesorze i działa. Specjalizuje się w przeprowadzaniu konkretnych optymalizacji, które prowadzą do szkolenia CNN.
Siatka : Siatkę można traktować jako obiekt specjalistyczny, który reprezentuje rzeczywisty CNN, nad którym wykonywane są operacje. Net instruuje Solver, aby faktycznie przydzielił pamięć dla CNN i utworzył ją. Net jest również odpowiedzialny za udzielanie instrukcji, które faktycznie prowadzą do propagacji w przód lub wstecz przez CNN.
Warstwa : jest to obiekt reprezentujący określoną warstwę CNN. W ten sposób CNN składa się z warstw. Jeśli chodzi o caffe, obiekt Net tworzy instancję każdego typu „ Warstwy ” określonego w definicji architektury, a także łączy ze sobą różne warstwy. Określona warstwa wykonuje określony zestaw operacji (np. - Max-Pooling, Min-Pooling, 2D Convolution itp.)
Obiekt Blob : dane przepływa przez CNN podczas szkolenia i testów. Dane te, oprócz danych użytkownika, obejmują również kilka obliczeń pośrednich, które są wykonywane w sieci CNN. Te dane są enkapsulowane w obiekcie o nazwie Blob.