Giter Club home page Giter Club logo

gefest's People

Contributors

aberezin15 avatar denissidoren avatar dreamlone avatar drmpn avatar mangaboba avatar nicl-nno avatar quickjkee avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

gefest's Issues

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

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

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

Fix existing examples

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

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.

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.