każdy element macierzy zostaje podzielony przez 255.0
@ProfesorBigos: Czyli takie mapowanie, tak podejrzewałem. No ale normalnie operator dzielenia tak nie działa, tak? Czy to jest jakoś przeciążony operator dzielenia?
@look997: No w pythonie jak najbardziej można przeciążać operatory. NumPy jest kalką matlaba zatem dzieje się tu prawdopodobnie to co dzieje się w matlabie czyli wszystkie liczby są dzielone przez 255. Choć tu patrzył bym na to jak na operacje na macierzach ponieważ właśnie to robił matlab. Dlatego wystarczy wyprintować x_train i zobaczyć co się stało po operacji. W końcu eksperyment ma zawsze ostatnie słowo.
@Miesho: W samej dokumentacji nazywają to "uint8 NumPy array". Trzeba przekazać listę i zrobi ci "uint8 NumPy array". W moim przykładzie zrobiłem sobie taką prostą "uint8 NumPy array".
Nie przez przypadek zpinowałem siebie taki wiesz żarcik, że sam nazwałem to tablicą i sam w myśl wykopowej tradycji się zesrałem i poprawiłem raczej obecnie częściej programuje w językach typu C++ gdzie oprócz kontenerów są czyste tablice. A z tego co mi
@Miesho: Ja wiem że napisałeś sam do siebie. Ale przez przypadek nie popełniłeś błędu pisząc "tablica", od odnosiłeś się do mnie, który chciał prostszą wersję "uint8 NumPy array", niż tą z przykładu w Tensorflow. Nie popełniłeś błędu, chociaż może chciałeś popełnić błąd. :P ;D
@look997: Ponad to "uint8 NumPy array": Zgaduje, że odnosi się do kontenera gdzie kwantem informacji jest 8 bitowa wartość. Lecz sam array (a przynajmniej mi nie kojarzy się z żadną konkretną strukturą) nie mówi nam co to za kontener. Lista kolejka stack a może coś innego.
@look997: Wiem o co Ci chodzi nie mniej jednak wydaje mi się że kiedy rozmawiamy o takich strukturach mówienie tablica jest zrozumiałe ma sens nie mniej jednak wydaje mi się nie do końca poprawne gdzie oczywiście jako iż sam python jest napisany w C to każda zawansowana struktura zostanie sprowadzona do tablic. A idąc nawet dalej do ciągu bajtów w pamięci systemowego procesu.
Co robią te ukośniki w tym kodzie? - https://www.tensorflow.org/tutorials/quickstart/beginner#load_a_dataset
x_trainix_testtouint8 NumPy array- https://www.tensorflow.org/api_docs/python/tf/keras/datasets/mnist/load_data#returns.Widzę tylko, że dopisują się zera do liczb i że tablica jakby się spłaszcza(?) ale nie wiem.
To jest przeciążony operator dzielenia, czy co?
źródło: comment_1635846885LToVYSNMYh4ZG1GfU4KP2U.jpg
Pobierzprint(x_train)zwaraca:[[[0 0 0 ... 0 0 0][0 0 0 ...
x_train / 255.0zwrca:```
[[0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0.
0. 0. 0. 0.
@ProfesorBigos: Czyli takie mapowanie, tak podejrzewałem.
No ale normalnie operator dzielenia tak nie działa, tak?
Czy to jest jakoś przeciążony operator dzielenia?
Jak zrobić to samo, na prostszej tablicy?
@look997: Nie rozumiem o co pytasz. Tak działa dzielenie macierzy przez skalar w matematyce. Numpy ma je zaimplementowane dla swoich klas.
Jak chcesz się więcej się dowiedzieć, to nazywa się to broadcasting:
https://numpy.org/doc/stable/user/basics.broadcasting.html
import numpyx = numpy.array([[[2, 8, 9], [2, 8, 9], [2, 8, 9]], [[2, 8, 9], [2, 8, 9], [2, 8, 9]]])
print("m: ",x)
print()
Nie przez przypadek zpinowałem siebie taki wiesz żarcik, że sam nazwałem to tablicą i sam w myśl wykopowej tradycji się zesrałem i poprawiłem raczej obecnie częściej programuje w językach typu C++ gdzie oprócz kontenerów są czyste tablice. A z tego co mi
Ale przez przypadek nie popełniłeś błędu pisząc "tablica", od odnosiłeś się do mnie, który chciał prostszą wersję "uint8 NumPy array", niż tą z przykładu w Tensorflow.
Nie popełniłeś błędu, chociaż może chciałeś popełnić błąd. :P ;D
@look997: Nie spłaszcza. Wynik ma te same wymiary co dzielna.