Advertisement
Guest User

Untitled

a guest
Feb 20th, 2019
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.95 KB | None | 0 0
  1. model = tf.sequential();
  2. model.add(tf.layers.conv2d({
  3. inputShape: [48, 48, 1],
  4. kernelSize: FILTER_SIZE,
  5. filters: 64,
  6. dataFormat: "channelsLast",
  7. activation: ActFunc.RELU
  8. }));
  9. model.add(tf.layers.maxPooling2d(maxPoolConf));
  10. model.add(tf.layers.conv2d({
  11. kernelSize: FILTER_SIZE,
  12. filters: 128,
  13. dataFormat: "channelsLast",
  14. activation: ActFunc.RELU
  15. }));
  16. model.add(tf.layers.maxPooling2d(maxPoolConf));
  17. model.add(tf.layers.conv2d({
  18. kernelSize: FILTER_SIZE,
  19. filters: 256,
  20. dataFormat: "channelsLast",
  21. activation: ActFunc.RELU
  22. }));
  23. model.add(tf.layers.maxPooling2d(maxPoolConf));
  24. model.add(tf.layers.conv2d({
  25. kernelSize: FILTER_SIZE,
  26. filters: 512,
  27. dataFormat: "channelsLast",
  28. activation: ActFunc.RELU
  29. }));
  30. model.add(tf.layers.maxPooling2d(maxPoolConf));
  31. model.add(tf.layers.flatten());
  32. model.add(tf.layers.dense({units: 128, activation: 'relu'}));
  33. model.add(tf.layers.dense({units: 256, activation: 'relu'}));
  34. model.add(tf.layers.dense({units: 512, activation: 'relu'}));
  35. model.add(tf.layers.dense({units: 1024, activation: 'relu'}));
  36. model.add(tf.layers.dense({
  37. units: 7,
  38. activation: 'softmax'
  39. }));
  40. model.compile({
  41. optimizer: 'adam',
  42. loss: 'categoricalCrossentropy',
  43. metrics: ['accuracy', 'categoricalCrossentropy']
  44. });
  45.  
  46. let image_tensor = tf.tensor4d(training_data.getInputData(), [training_data.length, 48, 48, 1]);
  47. let correct_prediction_tensor = tf.tensor2d(training_data.getLabels(), [training_data.length, 7]);
  48.  
  49. const history = model.fit(image_tensor, correct_prediction_tensor,
  50. {
  51. batchSize: 128,
  52. epochs: 10,
  53. shuffle: true,
  54. callbacks: {
  55. onEpochEnd: (epoch, logs) => {
  56. // Plot the loss and accuracy values at the end of every training epoch.
  57. console.log(epoch, logs);
  58. },
  59. onTrainStart: console.log("Starting Training..."),
  60. onTrainEnd: console.log("Training Finished!"),
  61. }
  62. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement