Skip to content

Instantly share code, notes, and snippets.

@aibrahim
Last active February 1, 2017 16:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aibrahim/e72ded3bc0c5fb53bac8906dd644f7bc to your computer and use it in GitHub Desktop.
Save aibrahim/e72ded3bc0c5fb53bac8906dd644f7bc to your computer and use it in GitHub Desktop.
import math
#seq_length = 1 #len(base_series)
inputs = numpy.arange(0,100,0.1)
seq_length = len(inputs)
#def unit(index): return [1.0 if i == index else 0.0 for i in range(seq_length)]
def create_ds(a):
X, Y = [], []
for i in range(0, len(a), 1):
X.append(a[i])
Y.append(math.pow(a[i], 2))
return np.array(X), np.array(Y)
X,Y = create_ds(inputs)
# normalize the dataset
scalerX = MinMaxScaler(copy=True, feature_range=(0, 1))
scalerY = MinMaxScaler(copy=True, feature_range=(0, 1))
XX = scalerX.fit_transform(X.reshape(-1,1))
YY = scalerY.fit_transform(Y.reshape(-1,1))
XX = numpy.reshape(XX, (XX.shape[0], 1))
model = Sequential()
model.add(Dense(1, input_dim=1, init='normal', activation='relu'))
model.add(Dense(4, input_dim=1, init='normal', activation='relu'))
model.add(Dense(4, input_dim=1, init='normal', activation='relu'))
model.add(Dense(1))
# try alternatives if you wish
#model.add(Dense(30,input_dim=X.shape[1], activation="relu", init='normal'))
#model.add(Dense(seq_length, init='normal', activation='softmax'))
model.compile(loss='mean_absolute_error', optimizer='adam')
model.fit(XX, YY, nb_epoch=100, verbose=1)
test = model.predict(numpy.array([2]))
print scalerY.inverse_transform(test)
#output 2527.44213867
#Epoch 1/100
#1000/1000 [==============================] - 1s - loss: 0.3217
#Epoch 2/100
#1000/1000 [==============================] - 0s - loss: 0.3025
#Epoch 3/100
#1000/1000 [==============================] - 0s - loss: 0.2888
#Epoch 4/100
#1000/1000 [==============================] - 0s - loss: 0.2789
#Epoch 5/100
#1000/1000 [==============================] - 0s - loss: 0.2715
#Epoch 6/100
#1000/1000 [==============================] - 0s - loss: 0.2659
#Epoch 7/100
#1000/1000 [==============================] - 0s - loss: 0.2615
#Epoch 8/100
#1000/1000 [==============================] - 0s - loss: 0.2585
#Epoch 9/100
#1000/1000 [==============================] - 0s - loss: 0.2562
#Epoch 10/100
#1000/1000 [==============================] - 0s - loss: 0.2545
#Epoch 11/100
#1000/1000 [==============================] - 0s - loss: 0.2532
#Epoch 12/100
#1000/1000 [==============================] - 0s - loss: 0.2523
#Epoch 13/100
#1000/1000 [==============================] - 0s - loss: 0.2516
#Epoch 14/100
#1000/1000 [==============================] - 0s - loss: 0.2512
#Epoch 15/100
#1000/1000 [==============================] - 0s - loss: 0.2509
#Epoch 16/100
#1000/1000 [==============================] - 0s - loss: 0.2507
#Epoch 17/100
#1000/1000 [==============================] - 0s - loss: 0.2505
#Epoch 18/100
#1000/1000 [==============================] - 0s - loss: 0.2504
#Epoch 19/100
#1000/1000 [==============================] - 0s - loss: 0.2504
#Epoch 20/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 21/100
#1000/1000 [==============================] - 0s - loss: 0.2504
#Epoch 22/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 23/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 24/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 25/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 26/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 27/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 28/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 29/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 30/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 31/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 32/100
#1000/1000 [==============================] - 0s - loss: 0.2504
#Epoch 33/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 34/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 35/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 36/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 37/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 38/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 39/100
#1000/1000 [==============================] - 0s - loss: 0.2504
#Epoch 40/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 41/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 42/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 43/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 44/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 45/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 46/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 47/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 48/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 49/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 50/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 51/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 52/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 53/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 54/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 55/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 56/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 57/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 58/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 59/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 60/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 61/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 62/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 63/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 64/100
#1000/1000 [==============================] - 0s - loss: 0.2504
#Epoch 65/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 66/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 67/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 68/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 69/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 70/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 71/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 72/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 73/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 74/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 75/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 76/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 77/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 78/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 79/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 80/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 81/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 82/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 83/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 84/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 85/100
#1000/1000 [==============================] - 0s - loss: 0.2505
#Epoch 86/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 87/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 88/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 89/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 90/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 91/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 92/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 93/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 94/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 95/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 96/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 97/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 98/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 99/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#Epoch 100/100
#1000/1000 [==============================] - 0s - loss: 0.2503
#[[ 2527.44213867]]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment