Ponieważ obliczenia Tensora składają się z wykresów , lepiej interpretować je w kategoriach wykresów.
Weźmy na przykład prostą regresję liniową
WX+B=Y
gdzie W
i B
oznaczają wagi i stronniczość oraz X
dane wejściowe obserwacji i wyniki Y
obserwacji.
Oczywiście X
i Y
mają ten sam charakter (zmienne manifestacyjne), które różnią się od zmiennych W
i B
(ukrytych zmiennych). X
i Y
są wartości próbek (obserwacje) i dlatego też potrzebują miejsca do obsadzenia , a W
i B
to masy i skośnym, zmienne (poprzednie wartości wpływa na drugi) na wykresie, które powinny zostać wyszkolony stosując różne X
i Y
pary. Umieszczamy różne próbki dla symboli zastępczych w celu trenowania zmiennych .
Musimy tylko zachować lub przywrócić do zmiennych (w punktach kontrolnych), aby zachować lub odbudować wykres z kodu.
Symbole zastępcze są najczęściej posiadaczami różnych zestawów danych (na przykład danych szkoleniowych lub danych testowych). Jednak Zmienne są przeszkoleni w procesie szkolenia do konkretnych zadań, czyli do przewidywania wyniku wejścia lub map wejść do wybranej etykiety. Pozostają takie same, dopóki nie dokonasz ponownego szkolenia lub dostrojenia modelu przy użyciu różnych lub tych samych próbek, aby często wypełniać symbole zastępcze za pomocą nagrania. Na przykład:
session.run(a_graph, dict = {a_placeholder_name : sample_values})
Symbole zastępcze są również przekazywane jako parametry do ustawiania modeli.
Jeśli zmienisz symbole zastępcze (dodasz, usuniesz, zmienisz kształt itp.) Modelu w trakcie treningu, nadal możesz ponownie załadować punkt kontrolny bez żadnych innych modyfikacji. Ale jeśli zmienne zapisane w modelu zostaną zmienione, należy odpowiednio dostosować punkt kontrolny, aby go ponownie załadować i kontynuować szkolenie (wszystkie zmienne zdefiniowane na wykresie powinny być dostępne w punkcie kontrolnym).
Podsumowując, jeśli wartości pochodzą z próbek (obserwacje, które już masz), bezpiecznie tworzysz symbol zastępczy, aby je zachować, a jeśli potrzebujesz trenowanego parametru, wykorzystaj Zmienną (po prostu ustaw, ustaw Zmienne dla żądanych wartości automatycznie korzystać z TF).
W niektórych interesujących modelach, takich jak model przenoszenia stylu , piksele wejściowe zostaną zoptymalizowane, a normalnie nazywane zmienne modelu zostaną naprawione, a następnie powinniśmy wprowadzić dane wejściowe (zwykle inicjowane losowo) jako zmienną zaimplementowaną w tym łączu.
Aby uzyskać więcej informacji, skorzystaj z tego prostego i ilustrującego dokumentu .
Variable
s, ale nieplaceholder
s (których wartości należy zawsze podawać).