Advertisement
toweber

emlearn_iris

Aug 8th, 2022 (edited)
776
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.73 KB | None | 0 0
  1. import os
  2. import ipdb # ipdb.set_trace()
  3. import numpy as np
  4. from sklearn import datasets
  5. from sklearn.model_selection import train_test_split
  6. from sklearn.preprocessing import OneHotEncoder, MinMaxScaler, StandardScaler
  7. from sklearn.ensemble import RandomForestClassifier
  8.  
  9. from keras.models import Sequential
  10. from keras.layers import Dense
  11.  
  12.  
  13. data = datasets.load_iris()
  14.  
  15. X = data['data']
  16. Y = data['target']
  17.  
  18. # use and the scaled input the encoded output
  19. enc = OneHotEncoder()
  20. Y_enc = enc.fit_transform(Y[:, np.newaxis]).toarray()
  21. Y = Y_enc
  22.  
  23. scaler = MinMaxScaler()
  24. X_scaled = scaler.fit_transform(X)
  25. X = X_scaled
  26.  
  27. X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.3, random_state=0)
  28.  
  29.  
  30.  
  31. num_features = X.shape[1]
  32. num_classes = Y.shape[1]
  33.  
  34. batch_size = 1
  35. epochs = 100
  36.  
  37.  
  38. model = Sequential()
  39. model.add(Dense(5, input_dim=num_features, activation='tanh'))
  40. model.add(Dense(num_classes, activation='softmax'))
  41.  
  42.  
  43. model.summary()
  44.  
  45. model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
  46. #model.compile(loss='mean_squared_error', optimizer='adam', metrics=['accuracy'])
  47.  
  48. history = model.fit(X_train, Y_train,
  49.                     batch_size=batch_size,
  50.                     epochs=epochs,
  51.                     verbose=1,
  52.                     )
  53.  
  54. score_train = model.evaluate(X_train, Y_train, verbose=0)
  55. print('Train loss:', score_train[0])
  56. print('Train accuracy:', score_train[1])
  57.  
  58. score_test = model.evaluate(X_test, Y_test, verbose=0)
  59. print('Test loss:', score_test[0])
  60. print('Test accuracy:', score_test[1])
  61.  
  62.  
  63.  
  64. import emlearn
  65. cmodel = emlearn.net.convert_keras(model, method='loadable') #methods = pymodule or loadable
  66. cmodel.save(file='iris_keras.h', name='iris')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement