Giter Club home page Giter Club logo

gefest's Issues

User and developer documentation

Task to obtain mandatory documentation:

  • Host in documentation read-the-docs;
  • Create quick-start guide;
  • #40
  • #36
  • Create extended tutorial for beginners;
  • Create advanced tutorial for developes;

Formal deadline: 01.09.2022

Existing issues In current version GEFEST.

  • В Breakwaters, варианты кейсов с оптимизаторами SPEA2 и DE конфигурационный файл перезаписывается некорректно, что приводит к поломке файла (INPUT или bw_example_cfg) .
  • Скрипты для Breakwaters не учитывают ограничения по непересечению с существующими объектами (порт, точка замера высоты волн, фарватер). Однако, это предусмотрено функционалом. Пример с суррогатной моделью:
    image
  • Запуск кейсов из aimclub/GEFEST/cases в конфигурации SWAN требуется файл конфигурации "INPUT", однако он отсутствует по пути (gefest/tools/estimators/simulators/swan/swan_model/), а вместо него находится "bw_example_cfg". В последнем открытом Pull requests предложено переименовать "INPUT" в "bw_example_cfg". Предполагаю, что название для конфигурационного файла осталось "INPUT" для того, чтобы была возможность запускать примеры из ITMO-NSS-team/GEFEST. Необходимо унифицировать название конфигурационного файла без потери возможности воспроизведения кейсов в обоих репозиториях.

Postprocess fails during mutation

The following error was facesd in paper-exp branch:

Traceback (most recent call last):
File "shapely\speedups_speedups.pyx", line 247, in shapely.speedups._speedups.geos_linearring_from_py
AttributeError: 'list' object has no attribute 'array_interface'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "D:/GEFEST/cases/synthetic/analysis_of_applicability/number_of_vertices.py", line 90, in
result = optimize(task_setup=task_setup,
File "D:\GEFEST\gefest\core\opt\optimize.py", line 18, in optimize
_, best = GA(
File "D:\GEFEST\gefest\core\opt\GA\GA.py", line 20, in solution
self._pop.extend(self.reproduce(self._pop))
File "D:\GEFEST\gefest\core\opt\GA\base_GA.py", line 95, in reproduce
child_gen = self.mutation(structure=child_gen,
File "D:\GEFEST\gefest\core\opt\operators\mutation.py", line 55, in mutation
new_structure = get_pop_worker(domain=domain)
File "D:\GEFEST\gefest\core\opt\operators\initial.py", line 44, in get_pop_worker
structure = postprocess(structure, domain)
File "D:\GEFEST\gefest\core\algs\postproc\resolve_errors.py", line 33, in postprocess
elif out_of_bound(local_structure, domain):
File "D:\GEFEST\gefest\core\algs\geom\validation.py", line 33, in out_of_bound
if not domain.geometry.is_contain_poly(poly, domain_poly):
File "D:\GEFEST\gefest\core\geometry\geometry_2d.py", line 95, in is_contain_poly
geom_poly = GeomPolygon([self._pt_to_geom(pt) for pt in poly_1.points])
File "D:\GEFEST\venv_new\lib\site-packages\shapely\geometry\polygon.py", line 243, in init
ret = geos_polygon_from_py(shell, holes)
File "D:\GEFEST\venv_new\lib\site-packages\shapely\geometry\polygon.py", line 509, in geos_polygon_from_py
ret = geos_linearring_from_py(shell)
File "shapely\speedups_speedups.pyx", line 341, in shapely.speedups._speedups.geos_linearring_from_py
ValueError: A LinearRing must have at least 3 coordinate tuples

Crossover bug for specific parameters of optimiser

The following error occurs in crossover:

image

How to reproduce:

is_closed = True
geometry = Geometry2D(is_closed=is_closed)
domain = Domain(allowed_area=[(0, 0),
                              (0, 300),
                              (300, 300),
                              (300, 0),
                              (0, 0)],
                geometry=geometry,
                max_poly_num=20,
                min_poly_num=1,
                max_points_num=20,
                min_points_num=5,
                is_closed=is_closed)

task_setup = Setup(domain=domain)

# Optimizing stage
start = timeit.default_timer()
optimized_structure = optimize(task_setup=task_setup,
                               objective_function=partial(multi_loss,
                                                          expected_poly_num=expected_poly_num),
                               pop_size=100,
                               max_gens=100)

Note:

bug occurs more frequently if max_poly_num is large.

Unstable behavior on the validation-postprocess step

According with passed unit-tests, created Polygons due processing by validation and resolve_errors function might have only 2 points after that.

This fact returnes an issue due processing Polygons on the Shapely side

Fix existing examples

The source code of some examples can be non-actual now. They should be validated and fixed if necssary

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.