Sephfox commited on
Commit
35b5db1
1 Parent(s): c967d7f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +10 -12
app.py CHANGED
@@ -37,16 +37,14 @@ class GeneticAlgorithm:
37
  def selection(self):
38
  X_train, X_test, y_train, y_test = generate_dataset(self.task_id)
39
  fitness = []
40
- for net in self.population:
41
- net.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
42
- net.fit(X_train, y_train, epochs=10, verbose=0)
43
- loss, accuracy = net.evaluate(X_test, y_test, verbose=0)
44
- fitness.append(accuracy)
45
- if len(fitness) > 0:
46
- self.population = [self.population[i] for i in np.argsort(fitness)[-self.population_size//2:]]
47
- else:
48
- print("Fitness list is empty. Cannot select individuals.")
49
-
50
  def crossover(self):
51
  offspring = []
52
  X = np.random.rand(1, 10) # dummy input to build the layers
@@ -100,12 +98,12 @@ if st.button("Run evolution"):
100
  X_train, X_test, y_train, y_test = generate_dataset(task_id)
101
  accuracy = []
102
  for net in ga.population:
103
- net.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
104
  net.fit(X_train, y_train, epochs=10, verbose=0)
105
  loss, acc = net.evaluate(X_test, y_test, verbose=0)
106
  accuracy.append(acc)
107
  final_accuracy.append(np.mean(accuracy))
108
- st.write(f"Final accuracy: {np.mean(final_accuracy)}")
109
 
110
  # Trade populations between tasks
111
  for i in range(num_tasks):
 
37
  def selection(self):
38
  X_train, X_test, y_train, y_test = generate_dataset(self.task_id)
39
  fitness = []
40
+ for i, net in enumerate(self.population):
41
+ net.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
42
+ net.fit(X_train, y_train, epochs=10, verbose=0)
43
+ loss, accuracy = net.evaluate(X_test, y_test, verbose=0)
44
+ fitness.append(accuracy)
45
+ if len(fitness) > 0:
46
+ self.population = [self.population[i] for i in np.argsort(fitness)[-self.population_size//2:]]
47
+
 
 
48
  def crossover(self):
49
  offspring = []
50
  X = np.random.rand(1, 10) # dummy input to build the layers
 
98
  X_train, X_test, y_train, y_test = generate_dataset(task_id)
99
  accuracy = []
100
  for net in ga.population:
101
+ net.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
102
  net.fit(X_train, y_train, epochs=10, verbose=0)
103
  loss, acc = net.evaluate(X_test, y_test, verbose=0)
104
  accuracy.append(acc)
105
  final_accuracy.append(np.mean(accuracy))
106
+ st.write(f"Final accuracy: {np.mean(final_accuracy)}")
107
 
108
  # Trade populations between tasks
109
  for i in range(num_tasks):