Fix window closing event
This commit is contained in:
parent
c37f63f7bf
commit
899aa9990b
@ -9,15 +9,18 @@ Created on Fri Aug 18 19:05:04 2023
|
||||
import numpy as np
|
||||
from neuropercolation import Simulate1Layer
|
||||
|
||||
eps_space = np.linspace(0.005,0.5,100)
|
||||
for dim in range(4,10):
|
||||
#eps_space = np.linspace(0.005,0.5,100)
|
||||
eps_space = np.linspace(0.135,0.15,4)
|
||||
|
||||
for dim in [49,100]:
|
||||
for eps in eps_space:
|
||||
eps = round(eps,3)
|
||||
Simulate1Layer(dim,
|
||||
eps,
|
||||
res=2,
|
||||
path=f'/cloud/Public/_data/neuropercolation/1lay/dim={dim:02}/',
|
||||
draw=None
|
||||
).run(evolutions_per_second=0,
|
||||
last_evolution_step=100000)
|
||||
path=f'/cloud/Public/_data/neuropercolation/1lay/steps=100000/dim={dim:02}/',
|
||||
#draw=None
|
||||
).run(evolutions_per_second=30,
|
||||
last_evolution_step=100000,
|
||||
save_states=False)
|
||||
print(f'Done eps={eps:.3f} at dim={dim}')
|
@ -17,6 +17,7 @@ limitations under the License.
|
||||
# pylint: disable=all
|
||||
|
||||
import os
|
||||
import sys
|
||||
import json
|
||||
import time
|
||||
import operator
|
||||
@ -85,6 +86,7 @@ class Simulate1Layer:
|
||||
"""
|
||||
super().__init__(*args, **kwargs)
|
||||
self._cellular_automaton = Neurolattice(dim,eps)
|
||||
self.__active = True
|
||||
self.__cell_size = [res,res]
|
||||
self.__dimension = dim
|
||||
self.__epsilon = eps
|
||||
@ -113,7 +115,7 @@ class Simulate1Layer:
|
||||
else:
|
||||
self._append_activation()
|
||||
with contextlib.suppress(KeyboardInterrupt):
|
||||
while self._not_at_the_end(last_evolution_step):
|
||||
while self.__active and self._not_at_the_end(last_evolution_step):
|
||||
time_ca_start = time.time()
|
||||
self._cellular_automaton.evolve(evolutions_per_draw)
|
||||
if save_states:
|
||||
@ -129,6 +131,11 @@ class Simulate1Layer:
|
||||
evolution_step=self._cellular_automaton.evolution_step,
|
||||
runlendig=len(str(last_evolution_step)))
|
||||
self._sleep_to_keep_rate(time.time() - time_ca_start, evolutions_per_second)
|
||||
|
||||
for event in self.__draw_engine._pygame.event.get():
|
||||
if event.type == self.__draw_engine._pygame.QUIT:
|
||||
self.__active = False
|
||||
|
||||
if self.__draw_engine is not None:
|
||||
try:
|
||||
self.__draw_engine._pygame.quit()
|
||||
@ -239,6 +246,7 @@ class Simulate2Layers:
|
||||
"""
|
||||
super().__init__(*args, **kwargs)
|
||||
self._cellular_automaton = Neuropercolation(dim,eps)
|
||||
self.__active = True
|
||||
self.__cell_size = [res,res]
|
||||
self.__dimension = dim
|
||||
self.__epsilon = eps
|
||||
@ -269,7 +277,7 @@ class Simulate2Layers:
|
||||
else:
|
||||
self._append_activation()
|
||||
with contextlib.suppress(KeyboardInterrupt):
|
||||
while self._not_at_the_end(last_evolution_step):
|
||||
while self.__active and self._not_at_the_end(last_evolution_step):
|
||||
time_ca_start = time.time()
|
||||
self._cellular_automaton.evolve(evolutions_per_draw)
|
||||
if save_states:
|
||||
@ -286,6 +294,10 @@ class Simulate2Layers:
|
||||
runlendig=len(str(last_evolution_step)))
|
||||
self._sleep_to_keep_rate(time.time() - time_ca_start, evolutions_per_second)
|
||||
|
||||
for event in self.__draw_engine._pygame.event.get():
|
||||
if event.type == self.__draw_engine._pygame.QUIT:
|
||||
self.__active = False
|
||||
|
||||
if self.__draw_engine is not None:
|
||||
try:
|
||||
self.__draw_engine._pygame.quit()
|
||||
@ -402,6 +414,7 @@ class Simulate4Layers:
|
||||
"""
|
||||
super().__init__(*args, **kwargs)
|
||||
self._cellular_automaton = NeuropercolationCoupled(dim,eps,coupling)
|
||||
self.__active = True
|
||||
self.__cell_size = [res,res]
|
||||
self.__dimension = dim
|
||||
self.__epsilon = eps
|
||||
@ -432,7 +445,7 @@ class Simulate4Layers:
|
||||
self._append_state()
|
||||
else:
|
||||
self._append_activation()
|
||||
while self._not_at_the_end(last_evolution_step):
|
||||
while self.__active and self._not_at_the_end(last_evolution_step):
|
||||
time_ca_start = time.time()
|
||||
self._cellular_automaton.evolve(evolutions_per_draw)
|
||||
if save_states:
|
||||
@ -448,6 +461,10 @@ class Simulate4Layers:
|
||||
evolution_step=self._cellular_automaton.evolution_step,
|
||||
runlendig=len(str(last_evolution_step)))
|
||||
self._sleep_to_keep_rate(time.time() - time_ca_start, evolutions_per_second)
|
||||
|
||||
for event in self.__draw_engine._pygame.event.get():
|
||||
if event.type == self.__draw_engine._pygame.QUIT:
|
||||
self.__active = False
|
||||
if self.__draw_engine is not None:
|
||||
try:
|
||||
self.__draw_engine._pygame.quit()
|
||||
|
Loading…
Reference in New Issue
Block a user