Closed mmagnuski closed 5 years ago
@bar51015 Potrzeba pełnego błędu wraz z kodem, który odpalasz. Spotkałem się z tym błedem, ale bez kodu nie potrafię nic specjalnie pomocnego poradzić: sprawdź czy masz dobry rozmiar danych względem oczekiwanego przez sieć.
To jest pełny kod, a niżej wymiary danych które wprowadzam Zauważyłem też, że przy wczytywaniu zdjęć x i y różnią się od siebie. Czy to może powodować ten błąd?
Mam podobny problem. Wydaje mi się, że po użyciu:
X = preprocess_input(X)
X powinien mieć .shape z 4 wartościami, a pozostają domyślne 2.
Co pewnie sprawia, że wczytane zdjęcia nie są
[...] zgodne z formatem używanym w bazie ImageNet.
A przynajmniej tak to u mnie wygląda:
Nie wiem czy to może mieć wpływ, ale używam tensorflow-gpu.
W tym punkcie nie używacie już zdjęć ale własności przetworzonych przez wytrenowaną sieć. Sprawdźcie czy podajecie dobry input_shape przy definicji sieci.
Mam ten sam problem :(
Upewnij się czy na pewno używasz sieci Xception, która ma remove_top=True
.
Po wpisaniu
Ok, sorry pisałem z pamięci, include_top=False
.
Jakby co możesz z wymiarów w input_shape
usunąć None
ale z None powinno działać.
Jakby dalej nie działało sprawdź jaką masz wersję keras i tensorflow.
Ja mam to samo i jak się usuwa None to wywala tam błąd
@NataliaTabi
Utworzenie zmiennej remove_top nic nie zmieni. Upewnij się że podajesz argument nazwowy include_top=False
gdy ładujesz sieć Xception. Następnie upewnij się jaki kształt mają Twoje features_train
oraz jaki podajesz input_shape
. Dodatkowo - zwykle na końcu komunikatu błędu jest informacja co poszło nie tak, często cały komunikat może być pomocny (bo wiemy dokładnie w jakiej podfunkcji jakiej funkcji jakiego modułu wystąpił błąd), ale bez komunikatu błędu na samym dole nie można powiedzieć co dokładnie poszło nie tak.
Jutro po rozmowach na Etiudę mogę do tego przysiąść i sprawdzić dokładnie.
@mswierzewski - czy u Ciebie problem się rozwiązał?
@mmagnuski Dosłownie przed chwilą, po 30 minutach zabawy i googlowania. Spróbowałem sam z siebie bawić się adresowaniem (?)
Szczerze, nie wiem dlaczego to zadziałało. Usunąłem none, potem zacząłem się bawić adresowaniem. [:1] był błąd dalej, więc spróbowałem [1:] i poszło.
W dalszej części miałeś prawdopodobnie błąd (w sensie, ja otrzymywałem błąd, więc podmieniłem wartości)
Zamiast X_train i X_test było features_train i features_test
@mswierzewski
Przepraszam, powinienem był wspomnieć: input do argumentu input_shape
to musi być tuple tzn. (a, b)
. Gdy mamy jeden element i napiszemy (a)
to nie dostajemy tuple'a bo python interepretuje to jako zwykłe nawiasy. Trzeba wtedy pisać np. (a,)
. Stąd wynikają Twoje przygody z adresowaniem (kiedyś jak tego nie wiedziałem, a pisałem dosyć złożoną procedurę to spedziłem spokojnie ponad godzinę na debugowaniu nie rozumiejąc dlaczego mam błąd).
@mswierzewski dzięki już wszystko działa
@mswierzewski
Przy pierwszej sieci musi być features_train
bo trenujemy na własnościach wyciagnietych z obrazów przez Xception.
@mmagnuski zmieniłem przy drugiej. Tam też powinno być features_train?
Przy pierwszej zostawiłem features_train.
Ok, jeżeli druga to ta, która zgodnie z opisem ma być trenowana na pikselach, to tak, trzeba podać X_train
. Oryginalnie w notebook'u jest tam puste miejsce, nie ma wpisanego features_train
:
@mmagnuski A faktycznie, w takim razie mój błąd.
Co do tego pierwszego jeszcze błędu. Teraz jest dobrze czy powinno być input_shape=(None, features.shape[1,] ?
Może być tak, inny sposób, o którym mówiłem to (features.shape[1], )
.
@mmagnuski Ten notebook też mamy wysłać na maila?
mi tutaj , na samym koncu cos nie chce sie dograć,
@Malgosia20
Czy sieć zbudowałaś analogicznie do tej pierwszej?
Jak wygląda rozmiar (.shape
) dla X oraz y treningowych i testowych?
tak, budowałam analogicznie , tutaj jest pierwsza tutaj druga siec
a tu juz ten bład
korzystałam z tego tez co pisał Maciek wczesniej o błedach i starałam sie tego unikac
@Malgosia20 Przyjrzyj się jeszcze raz bardzo uważnie temu jak budujesz sieć 2 :)
oczupląsu można od tego dostać :)
@mmagnuski
Jak zatytułować maila z tym notebookiem / lub jak przesłać Ci to?
Nie musicie mailować notebooków. Na notebook, będzie miejsce na platformie, jak tylko dostane info, że jest otwarta, to Wam przekażę.
jestem załamana... po tym jak zrobilam 'pip install tensorflow --upgrade' w konsoli mam błąd już przy pierszej komórce:
@mmagnuski ja już wysłałam mailowo obie prace, za dwa dni wylatuje więc nie mogę czekać na platforme, w obu przypadkach użyłam słowa emosie i adekwatnie słów: praca domowa i projekt . Jakbyś mógł rzucić okiem i dac jakiś feedback co do projektu to byłabym wdzieczna, moze wtedy zdaze cos w nim jeszcze poprawic :)
HELP!!! nie działają mi importy, wpis wyżej... w konsoli mam coś takiego:
@xxxena Wygląda na bład instalacji. Jest kilka potencjalnych opcji rozwiązania, ale najławiej byłoby sprawdzić je na Twoim komputerze. Jestem w ciągu najbliższych dni na uczelni także jeżeli napiszesz do mnie z wyprzedzeniem możemy do tego przysiąść. Podobna informacja tyczy się wszystkich: nie starczyło nam czasu na ostatnich zajęciach na ani jedną sekundę konsultacji, więc piszcie do mnie z problemami - będziemy konsultować w innych terminach. Postaram się otworzyć jedną (na razie) ogólną konsultację w sali S220 - tak aby każdy mógł wskoczyć i poradzić się co zrobić z błędem.
@mmagnuski, wspominałeś, że praca domowa z notebookiem 7 również będzie do zrzucenia przez platformę - ale nie widzę tam osobnego miejsca? I bonusowe pytanie - jaki deadline ma ten notebook 7?
Większość osób już wysłała na maila, więc może być mailowo. Jak otworzę teraz okienko na platformie to część prac będę miał na mailu a część na platformie, więc byłoby jeszcze gorzej. :) Deadline na notebook 7 mógł był już minąć, ale że był przesuwany, to nie pamiętam czy wyznaczyliśmy jakiś konkretny dzień. Zróbmy w związku z tym tak, że najpóźniej do końca tego tygodnia wysyłacie notebook 7.
Ok, super. W takim razie ode mnie za bardzo wyrozumiałe terminy pracy domowej i projektu:
Taki błąd dostałem, co robić?