import numpy as np
from tensorflow.keras .models import Sequential
from tensorflow.keras .layers import Embedding, SimpleRNN, Dense
# Generate some example data
num_samples = 1000
sequence_length = 10
vocab_size = 10000
X = np.random .randint ( vocab_size, size= ( num_samples, sequence_length) )
y = np.random .randint ( 2 , size= num_samples)
# Build the RNN model
model = Sequential( )
model.add ( Embedding( vocab_size, 32 , input_length= sequence_length) )
model.add ( SimpleRNN( 64 ) )
model.add ( Dense( 1 , activation= 'sigmoid' ) )
model.compile ( optimizer= 'adam' , loss= 'binary_crossentropy' , metrics= [ 'accuracy' ] )
# Train the model
model.fit ( X, y, epochs= 10 , batch_size= 32 , validation_split= 0.2 )
aW1wb3J0IG51bXB5IGFzIG5wCmZyb20gdGVuc29yZmxvdy5rZXJhcy5tb2RlbHMgaW1wb3J0IFNlcXVlbnRpYWwKZnJvbSB0ZW5zb3JmbG93LmtlcmFzLmxheWVycyBpbXBvcnQgRW1iZWRkaW5nLCBTaW1wbGVSTk4sIERlbnNlCiMgR2VuZXJhdGUgc29tZSBleGFtcGxlIGRhdGEKbnVtX3NhbXBsZXMgPSAxMDAwCnNlcXVlbmNlX2xlbmd0aCA9IDEwCnZvY2FiX3NpemUgPSAxMDAwMApYID0gbnAucmFuZG9tLnJhbmRpbnQodm9jYWJfc2l6ZSxzaXplPShudW1fc2FtcGxlcyxzZXF1ZW5jZV9sZW5ndGgpKQp5ID0gbnAucmFuZG9tLnJhbmRpbnQoMiwgc2l6ZT1udW1fc2FtcGxlcykKIyBCdWlsZCB0aGUgUk5OIG1vZGVsCm1vZGVsID0gU2VxdWVudGlhbCgpCm1vZGVsLmFkZChFbWJlZGRpbmcodm9jYWJfc2l6ZSwgMzIsIGlucHV0X2xlbmd0aD1zZXF1ZW5jZV9sZW5ndGgpKQptb2RlbC5hZGQoU2ltcGxlUk5OKDY0KSkKbW9kZWwuYWRkKERlbnNlKDEsIGFjdGl2YXRpb249J3NpZ21vaWQnKSkKbW9kZWwuY29tcGlsZShvcHRpbWl6ZXI9J2FkYW0nLCBsb3NzPSdiaW5hcnlfY3Jvc3NlbnRyb3B5JywgbWV0cmljcz1bJ2FjY3VyYWN5J10pCiMgVHJhaW4gdGhlIG1vZGVsCm1vZGVsLmZpdChYLCB5LCBlcG9jaHM9MTAsIGJhdGNoX3NpemU9MzIsIHZhbGlkYXRpb25fc3BsaXQ9MC4yKQ==
stdout
Train on 800 samples, validate on 200 samples
Epoch 1/10
32/800 [>.............................] - ETA: 6s - loss: 0.6930 - acc: 0.5000
320/800 [===========>..................] - ETA: 0s - loss: 0.6871 - acc: 0.5437
576/800 [====================>.........] - ETA: 0s - loss: 0.6911 - acc: 0.5087
768/800 [===========================>..] - ETA: 0s - loss: 0.6932 - acc: 0.5026
800/800 [==============================] - 1s 669us/sample - loss: 0.6941 - acc: 0.5013 - val_loss: 0.6927 - val_acc: 0.5250
Epoch 2/10
32/800 [>.............................] - ETA: 0s - loss: 0.6171 - acc: 0.7812
288/800 [=========>....................] - ETA: 0s - loss: 0.5742 - acc: 0.9201
608/800 [=====================>........] - ETA: 0s - loss: 0.4966 - acc: 0.9391
800/800 [==============================] - 0s 215us/sample - loss: 0.4343 - acc: 0.9413 - val_loss: 0.9552 - val_acc: 0.5400
Epoch 3/10
32/800 [>.............................] - ETA: 0s - loss: 0.0512 - acc: 1.0000
256/800 [========>.....................] - ETA: 0s - loss: 0.0356 - acc: 0.9922
512/800 [==================>...........] - ETA: 0s - loss: 0.0270 - acc: 0.9941
768/800 [===========================>..] - ETA: 0s - loss: 0.0202 - acc: 0.9961
800/800 [==============================] - 0s 227us/sample - loss: 0.0199 - acc: 0.9962 - val_loss: 1.3446 - val_acc: 0.5600
Epoch 4/10
32/800 [>.............................] - ETA: 0s - loss: 0.0015 - acc: 1.0000
320/800 [===========>..................] - ETA: 0s - loss: 0.0014 - acc: 1.0000
576/800 [====================>.........] - ETA: 0s - loss: 0.0013 - acc: 1.0000
800/800 [==============================] - 0s 226us/sample - loss: 0.0013 - acc: 1.0000 - val_loss: 1.3533 - val_acc: 0.5500
Epoch 5/10
32/800 [>.............................] - ETA: 0s - loss: 0.0010 - acc: 1.0000
288/800 [=========>....................] - ETA: 0s - loss: 7.9911e-04 - acc: 1.0000
544/800 [===================>..........] - ETA: 0s - loss: 7.7099e-04 - acc: 1.0000
800/800 [==============================] - 0s 202us/sample - loss: 7.1322e-04 - acc: 1.0000 - val_loss: 1.4214 - val_acc: 0.5500
Epoch 6/10
32/800 [>.............................] - ETA: 0s - loss: 5.0569e-04 - acc: 1.0000
256/800 [========>.....................] - ETA: 0s - loss: 5.4215e-04 - acc: 1.0000
480/800 [=================>............] - ETA: 0s - loss: 5.4389e-04 - acc: 1.0000
736/800 [==========================>...] - ETA: 0s - loss: 5.3328e-04 - acc: 1.0000
800/800 [==============================] - 0s 249us/sample - loss: 5.2692e-04 - acc: 1.0000 - val_loss: 1.4784 - val_acc: 0.5650
Epoch 7/10
32/800 [>.............................] - ETA: 0s - loss: 5.6823e-04 - acc: 1.0000
352/800 [============>.................] - ETA: 0s - loss: 4.6431e-04 - acc: 1.0000
608/800 [=====================>........] - ETA: 0s - loss: 4.4039e-04 - acc: 1.0000
800/800 [==============================] - 0s 218us/sample - loss: 4.3248e-04 - acc: 1.0000 - val_loss: 1.5269 - val_acc: 0.5750
Epoch 8/10
32/800 [>.............................] - ETA: 0s - loss: 3.9590e-04 - acc: 1.0000
256/800 [========>.....................] - ETA: 0s - loss: 3.9544e-04 - acc: 1.0000
480/800 [=================>............] - ETA: 0s - loss: 3.6483e-04 - acc: 1.0000
768/800 [===========================>..] - ETA: 0s - loss: 3.6551e-04 - acc: 1.0000
800/800 [==============================] - 0s 219us/sample - loss: 3.6599e-04 - acc: 1.0000 - val_loss: 1.5677 - val_acc: 0.5700
Epoch 9/10
32/800 [>.............................] - ETA: 0s - loss: 2.8223e-04 - acc: 1.0000
288/800 [=========>....................] - ETA: 0s - loss: 3.3945e-04 - acc: 1.0000
512/800 [==================>...........] - ETA: 0s - loss: 3.2262e-04 - acc: 1.0000
768/800 [===========================>..] - ETA: 0s - loss: 3.1685e-04 - acc: 1.0000
800/800 [==============================] - 0s 239us/sample - loss: 3.1742e-04 - acc: 1.0000 - val_loss: 1.6062 - val_acc: 0.5750
Epoch 10/10
32/800 [>.............................] - ETA: 0s - loss: 2.8345e-04 - acc: 1.0000
320/800 [===========>..................] - ETA: 0s - loss: 2.8331e-04 - acc: 1.0000
608/800 [=====================>........] - ETA: 0s - loss: 2.8075e-04 - acc: 1.0000
800/800 [==============================] - 0s 208us/sample - loss: 2.7884e-04 - acc: 1.0000 - val_loss: 1.6409 - val_acc: 0.5700
stderr
WARNING:tensorflow:From /usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/resource_variable_ops.py:435: colocate_with (from tensorflow.python.framework.ops) is deprecated and will be removed in a future version.
Instructions for updating:
Colocations handled automatically by placer.
WARNING:tensorflow:From /usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/math_ops.py:3066: to_int32 (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use tf.cast instead.