teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

重たい処理「tensorflowのModel定義とCompile」を記載しました

2020/03/12 13:02

投稿

yamayamak
yamayamak

スコア131

title CHANGED
File without changes
body CHANGED
@@ -1,8 +1,8 @@
1
1
  VuexのStateデータをGettersで取得し、親VueのHTMLに表示させています。
2
2
  複数の子Vueで変更して表示させるために、VuexのStateを変更すれば、親Vueの表示文字が変更されるようにしています。
3
- 親Vueでは、データに保存せずに、VuexのGetters関数をそのまま、{{ getMessage }}と記載し表示しています。
3
+ 親Vueでは、VuexのGetters関数をそのまま、{{ getMessage }}と記載し表示しています。
4
4
 
5
- ただ、子Vueでデータなど重たい処理を実施させると、該当処理が終わるまで数秒も親Vueの表示が変更されません。
5
+ ただ、子Vueで「tensorflowModel定義とCompile」を実施させると、該当処理が終わるまで数秒も親Vueの表示が変更されません。
6
6
  StoreでConsole.logを見るとStateのデータはすぐに変更されているように表示されますが、親VueでStateの変更が即時反映されずにGetters関数が働いていないように見えています。
7
7
 
8
8
  親VueでVuexのState変更を即事Gettersで認識できる方法をご教授をお願いします。
@@ -57,4 +57,29 @@
57
57
  }
58
58
  }
59
59
  </script>
60
+ ```
61
+
62
+ tensorflowのModel定義とCompile
63
+ ```ここに言語を入力
64
+ const model = tf.sequential()
65
+ model.add(tf.layers.conv2d({
66
+ inputShape: [this.height, this.width, 3],
67
+ kernelSize: 3,
68
+ filters: 32,
69
+ activation: 'relu'
70
+ }))
71
+ model.add(tf.layers.conv2d({kernelSize: 3, filters: 64, activation: 'relu'}))
72
+ model.add(tf.layers.maxPooling2d({poolSize: 2, strides: 2}))
73
+ model.add(tf.layers.dropout(0.25))
74
+ model.add(tf.layers.flatten())
75
+ model.add(tf.layers.dense({units: 128, activation: 'relu'}))
76
+ model.add(tf.layers.dropout(0.5))
77
+ model.add(tf.layers.dense({units: this.output_classes, activation: 'softmax'}))
78
+ const optimizer = tf.train.adadelta()
79
+ model.compile({
80
+ optimizer: optimizer,
81
+ loss: 'categoricalCrossentropy',
82
+ metrics: ['accuracy']
83
+ })
84
+ return model
60
85
  ```