Narzędzia użytkownika

Narzędzia witryny


notatki:studianoteaptaszniml

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Poprzednia rewizja po obu stronachPoprzednia wersja
Nowa wersja
Poprzednia wersja
notatki:studianoteaptaszniml [2025/05/07 13:49] administratornotatki:studianoteaptaszniml [2025/05/16 17:27] (aktualna) administrator
Linia 1: Linia 1:
-======= Spotkanie 1 =======+======= ML i sieci neuronowe: Wstęp=======
  
-====== Wprowadzenie do Pythona ====== 
- 
-==== Typy proste ==== 
- 
-==== Typy zlożone ==== 
- 
-<code python> 
-6*7 
-</code> 
- 
-<code> 
-42 
-</code> 
- 
-<code python> 
-_ 
-</code> 
- 
-<code> 
-42 
-</code> 
- 
-<code python> 
-zm=_ 
-print(zm,type(zm)) 
-</code> 
- 
-<code> 
-42 <class 'int'> 
-</code> 
- 
-<code python> 
-zm.__dir__() 
-</code> 
- 
-<code> 
-['__repr__', 
- '__hash__', 
- '__getattribute__', 
- '__lt__', 
- '__le__', 
- '__eq__', 
- '__ne__', 
- '__gt__', 
- '__ge__', 
- '__add__', 
- '__radd__', 
- '__sub__', 
- '__rsub__', 
- '__mul__', 
- '__rmul__', 
- '__mod__', 
- '__rmod__', 
- '__divmod__', 
- '__rdivmod__', 
- '__pow__', 
- '__rpow__', 
- '__neg__', 
- '__pos__', 
- '__abs__', 
- '__bool__', 
- '__invert__', 
- '__lshift__', 
- '__rlshift__', 
- '__rshift__', 
- '__rrshift__', 
- '__and__', 
- '__rand__', 
- '__xor__', 
- '__rxor__', 
- '__or__', 
- '__ror__', 
- '__int__', 
- '__float__', 
- '__floordiv__', 
- '__rfloordiv__', 
- '__truediv__', 
- '__rtruediv__', 
- '__index__', 
- '__new__', 
- 'conjugate', 
- 'bit_length', 
- 'to_bytes', 
- 'from_bytes', 
- 'as_integer_ratio', 
- '__trunc__', 
- '__floor__', 
- '__ceil__', 
- '__round__', 
- '__getnewargs__', 
- '__format__', 
- '__sizeof__', 
- 'real', 
- 'imag', 
- 'numerator', 
- 'denominator', 
- '__doc__', 
- '__str__', 
- '__setattr__', 
- '__delattr__', 
- '__init__', 
- '__reduce_ex__', 
- '__reduce__', 
- '__subclasshook__', 
- '__init_subclass__', 
- '__dir__', 
- '__class__'] 
-</code> 
- 
-<code python> 
-zm=7*6.4 
-print(zm,type(zm)) 
-</code> 
- 
-<code> 
-44.800000000000004 <class 'float'> 
-</code> 
- 
-====== Typy złożone ====== 
- 
-<code python> 
-#Lista 
-</code> 
- 
-<code python> 
-lista=list() 
-print(lista,type(lista)) 
-</code> 
- 
-<code> 
-[] <class 'list'> 
-</code> 
- 
-<code python> 
-lista.append('Ola') 
-print(lista,type(lista)) 
-</code> 
- 
-<code> 
-['Ola'] <class 'list'> 
-</code> 
- 
-<code python> 
-lista=[1,2,3,'Tola',[3,7,'Ula']] 
-print(lista,type(lista)) 
-</code> 
- 
-<code> 
-[1, 2, 3, 'Tola', [3, 7, 'Ula']] <class 'list'> 
-</code> 
- 
-<code python> 
-lista[3] 
-</code> 
- 
-<code> 
-'Tola' 
-</code> 
- 
-<code python> 
-#krotki (tuple) 
- 
-zm=tuple(lista) 
-print(zm,type(zm)) 
-zm. 
-</code> 
- 
-<code> 
-(1, 2, 3, 'Tola', [3, 7, 'Ula']) <class 'tuple'> 
-</code> 
- 
-<code python> 
-print(zm) 
-zm[4].append('XXXXXX') 
-print(zm) 
-</code> 
- 
-<code> 
-(1, 2, 3, 'Tola', [3, 7, 'Ula']) 
-(1, 2, 3, 'Tola', [3, 7, 'Ula', 'XXXXXX']) 
-</code> 
- 
-<code python> 
-zm[2]=5 
-</code> 
- 
-<code> 
---------------------------------------------------------------------------- 
- 
-TypeError                                 Traceback (most recent call last) 
- 
-Cell In[20], line 1 
-----> 1 zm[2]=5 
- 
- 
-TypeError: 'tuple' object does not support item assignment 
-</code> 
- 
-<code python> 
-# typ słownikowy 
- 
-zm=dict() 
-print(zm,type(zm)) 
-</code> 
- 
-<code> 
-{} <class 'dict'> 
-</code> 
- 
-<code python> 
-zm['Ula']=5600 
- 
-zm[(1,2)]='Nie wiem co to jest' 
- 
-print(zm) 
-</code> 
- 
-<code> 
-{'Ula': 5600, (1, 2): 'Nie wiem co to jest'} 
-</code> 
- 
-<code python> 
-zm['Ula']=7200 
-print(zm) 
-</code> 
- 
-<code> 
-{'Ula': 7200, (1, 2): 'Nie wiem co to jest'} 
-</code> 
- 
-<code python> 
-zm[(1,2)] 
-</code> 
- 
-<code> 
-'Nie wiem co to jest' 
-</code> 
- 
-<code python> 
-zm[1] 
-</code> 
- 
-<code> 
---------------------------------------------------------------------------- 
- 
-KeyError                                  Traceback (most recent call last) 
- 
-Cell In[26], line 1 
-----> 1 zm[1] 
- 
- 
-KeyError: 1 
-</code> 
- 
-<code python> 
-zm="Witam wszystkich uczestników kursu" 
- 
-for nr,słowo in enumerate(zm.split(' ')): 
-    print(nr,słowo) 
-    print("========") 
-print("Koniec roboty") 
-</code> 
- 
-<code> 
-0 Witam 
-======== 
-1 wszystkich 
-======== 
-2 uczestników 
-======== 
-3 kursu 
-======== 
-Koniec roboty 
-</code> 
- 
-<code python> 
-zm1,zm2=45*7,3>8 
- 
-print(zm1,type(zm1)) 
-print(zm2,type(zm2)) 
-</code> 
- 
-<code> 
-315 <class 'int'> 
-False <class 'bool'> 
-</code> 
- 
-<code python> 
-zm=45*7,3>8 
-print(zm) 
-</code> 
- 
-<code> 
-(315, False) 
-</code> 
- 
-<code python> 
-import matplotlib.pyplot as plt 
-import numpy as np 
- 
-x=np.arange(-20,20,0.01) 
-y=np.sin(x) 
-plt.plot(x,y,color='red') 
-plt.grid() 
-plt.show() 
-</code> 
- 
-{{output_23_0.png|png}} 
-png 
- 
- 
-<code python> 
- 
-</code> 
- 
-======= Spotkanie 2 ======= 
 ====== Wprowadzenie do przetwarzania danych z pakietami numpy i pandas ====== ====== Wprowadzenie do przetwarzania danych z pakietami numpy i pandas ======
  
Linia 1903: Linia 1587:
  
 {{output_0_1.png|png}} {{output_0_1.png|png}}
 +png
 +
 +
 +<code python>
 +
 +</code>
 +
 +======= Spotkanie 8 =======
 +
 +<code python>
 +import numpy as np
 +import matplotlib.pyplot as plt
 +
 +from keras.layers import Dense, Flatten,Dropout,Conv2D,MaxPooling2D
 +from keras.models import Sequential
 +from keras.utils import to_categorical
 +from keras.datasets import mnist
 +
 +(X_train, y_train), (X_test, y_test) = mnist.load_data()
 +</code>
 +
 +
 +<code python>
 +obraz, obszary = plt.subplots(ncols=5, sharex=False,
 +                sharey=True, figsize=(10, 4))
 +
 +for i in range(5):
 +    obszary[i].set_title(y_train[i])
 +    obszary[i].imshow(X_train[i], cmap='gray')
 +    obszary[i].get_xaxis().set_visible(False)
 +    obszary[i].get_yaxis().set_visible(False)
 +</code>
 +
 +<code python>
 +X_train.shape
 +</code>
 +
 +<code>
 +(60000, 28, 28)
 +</code>
 +
 +<code python>
 +temp = []
 +for i in range(len(y_train)):
 +    temp.append(to_categorical(y_train[i], num_classes=10))
 +
 +y_train = np.array(temp)
 +
 +temp = []
 +for i in range(len(y_test)):
 +    temp.append(to_categorical(y_test[i], num_classes=10))
 +
 +y_test = np.array(temp)
 +y_test
 +</code>
 +
 +<code>
 +array([[0., 0., 0., ..., 1., 0., 0.],
 +       [0., 0., 1., ..., 0., 0., 0.],
 +       [0., 1., 0., ..., 0., 0., 0.],
 +       ...,
 +       [0., 0., 0., ..., 0., 0., 0.],
 +       [0., 0., 0., ..., 0., 0., 0.],
 +       [0., 0., 0., ..., 0., 0., 0.]])
 +</code>
 +
 +<code python>
 +model=Sequential()
 +model.add(Flatten(input_shape=(28,28)))
 +model.add(Dense(30,activation='sigmoid'))
 +model.add(Dense(10,activation='softmax'))
 +</code>
 +
 +<code>
 +C:\Users\user\anaconda3\envs\tf-env\lib\site-packages\keras\src\layers\reshaping\flatten.py:37: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.
 +  super().__init__(**kwargs)
 +</code>
 +
 +<code python>
 +model.summary()
 +</code>
 +
 +
 +<code python>
 +model.compile(loss='categorical_crossentropy', 
 +     optimizer='adam',
 +     metrics=['acc'])
 +</code>
 +
 +<code python>
 +model.fit(X_train, y_train, epochs=30, validation_data=(X_test,y_test))
 +</code>
 +
 +<code>
 +Epoch 1/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m3s[0m 1ms/step - acc: 0.6591 - loss: 1.1976 - val_acc: 0.8627 - val_loss: 0.4906
 +Epoch 2/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m3s[0m 1ms/step - acc: 0.8586 - loss: 0.4965 - val_acc: 0.8737 - val_loss: 0.4288
 +Epoch 3/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m3s[0m 1ms/step - acc: 0.8715 - loss: 0.4334 - val_acc: 0.8783 - val_loss: 0.3984
 +Epoch 4/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m2s[0m 1ms/step - acc: 0.8731 - loss: 0.4181 - val_acc: 0.8837 - val_loss: 0.3994
 +Epoch 5/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m3s[0m 1ms/step - acc: 0.8804 - loss: 0.3992 - val_acc: 0.8867 - val_loss: 0.3678
 +Epoch 6/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m3s[0m 2ms/step - acc: 0.8810 - loss: 0.3967 - val_acc: 0.8823 - val_loss: 0.3897
 +Epoch 7/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m3s[0m 2ms/step - acc: 0.8860 - loss: 0.3771 - val_acc: 0.8923 - val_loss: 0.3606
 +Epoch 8/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m3s[0m 1ms/step - acc: 0.8867 - loss: 0.3791 - val_acc: 0.8945 - val_loss: 0.3498
 +Epoch 9/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m3s[0m 1ms/step - acc: 0.8910 - loss: 0.3633 - val_acc: 0.8944 - val_loss: 0.3601
 +Epoch 10/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m3s[0m 1ms/step - acc: 0.8910 - loss: 0.3698 - val_acc: 0.9007 - val_loss: 0.3241
 +Epoch 11/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m3s[0m 1ms/step - acc: 0.8986 - loss: 0.3333 - val_acc: 0.8960 - val_loss: 0.3465
 +Epoch 12/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m3s[0m 1ms/step - acc: 0.8965 - loss: 0.3349 - val_acc: 0.9051 - val_loss: 0.3203
 +Epoch 13/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m3s[0m 1ms/step - acc: 0.8987 - loss: 0.3334 - val_acc: 0.9017 - val_loss: 0.3273
 +Epoch 14/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m3s[0m 1ms/step - acc: 0.9017 - loss: 0.3230 - val_acc: 0.9012 - val_loss: 0.3284
 +Epoch 15/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m3s[0m 1ms/step - acc: 0.9048 - loss: 0.3170 - val_acc: 0.8981 - val_loss: 0.3411
 +Epoch 16/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m3s[0m 1ms/step - acc: 0.9016 - loss: 0.3239 - val_acc: 0.9087 - val_loss: 0.3094
 +Epoch 17/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m3s[0m 2ms/step - acc: 0.9080 - loss: 0.3062 - val_acc: 0.9084 - val_loss: 0.3149
 +Epoch 18/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m3s[0m 1ms/step - acc: 0.9085 - loss: 0.3071 - val_acc: 0.9080 - val_loss: 0.3014
 +Epoch 19/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m3s[0m 1ms/step - acc: 0.9118 - loss: 0.2924 - val_acc: 0.9091 - val_loss: 0.3022
 +Epoch 20/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m3s[0m 1ms/step - acc: 0.9124 - loss: 0.2905 - val_acc: 0.9110 - val_loss: 0.2999
 +Epoch 21/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m3s[0m 1ms/step - acc: 0.9065 - loss: 0.3072 - val_acc: 0.9124 - val_loss: 0.2897
 +Epoch 22/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m3s[0m 1ms/step - acc: 0.9131 - loss: 0.2855 - val_acc: 0.9063 - val_loss: 0.3060
 +Epoch 23/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m3s[0m 1ms/step - acc: 0.9117 - loss: 0.2928 - val_acc: 0.9152 - val_loss: 0.2822
 +Epoch 24/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m3s[0m 1ms/step - acc: 0.9166 - loss: 0.2763 - val_acc: 0.9173 - val_loss: 0.2861
 +Epoch 25/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m3s[0m 2ms/step - acc: 0.9142 - loss: 0.2826 - val_acc: 0.9085 - val_loss: 0.3033
 +Epoch 26/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m3s[0m 1ms/step - acc: 0.9140 - loss: 0.2870 - val_acc: 0.9129 - val_loss: 0.2918
 +Epoch 27/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m2s[0m 1ms/step - acc: 0.9162 - loss: 0.2756 - val_acc: 0.9175 - val_loss: 0.2661
 +Epoch 28/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m2s[0m 1ms/step - acc: 0.9210 - loss: 0.2651 - val_acc: 0.9173 - val_loss: 0.2832
 +Epoch 29/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m2s[0m 1ms/step - acc: 0.9164 - loss: 0.2777 - val_acc: 0.9134 - val_loss: 0.2857
 +Epoch 30/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m3s[0m 2ms/step - acc: 0.9212 - loss: 0.2649 - val_acc: 0.9152 - val_loss: 0.2803
 +
 +
 +
 +
 +
 +<keras.src.callbacks.history.History at 0x246dbb0af40>
 +</code>
 +
 +<code python>
 +predictions = model.predict(X_test)
 +predictions = np.argmax(predictions, axis=1)
 +predictions
 +</code>
 +
 +<code>
 +[1m313/313[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m0s[0m 977us/step
 +
 +
 +
 +
 +
 +array([7, 2, 1, ..., 4, 5, 6])
 +</code>
 +
 +<code python>
 +obraz, obszary = plt.subplots(ncols=10,nrows=4, sharex=False,
 +             sharey=True, figsize=(20, 14))
 +for i in range(40):
 +    obraz.axes[i].set_title(predictions[i])
 +    obraz.axes[i].imshow(X_test[i], cmap='gray')
 +    obraz.axes[i].get_xaxis().set_visible(False)
 +    obraz.axes[i].get_yaxis().set_visible(False)
 +plt.show()
 +</code>
 +
 +{{output_9_0.png|png}}
 +png
 +
 +
 +<code python>
 +model = Sequential([
 +   
 +    Conv2D(64, (3, 3), activation='relu', input_shape=(28, 28, 1)),
 +    MaxPooling2D(pool_size=(2, 2)),
 +    Dropout(0.35),
 +    Flatten(),
 +    Dense(128, activation='relu'),
 +    Dropout(0.3),
 +    Dense(10, activation='softmax')])
 +</code>
 +
 +<code>
 +C:\Users\user\anaconda3\envs\tf-env\lib\site-packages\keras\src\layers\convolutional\base_conv.py:107: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.
 +  super().__init__(activity_regularizer=activity_regularizer, **kwargs)
 +</code>
 +
 +<code python>
 +model.summary()
 +</code>
 +
 +
 +<code python>
 +model.compile(loss='categorical_crossentropy', 
 +     optimizer='adam',
 +     metrics=['acc'])
 +</code>
 +
 +<code python>
 +model.fit(X_train, y_train, epochs=30, validation_data=(X_test,y_test))
 +</code>
 +
 +<code>
 +Epoch 1/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m16s[0m 8ms/step - acc: 0.7554 - loss: 2.4505 - val_acc: 0.9637 - val_loss: 0.1204
 +Epoch 2/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m15s[0m 8ms/step - acc: 0.9412 - loss: 0.2183 - val_acc: 0.9777 - val_loss: 0.0829
 +Epoch 3/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m15s[0m 8ms/step - acc: 0.9584 - loss: 0.1487 - val_acc: 0.9740 - val_loss: 0.0873
 +Epoch 4/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m15s[0m 8ms/step - acc: 0.9639 - loss: 0.1251 - val_acc: 0.9797 - val_loss: 0.0889
 +Epoch 5/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m15s[0m 8ms/step - acc: 0.9683 - loss: 0.1132 - val_acc: 0.9800 - val_loss: 0.0841
 +Epoch 6/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m15s[0m 8ms/step - acc: 0.9723 - loss: 0.1024 - val_acc: 0.9757 - val_loss: 0.0832
 +Epoch 7/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m15s[0m 8ms/step - acc: 0.9732 - loss: 0.0952 - val_acc: 0.9822 - val_loss: 0.0841
 +Epoch 8/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m15s[0m 8ms/step - acc: 0.9768 - loss: 0.0841 - val_acc: 0.9804 - val_loss: 0.0834
 +Epoch 9/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m17s[0m 9ms/step - acc: 0.9760 - loss: 0.0881 - val_acc: 0.9817 - val_loss: 0.0753
 +Epoch 10/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m16s[0m 9ms/step - acc: 0.9788 - loss: 0.0755 - val_acc: 0.9834 - val_loss: 0.0765
 +Epoch 11/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m15s[0m 8ms/step - acc: 0.9796 - loss: 0.0740 - val_acc: 0.9806 - val_loss: 0.0878
 +Epoch 12/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m16s[0m 8ms/step - acc: 0.9793 - loss: 0.0710 - val_acc: 0.9830 - val_loss: 0.0877
 +Epoch 13/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m16s[0m 8ms/step - acc: 0.9795 - loss: 0.0760 - val_acc: 0.9823 - val_loss: 0.0970
 +Epoch 14/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m16s[0m 8ms/step - acc: 0.9812 - loss: 0.0727 - val_acc: 0.9834 - val_loss: 0.0954
 +Epoch 15/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m16s[0m 8ms/step - acc: 0.9816 - loss: 0.0699 - val_acc: 0.9826 - val_loss: 0.0867
 +Epoch 16/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m16s[0m 8ms/step - acc: 0.9816 - loss: 0.0655 - val_acc: 0.9823 - val_loss: 0.0938
 +Epoch 17/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m16s[0m 8ms/step - acc: 0.9815 - loss: 0.0727 - val_acc: 0.9823 - val_loss: 0.0904
 +Epoch 18/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m16s[0m 8ms/step - acc: 0.9835 - loss: 0.0632 - val_acc: 0.9825 - val_loss: 0.1071
 +Epoch 19/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m16s[0m 8ms/step - acc: 0.9828 - loss: 0.0639 - val_acc: 0.9817 - val_loss: 0.1091
 +Epoch 20/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m16s[0m 8ms/step - acc: 0.9843 - loss: 0.0574 - val_acc: 0.9833 - val_loss: 0.1257
 +Epoch 21/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m16s[0m 8ms/step - acc: 0.9844 - loss: 0.0643 - val_acc: 0.9828 - val_loss: 0.1115
 +Epoch 22/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m16s[0m 8ms/step - acc: 0.9838 - loss: 0.0656 - val_acc: 0.9847 - val_loss: 0.0853
 +Epoch 23/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m16s[0m 8ms/step - acc: 0.9837 - loss: 0.0650 - val_acc: 0.9836 - val_loss: 0.0992
 +Epoch 24/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m16s[0m 8ms/step - acc: 0.9831 - loss: 0.0692 - val_acc: 0.9836 - val_loss: 0.1028
 +Epoch 25/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m16s[0m 8ms/step - acc: 0.9851 - loss: 0.0630 - val_acc: 0.9851 - val_loss: 0.1152
 +Epoch 26/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m16s[0m 8ms/step - acc: 0.9852 - loss: 0.0602 - val_acc: 0.9853 - val_loss: 0.1016
 +Epoch 27/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m16s[0m 8ms/step - acc: 0.9850 - loss: 0.0641 - val_acc: 0.9832 - val_loss: 0.1014
 +Epoch 28/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m16s[0m 8ms/step - acc: 0.9857 - loss: 0.0597 - val_acc: 0.9839 - val_loss: 0.1153
 +Epoch 29/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m16s[0m 9ms/step - acc: 0.9864 - loss: 0.0586 - val_acc: 0.9834 - val_loss: 0.1218
 +Epoch 30/30
 +[1m1875/1875[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m16s[0m 8ms/step - acc: 0.9865 - loss: 0.0571 - val_acc: 0.9829 - val_loss: 0.1139
 +
 +
 +
 +
 +
 +<keras.src.callbacks.history.History at 0x246de80ac70>
 +</code>
 +
 +<code python>
 +predictions = model.predict(X_test)
 +predictions = np.argmax(predictions, axis=1)
 +predictions
 +</code>
 +
 +<code>
 +[1m313/313[0m [32m━━━━━━━━━━━━━━━━━━━━[0m[37m[0m [1m1s[0m 2ms/step  
 +
 +
 +
 +
 +
 +array([7, 2, 1, ..., 4, 5, 6])
 +</code>
 +
 +<code python>
 +obraz, obszary = plt.subplots(ncols=10,nrows=4, sharex=False,
 +             sharey=True, figsize=(20, 14))
 +for i in range(40):
 +    obraz.axes[i].set_title(predictions[i])
 +    obraz.axes[i].imshow(X_test[i], cmap='gray')
 +    obraz.axes[i].get_xaxis().set_visible(False)
 +    obraz.axes[i].get_yaxis().set_visible(False)
 +plt.show()
 +</code>
 +
 +{{output_15_0.png|png}}
 png png
  
notatki/studianoteaptaszniml.1746618597.txt.gz · ostatnio zmienione: przez administrator