Eğitim için veriyi hazırlama
Bu egzersizde, modeli eğitmek için veriyi hazırlamaya devam edeceksin. Cümleler ve bir sonraki karakterlerden oluşan dizileri oluşturduktan sonra, bunları modelde kullanılabilecek sayısal değerlere dönüştürmen gerekiyor.
Bu adım gerekli çünkü RNN modelleri metin (string) değil yalnızca sayılar bekler. Cümlelerde yer alan karakterleri temsil eden konumlarda sıfır veya birlerden oluşan sayısal diziler oluşturacaksın. Birler (veya True), ilgili karakterin mevcut olduğunu; sıfırlar (veya False) ise cümlenin o konumunda karakterin olmadığını gösterir.
sentences, next_char, n_vocab, chars_window, num_seqs (eğitim verisindeki cümle sayısı) değişkenleri ile numpy'nin np olarak içe aktarıldığı ortam hazır durumda.
Bu egzersiz
Keras ile Dil Modellemesi için Yinelenen Sinir Ağları (RNN)
kursunun bir parçasıdırEgzersiz talimatları
(cümle sayısı, karakter penceresi, sözlük boyutu)şeklinde ve sıfırlarla dolu birnp.array()oluştur.- Mevcut karakterin konumunu
1olarak ayarlamak içinchar_to_indexsözlüğünü kullan. - Mevcut bir sonraki karakteri
1olarak ayarla. - Her dizinin ilk konumunu yazdır.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# Instantiate the variables with zeros
numerical_sentences = np.zeros((____, ____, ____), dtype=np.bool)
numerical_next_chars = np.zeros((num_seqs, n_vocab), dtype=np.bool)
# Loop for every sentence
for i, sentence in enumerate(sentences):
# Loop for every character in sentence
for t, char in enumerate(sentence):
# Set position of the character to 1
numerical_sentences[i, t, ____] = ____
# Set next character to 1
____[i, char_to_index[next_chars[i]]] = 1
# Print the first position of each
print(____, ____, sep="\n")