Hocam şu videoyu baştan sona izledim. İnan o kadar faydalı bir video ki. Teori derslerin yanında böyle sık sık uygulama videosu çeksen pek faydalı oluyor. Teori de uyulama da çok önemli. Her ikisini de es geçmemek lazım. Allah senden razı olsun :)
Merhabalar. ValueError: Error when checking input: expected sequential_1_input to have 2 dimensions, but got array with shape (32, 256, 256, 3) böyle bir hata alıyorum nedeni ne olabilir. Araştırdım ama bir türlü bulamadım.
Üstadım eline sağlık. Fully connected layer ile de alaka bir iki örnek videosu çeksen pek makbule geçer. Elimde 60 satırlı bir veri seti var, train ettiğimde acc değeri 0.03 larda kalıyor nerde hata yapıyorum, veriler gerçek. Bu durumu nasıl aşabilirim.
cv2.error: OpenCV(4.1.2) C:\projects\opencv-python\opencv\modules\imgproc\src esize.cpp:3720: error: (-215:Assertion failed) !ssize.empty() in function 'cv::resize' bu hata neden olur?
4 ปีที่แล้ว
Ya bu opencv'nin garip gureba hataları. OpenCV normalde C++'da kodlanıyor. Python versiyonu C++ fonksiyonlarını çalıştırıyor. Büyük ihtimal boş resim çekiyorsunuz. resize'dan önce cv2.imshow() yapar mısınız? Resim adresi vb. yanlıştır, resmi sisteme hiç alamıyor. Bu yüzden resim size'Ina empty diyor.
hocam ben harfleri sınıflandırmaya çalışıyorum 32 harf var ve büyük küçük olunca 64 ediyor bir font için sizin gibi yapacağım zaman [1,0][1.0][0,1][0,1]... diye devam etmesi gerekiyor 32 lik bir dizin oluşturup mu 0,1 atamalıyım bu çok saçma olmaz mı yardımlarınızı bekliyorum.
kerası indirdim ama No module named tensorflow şeklinde hata çıkıyor. Başka bi sebebten dolayı mı ki?
6 ปีที่แล้ว +1
Kodunuzun en en başına : import os os.environ["KERAS_BACKEND"] = "theano" import keras; import keras.backend if keras.backend.backend() != 'theano': raise BaseException("This script uses other backend") else: keras.backend.set_image_dim_ordering('th') print("Backend ok") Bunu deneyin, arkada tensorflow yerine Theano ile çalışır, fakat gene aynı şeyi kodlarsınız.
Bu mantıkta olan Keras fonksyionu var. silgi adlı klasör acıp tüm silgi resimlerini numpy kullanmadan bir klasöre, tüm kalem resimlerini kalem adlı klasörün içine numpy kullanmadan atıp, keras ın flow from directory metoduyla alırım. www.kaggle.com/ievgenvp/keras-flow-from-directory-on-python veyahut, gene iki ayrı klasörde resmin boyutları küçük oldugu zaman direkt opencv'nin bir metodunu kullanarak klasördeki tüm resimleri aynı boyuta çekip numpy da saklar, onu daha sonra eğitime alırım.
Hocan elinize yüreğinize sağlık, derin öğrenme üzerinde çalışmalar yapıyorum, Matlab ın hazır toollarını kullanmaya başladım. Videolarınızdan oldukça fazla istifade ediyorum. İlerleyen zamanda sizinle tanışmak isterim. Hukuk öğrencisiyim. Hukuki konuna merak ettiğiniz birşey filan olursa lütfen çekinmeyin. Sorularınıza yanıt olmaktan mutluluk duyarım :)
6 ปีที่แล้ว +1
Ömer Şentürk Hukukta olup da bu isle ilgilenmeniz baya sasirtti,masaAllah. mumkun oldukca her sorunuzu yanitlarim ederim. Yapay zekanin her alanda kullanilmasi lazm. bu teknolpjik alanlardwn sosyal alanlara yayilacak. tebrik ediyorum basarilarinizin devamini diliyorum
Hocam iyi çalışmalar , şöyle bir hata aldım internette gördüğüm şeyleri denedim ama bir çözüm bulamadım , bakabilir misiniz ? boyutlandirilmisresim = cv2.resize(klasordenalinmisresim,(224,224)) cv2.error: OpenCV(3.4.3) /Users/travis/build/skvark/opencv-python/opencv/modules/imgproc/src/resize.cpp:4044: error: (-215:Assertion failed) !ssize.empty() in function 'resize'
6 ปีที่แล้ว
Klasör ismini doğru yazmadınız büyük ihtimal. Kontrol eder misiniz, Bu hatanın oldugu satıra kadarki kodu atar mısınız? imread fonksiyonunda hata verdi mi?
import cv2 import numpy as np def resmiklasordenal(dosyaadi): resim = cv2.imread("%s"%dosyaadi) return resim girisverisi = np.array([]) for i in range (40): klasordenalinmisresim=0 i=i+1 string = 'veriseti/%s.jpg'%i klasordenalinmisresim = resmiklasordenal(string) boyutlandirilmisresim = cv2.resize(klasordenalinmisresim, (224,224)) Kodlar bu şekilde hocam
Klasör adı veriseti resimler jpg formatında içinde
6 ปีที่แล้ว
Resmi çekemiyor olması lazım. hala bakıyroum.
6 ปีที่แล้ว
Galiba içinde hatalı resimler var. Hatadan kastım formatı bozulmus resimler. Bundan tabi emin olamıyoruz. O yüzden önce şunu yapın. dosyanın içindeki bir resmin adını alın. veriseti/1.jpg olsun. Ardından yeni bir .py dosyasnda şunu deneyin. import cv2 import numpy as np def resmiklasordenal(dosyaadi): resim = cv2.imread("%s"%dosyaadi) return resim resim = resmiklasordenal("veriseti/1.jpg") cv2.imshow('image',resim) cv2.waitKey(0) cv2.destroyAllWindows() Ayrıca, .py dosyanızın olduğu klasörde veriseti klasör var değil mi? -Proje dosyanız --.py dosyanız -- veriseti --1.jpg --2.jpg
1000 adet resimde ilk 200 tanesi 0' I temsil eden el resmi, 200 tanesi 1'i temsil eden el resmi aynı şekilde diğerleri de 2 3 ve 4'ü temsil etmektedir. cıkışverisi=np.array([1,0],[1,0]............) siz bu şekilde verileri etiketlediniz ancak ben 0,1,2,3,4 şeklinde etiketlenmesini istiyorum ?
6 ปีที่แล้ว
Şöyle yapacaksınız. Toplam beş sınıf. 1. sınıf -> [1,0,0,0,0] 2. sınıf [0,1,0,0,0] diye devam edecek. bunun için: cikis = np.array([]) birler = np.array([ [1,0,0,0,0]]) ikiler = np.array([ [0,1,0,0,0]]) böyle yazın. Sonra numpy ın tile fonksiyonunu kullanın. Ayni elemnadan 200 tane üretecek. cikis = np.append(cikis,np.tile(birler,200)) cikis = np.append(cikis,np.tile(ikiler,200)) cikis = np.append(cikis,np.tile(ucler,200)) cikis = np.append(cikis,np.tile(dortler,200)) cikis = np.append(cikis,np.tile(besler,200)) print(cikis.shape)
bu kod 1000 adet verimden sürekli ilk 200 taneyi almaz değil mi?
6 ปีที่แล้ว
yaptığınız şey 200 tane 1 i cikis verisetinize ekliyor. Ardından 200 tane 2 yi, ardından 200 tane 3 ü ... Siz ise hepsinin yani 1000 tane nin bulunduğu cikis verisetini modele verecekisiniz.
Merhaba videolar benim için bayağı faydalı oldu, teşekkür ederim, Bi de, bi hata alıyorum yardımcı olabilir misiniz?: kod satırım bu ==> from keras.layers import MaxPooling2D ... model = model.add(MaxPooling2D((5,5))) hata ==========>model = model.add(MaxPooling2D((5,5))) AttributeError: 'NoneType' object has no attribute 'add'
6 ปีที่แล้ว
Saliha Kevser KAVUNCU videonun devamini izlersenjz orada hata yaptigimi soylemjstim devaminda gorursunjz dogrusunu. kusura bakmayin. model = yerine direkt olarak model.add olmali
Tahmin yapmak için bu kodu yazdım.Ama hata alıyorum. image2D = np.array(cv2.resize(cv2.imread('cat.1.jpg', 0), (224, 224))) imageData = image2D.reshape(224, 224, 3) prediction = model.predict([imageData])[0] print(prediction) Hata mesajı: ValueError: cannot reshape array of size 50176 into shape (224,224,3)
Böyle bi hata aldım 2022-10-05 12:24:20.813959: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'cudart64_110.dll'; dlerror: cudart64_110.dll not found 2022-10-05 12:24:20.814157: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine. Traceback (most recent call last): File "C:\Users\GAMEPOVER\Desktop\cnndenemesi\egitim.py", line 6, in from keras.layers.normalization import BatchNormalization ImportError: cannot import name 'BatchNormalization' from 'keras.layers.normalization' (C:\Users\GAMEPOVER\Desktop\cnndenemesi\lib\site-packages\keras\layers ormalization\__init__.py) anlamadım napıcam edit: tamamdır yaptım hatayı ctrlc ctrl v yaptım google videdaki gibi bu çıktı stackoverflow.com/questions/69471749/importerror-cannot-import-name-batchnormalization-from-keras-layers-normaliz muhammet talha diyo bide helal olsun
@@alpercelik8624 ya Çok zaman geçti üstünden .. Kodun tam olarak neresinde değişiklik yapmalısın söylemem zor. ama şimdi kısaca videoya bir göz gezdirdim ilgili kısmıda bir türlü bulamadım.. Aklımda kaldıgı ve anladığım kadarını söyliyeyim Giriş Verisi 30 resimden oluşuyor 224X224 Boyutlarında ve Renkli oldugundan 3 Byte Yani Burda 4 'lü bir matris var 30 * 224 * 224 * 3 Fakat Benim Programda Split verisi Matristi tek bir matristi 752640 buda hataya neden oluyordu. Yani Split verisinide Reshape yapmak lazım Şimdi Kod olmadığı için SplitVerisi RGB mi Yoksa Sihay Beyazmı hatırlamıyorum ama Muhtemelen Siyah beyazdı .. Siyah beyaz ise bu demek oluyorki senin 15 resmin var Ozaman splitverisi = np.reshape(splitverisi,(-1,224,224,1)) Kodunu eklemek lazım Renkli ise Buda 5 Resim var demek .. Ozamanda splitverisi = np.reshape(splitverisi,(-1,224,224,3)) Kodunu Kullanmalısın..
Hocam şu videoyu baştan sona izledim. İnan o kadar faydalı bir video ki. Teori derslerin yanında böyle sık sık uygulama videosu çeksen pek faydalı oluyor. Teori de uyulama da çok önemli. Her ikisini de es geçmemek lazım. Allah senden razı olsun :)
Elinize, ağzınıza sağlık. Videoların devamını bekliyorum. Kolay gelsin
Elinize kolunuza sağlık
Hocam sizi çok takdir ediyorum. Videoların devamını bekliyoruz elinize sağlık..
Ahmet Berk Koşal Allah razi olsun efendim, sizleri de bekleriz bu tarz islere
Yakında aranıza katılacağım..
Yolun açık olsun güzel kardeşim teşekkür ederiz.
Kolay gelsin mukemmel bir video olmus en kisa zamanda 2. Videoyu bekliyorum cok ihtiyacimiz var :)
Çok güzel, birde ses daha iyi olsaydı 10 numara olurdu. :)
Merhabalar. ValueError: Error when checking input: expected sequential_1_input to have 2 dimensions, but got array with shape (32, 256, 256, 3) böyle bir hata alıyorum nedeni ne olabilir. Araştırdım ama bir türlü bulamadım.
Haftada 1 kez bakabiliyorum kafayı yicem her şeyi unuttum ve hala aynı videodayım
Üstadım eline sağlık. Fully connected layer ile de alaka bir iki örnek videosu çeksen pek makbule geçer. Elimde 60 satırlı bir veri seti var, train ettiğimde acc değeri 0.03 larda kalıyor nerde hata yapıyorum, veriler gerçek. Bu durumu nasıl aşabilirim.
cv2.error: OpenCV(4.1.2) C:\projects\opencv-python\opencv\modules\imgproc\src
esize.cpp:3720: error: (-215:Assertion failed) !ssize.empty() in function 'cv::resize'
bu hata neden olur?
Ya bu opencv'nin garip gureba hataları. OpenCV normalde C++'da kodlanıyor. Python versiyonu C++ fonksiyonlarını çalıştırıyor. Büyük ihtimal boş resim çekiyorsunuz. resize'dan önce cv2.imshow() yapar mısınız?
Resim adresi vb. yanlıştır, resmi sisteme hiç alamıyor. Bu yüzden resim size'Ina empty diyor.
Hata alıyorum ve bir türlü düzeltemiyorum. Yardımcı olurmusunuz?
Aldığım hata şöyle:
File "C:/Users/PC/DerinOgrenme/egitim.py", line 25, in
splitverisi=splitverisi.reshape(-1,224,224,3)
ValueError: cannot reshape array of size 6 into shape (224,224,3)
Kodlarım şöyle:
girisverisi=np.load("girisverimiz.npy")
giriverisi=np.reshape(girisverisi,(-1,224,224,3))
cikisverisi=np.array([[1,0],[1,0],[1,0],[1,0],[1,0],[1,0],[1,0],[1,0],[1,0],[1,0],[1,0],[1,0],[1,0],[1,0],[1,0],[0,1],[0,1],[0,1],[0,1],[0,1],[0,1],[0,1],[0,1],[0,1],[0,1],[0,1],[0,1],[0,1],[0,1],[0,1]])
splitverisi=girisverisi[1:4]
splitverisi=np.append(splitverisi,girisverisi[24:27])
splitverisi=splitverisi.reshape(-1,224,224,3)
splitcikis=np.array([[1,0],[1,0],[1,0],[0,1],[0,1],[0,1]])
#print(cikisverisi.shape)
model=Sequential()
model.add(Conv2D(50,11,strides=(4,4),input_shape=(224,224,3) ))
model.add(MaxPooling2D((5,5)))
model.add(Conv2D(50,5))
model.add(Conv2D(50,3))
model.add(Conv2D(50,3))
model.add(Conv2D(50,2))
model.add(Flatten())
model.add(Dense(4096,activation='relu'))
model.add(Dropout(0,3))
model.add(Dense(4096,activation='relu'))
model.add(Dense(2))
model.add(Activation('softmax'))
model.compile(loss='categorical_crossentropy',optimizer=optimizers.RMSprop(lr=0.00001),metrics=['accuracy'])
model.summary()
print(splitverisi.shape)
model.fit(girisverisi,cikisverisi,batch_size=2,epochs=2,validation_data=(splitverisi,splitcikis))
hocam ben harfleri sınıflandırmaya çalışıyorum 32 harf var ve büyük küçük olunca 64 ediyor bir font için sizin gibi yapacağım zaman [1,0][1.0][0,1][0,1]... diye devam etmesi gerekiyor 32 lik bir dizin oluşturup mu 0,1 atamalıyım bu çok saçma olmaz mı yardımlarınızı bekliyorum.
preferences project interpreter dan tensorflow u indirmiyor hata veriyor Tensorflowu nasıl ekleyebiriz
Sadece keras indirirseniz hepsi iner : th-cam.com/video/WWLcq8Yeypk/w-d-xo.html
kerası indirdim ama No module named tensorflow şeklinde hata çıkıyor. Başka bi sebebten dolayı mı ki?
Kodunuzun en en başına :
import os
os.environ["KERAS_BACKEND"] = "theano"
import keras; import keras.backend
if keras.backend.backend() != 'theano':
raise BaseException("This script uses other backend")
else:
keras.backend.set_image_dim_ordering('th')
print("Backend ok")
Bunu deneyin, arkada tensorflow yerine Theano ile çalışır, fakat gene aynı şeyi kodlarsınız.
Hocam 15 silgi 15 kalem resmini elle etiketlemişsiniz peki bu 1000 silgi 1000 kalem olsaydı nasıl yapardınız.
def cikisverisi(resim_adi):
obje_turu = resim_adi.split('.')[-3]
if obje_turu == 'cat':
return np.array([1, 0])
elif obje_turu == 'dog':
return np.array([0, 1])
Bu mantıkta olan Keras fonksyionu var. silgi adlı klasör acıp tüm silgi resimlerini numpy kullanmadan bir klasöre, tüm kalem resimlerini kalem adlı klasörün içine numpy kullanmadan atıp, keras ın flow from directory metoduyla alırım.
www.kaggle.com/ievgenvp/keras-flow-from-directory-on-python
veyahut, gene iki ayrı klasörde resmin boyutları küçük oldugu zaman direkt opencv'nin bir metodunu kullanarak klasördeki tüm resimleri aynı boyuta çekip numpy da saklar, onu daha sonra eğitime alırım.
Makine Öğrenmesi sayın hocam etiketliyeceğim isimler cat ve dog şeklindeyse yukarida benim yazdığım fonksiyon iş görürmü
yaraması lazım hocam
ama bir klasorde her resmin adı kedi.jpg olamaz ki,
abi sadece senin sayende başka kabal değil sadece senin sayende 10 yaşında yapay sinir ağı yaptım
Lütfen daha fazla video, c # gibi dillerde anlatım yapsanız çok iyi olur. Kaynak bi siz vardınız
C sharp malesef bilmiyorum
Hocan elinize yüreğinize sağlık, derin öğrenme üzerinde çalışmalar yapıyorum, Matlab ın hazır toollarını kullanmaya başladım. Videolarınızdan oldukça fazla istifade ediyorum. İlerleyen zamanda sizinle tanışmak isterim. Hukuk öğrencisiyim. Hukuki konuna merak ettiğiniz birşey filan olursa lütfen çekinmeyin. Sorularınıza yanıt olmaktan mutluluk duyarım :)
Ömer Şentürk Hukukta olup da bu isle ilgilenmeniz baya sasirtti,masaAllah. mumkun oldukca her sorunuzu yanitlarim ederim. Yapay zekanin her alanda kullanilmasi lazm. bu teknolpjik alanlardwn sosyal alanlara yayilacak. tebrik ediyorum basarilarinizin devamini diliyorum
"Ne kadar amele iş varsa çözmeye çalışıcağız " 5.54 :D
Şirin gösterecek halim yoktu :D
Teşekkürler, çok eğlenerek ve öğrenerek izliyoruz...
GOAT
Hocam utandim ya
@ ytyi bıraktın sandım video gelcek mi
Yeni video *
@@Sa-pj2qy calısıyoruz hocam, belki ilerde rahata erersem biraz
Hocam size ulaşabileceğim bi yer var mı ? mail vs.
Proton makineogrenmesibrk@gmail.com buradan konusalim hocam
Hocam iyi çalışmalar , şöyle bir hata aldım internette gördüğüm şeyleri denedim ama bir çözüm bulamadım , bakabilir misiniz ?
boyutlandirilmisresim = cv2.resize(klasordenalinmisresim,(224,224))
cv2.error: OpenCV(3.4.3) /Users/travis/build/skvark/opencv-python/opencv/modules/imgproc/src/resize.cpp:4044: error: (-215:Assertion failed) !ssize.empty() in function 'resize'
Klasör ismini doğru yazmadınız büyük ihtimal. Kontrol eder misiniz, Bu hatanın oldugu satıra kadarki kodu atar mısınız? imread fonksiyonunda hata verdi mi?
import cv2
import numpy as np
def resmiklasordenal(dosyaadi):
resim = cv2.imread("%s"%dosyaadi)
return resim
girisverisi = np.array([])
for i in range (40):
klasordenalinmisresim=0
i=i+1
string = 'veriseti/%s.jpg'%i
klasordenalinmisresim = resmiklasordenal(string)
boyutlandirilmisresim = cv2.resize(klasordenalinmisresim, (224,224))
Kodlar bu şekilde hocam
Klasör adı veriseti resimler jpg formatında içinde
Resmi çekemiyor olması lazım. hala bakıyroum.
Galiba içinde hatalı resimler var. Hatadan kastım formatı bozulmus resimler. Bundan tabi emin olamıyoruz. O yüzden önce şunu yapın.
dosyanın içindeki bir resmin adını alın. veriseti/1.jpg olsun. Ardından yeni bir .py dosyasnda şunu deneyin.
import cv2
import numpy as np
def resmiklasordenal(dosyaadi):
resim = cv2.imread("%s"%dosyaadi)
return resim
resim = resmiklasordenal("veriseti/1.jpg")
cv2.imshow('image',resim)
cv2.waitKey(0)
cv2.destroyAllWindows()
Ayrıca, .py dosyanızın olduğu klasörde veriseti klasör var değil mi?
-Proje dosyanız
--.py dosyanız
-- veriseti
--1.jpg
--2.jpg
Hocam elimde 1000 veri var var ve bunları 5 sınıfa ayırmak istiyorum veri etiketleme de daha kolay bir yöntem var mı ?
Verilerinizi ve sınıflarınozı acıklar msnz
1000 adet resimde ilk 200 tanesi 0' I temsil eden el resmi, 200 tanesi 1'i temsil eden el resmi aynı şekilde diğerleri de 2 3 ve 4'ü temsil etmektedir.
cıkışverisi=np.array([1,0],[1,0]............)
siz bu şekilde verileri etiketlediniz ancak ben
0,1,2,3,4 şeklinde etiketlenmesini istiyorum ?
Şöyle yapacaksınız. Toplam beş sınıf. 1. sınıf -> [1,0,0,0,0] 2. sınıf [0,1,0,0,0] diye devam edecek. bunun için:
cikis = np.array([])
birler = np.array([ [1,0,0,0,0]])
ikiler = np.array([ [0,1,0,0,0]])
böyle yazın. Sonra numpy ın tile fonksiyonunu kullanın. Ayni elemnadan 200 tane üretecek.
cikis = np.append(cikis,np.tile(birler,200))
cikis = np.append(cikis,np.tile(ikiler,200))
cikis = np.append(cikis,np.tile(ucler,200))
cikis = np.append(cikis,np.tile(dortler,200))
cikis = np.append(cikis,np.tile(besler,200))
print(cikis.shape)
bu kod 1000 adet verimden sürekli ilk 200 taneyi almaz değil mi?
yaptığınız şey 200 tane 1 i cikis verisetinize ekliyor. Ardından 200 tane 2 yi, ardından 200 tane 3 ü ... Siz ise hepsinin yani 1000 tane nin bulunduğu cikis verisetini modele verecekisiniz.
Merhaba videolar benim için bayağı faydalı oldu, teşekkür ederim,
Bi de, bi hata alıyorum yardımcı olabilir misiniz?:
kod satırım bu ==> from keras.layers import MaxPooling2D
...
model = model.add(MaxPooling2D((5,5)))
hata ==========>model = model.add(MaxPooling2D((5,5)))
AttributeError: 'NoneType' object has no attribute 'add'
Saliha Kevser KAVUNCU videonun devamini izlersenjz orada hata yaptigimi soylemjstim devaminda gorursunjz dogrusunu. kusura bakmayin. model = yerine direkt olarak model.add olmali
Tahmin yapmak için bu kodu yazdım.Ama hata alıyorum.
image2D = np.array(cv2.resize(cv2.imread('cat.1.jpg', 0), (224, 224)))
imageData = image2D.reshape(224, 224, 3)
prediction = model.predict([imageData])[0]
print(prediction)
Hata mesajı:
ValueError: cannot reshape array of size 50176 into shape (224,224,3)
Kolay gelsin .. Hatayı bulamadıysan hala .
image2D = np.array(cv2.resize(cv2.imread('cat.1.jpg', 0), (224, 224)))
kodunu şununla değiştir
image2D = np.array(cv2.resize(cv2.imread('cat.1.jpg',), (224, 224)))
Program çalışıcaktır
Böyle bi hata aldım
2022-10-05 12:24:20.813959: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'cudart64_110.dll'; dlerror: cudart64_110.dll not found
2022-10-05 12:24:20.814157: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.
Traceback (most recent call last):
File "C:\Users\GAMEPOVER\Desktop\cnndenemesi\egitim.py", line 6, in
from keras.layers.normalization import BatchNormalization
ImportError: cannot import name 'BatchNormalization' from 'keras.layers.normalization' (C:\Users\GAMEPOVER\Desktop\cnndenemesi\lib\site-packages\keras\layers
ormalization\__init__.py)
anlamadım napıcam
edit: tamamdır yaptım hatayı ctrlc ctrl v yaptım google videdaki gibi bu çıktı
stackoverflow.com/questions/69471749/importerror-cannot-import-name-batchnormalization-from-keras-layers-normaliz
muhammet talha diyo bide helal olsun
[EDIT :]
hatanın sebebini buldum ... splitverisinide Reshape yapmak gerekiyor Videoda bunu yapıyor ama Ben o arayı atlayarak Geçtiğimden farkedemişim..
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Bende yapamadım bir turlu. Kodlar Senin kodlarının aynısı.. Ama hata veririyor.
ValueError: Error when checking input: expected conv2d_1_input to have 4 dimensions, but got array with shape (752640, 1)
Girisverisi Boyutları da doğru
In [1]: veriseti.size
Out[1]: 4515840
in [2]: girisverisi.size
Out[2]: 4515840
In [3]: girisverisi.shape
Out[3]: (30, 224, 224, 3)
Size 'lar dogru gosteriyor. 30*224*224*3 = 4515840
Fakat verdiği hatada 752640 gosteriyor buda 15*224*224*1
Yani RGB 3 kanal almasına ragmen sanki 1 kanal varmıs gibi yapıyor
Sorun ne acaba yardımcı olurmusun ?
Layer (type) Output Shape Param #
=================================================================
conv2d_1 (Conv2D) (None, 54, 54, 96) 34944
_________________________________________________________________
max_pooling2d_1 (MaxPooling2 (None, 10, 10, 96) 0
_________________________________________________________________
conv2d_2 (Conv2D) (None, 6, 6, 256) 614656
_________________________________________________________________
conv2d_3 (Conv2D) (None, 4, 4, 384) 885120
_________________________________________________________________
conv2d_4 (Conv2D) (None, 2, 2, 384) 1327488
_________________________________________________________________
conv2d_5 (Conv2D) (None, 1, 1, 256) 393472
_________________________________________________________________
flatten_1 (Flatten) (None, 256) 0
_________________________________________________________________
dense_1 (Dense) (None, 4096) 1052672
_________________________________________________________________
dropout_1 (Dropout) (None, 4096) 0
_________________________________________________________________
dense_2 (Dense) (None, 4096) 16781312
_________________________________________________________________
dense_3 (Dense) (None, 2) 8194
_________________________________________________________________
activation_1 (Activation) (None, 2) 0
=================================================================
Total params: 21,097,858
Trainable params: 21,097,858
Non-trainable params: 0
_________________________________________________________________
ValueError: Error when checking input: expected conv2d_1_input to have 4 dimensions, but got array with shape (752640, 1)
aynı hata var da nereyi düzelttiğini anlamadım?
@@alpercelik8624 ya Çok zaman geçti üstünden .. Kodun tam olarak neresinde değişiklik yapmalısın söylemem zor.
ama şimdi kısaca videoya bir göz gezdirdim ilgili kısmıda bir türlü bulamadım.. Aklımda kaldıgı ve anladığım kadarını söyliyeyim
Giriş Verisi 30 resimden oluşuyor 224X224 Boyutlarında ve Renkli oldugundan 3 Byte
Yani Burda 4 'lü bir matris var 30 * 224 * 224 * 3
Fakat Benim Programda Split verisi Matristi tek bir matristi 752640 buda hataya neden oluyordu.
Yani Split verisinide Reshape yapmak lazım
Şimdi Kod olmadığı için SplitVerisi RGB mi Yoksa Sihay Beyazmı hatırlamıyorum ama Muhtemelen Siyah beyazdı .. Siyah beyaz ise bu demek oluyorki senin 15 resmin var Ozaman
splitverisi = np.reshape(splitverisi,(-1,224,224,1)) Kodunu eklemek lazım
Renkli ise Buda 5 Resim var demek .. Ozamanda
splitverisi = np.reshape(splitverisi,(-1,224,224,3)) Kodunu Kullanmalısın..
bi müslüman kardeşimiz çalışan kod yazsa şuraya