컴퓨터 실험에서 병목 현상에 도달한 적이 있습니까? 선택한 기술에 적합한 매개변수를 선택하는 데 지치셨나요? 그렇다면 Opytimizer가 진짜입니다! 이 패키지는 메타 휴리스틱 최적화를 쉽게 구현할 수 있도록 제공합니다. 에이전트부터 검색 공간까지, 내부 기능부터 외부 커뮤니케이션까지, 최적화에 관련된 모든 연구를 육성하겠습니다.
라이브러리가 필요하거나 다음을 원하는 경우 Opytimizer를 사용하세요.
opytimizer.readthedocs.io에서 문서를 읽어보세요.
Opytimizer는 Python 3.6+ 와 호환됩니다.
귀하의 요구 사항을 충족하기 위해 Opytimizer를 사용하는 경우 당사를 언급해 주십시오:
@misc { rosa2019opytimizer ,
title = { Opytimizer: A Nature-Inspired Python Optimizer } ,
author = { Gustavo H. de Rosa, Douglas Rodrigues and João P. Papa } ,
year = { 2019 } ,
eprint = { 1912.13002 } ,
archivePrefix = { arXiv } ,
primaryClass = { cs.NE }
}
가장 먼저. 우리에게는 예가 있습니다. 예, 댓글이 달렸습니다. examples/
로 이동하여 하위 패키지를 선택한 후 예제를 따르세요. 우리가 생각할 수 있는 대부분의 작업과 놀라운 통합(Learnergy, NALP, OPFython, PyTorch, Scikit-Learn, Tensorflow)에 대한 높은 수준의 예제가 있습니다.
또는 더 자세한 내용을 알고 싶으시면 잠시 시간을 내어 문의해 주세요.
Opytimizer는 다음 구조를 기반으로 하며 해당 트리에 주의를 기울여야 합니다.
- opytimizer
- core
- agent
- block
- cell
- function
- node
- optimizer
- space
- functions
- constrained
- multi_objective
- math
- distribution
- general
- hyper
- random
- optimizers
- boolean
- evolutionary
- misc
- population
- science
- social
- swarm
- spaces
- boolean
- graph
- grid
- hyper_complex
- pareto
- search
- tree
- utils
- callback
- constant
- exception
- history
- logging
- visualization
- convergence
- surface
코어는 코어입니다. 본질적으로 그것은 모든 것의 부모입니다. 구조의 기초를 정의하는 상위 클래스를 찾아야 합니다. 다른 모듈을 구성하는 데 도움이 되는 변수와 메서드를 제공해야 합니다.
원시적이고 간단한 기능을 사용하는 대신 이 모듈을 사용해 보는 것은 어떨까요? 문제를 해결하기 위해 높은 수준의 추상 함수 또는 새로운 함수 기반 아이디어를 구성하십시오. 현재로서는 다중 목표 함수 전략만 지원됩니다.
우리가 계산을 한다고 해서 수학이 필요하지 않다는 뜻은 아닙니다. Math는 낮은 수준의 수학 구현을 포함하는 수학 패키지입니다. 난수부터 분포 생성까지 이 모듈에서 귀하의 요구 사항을 찾을 수 있습니다.
이것이 우리가 Opytimizer라고 불리는 이유입니다. 이것이 바로 수많은 메타 휴리스틱, 최적화 기법, 옵티마이저라고 부를 수 있는 모든 것을 찾을 수 있는 휴리스틱의 핵심입니다. 사용 가능한 최적화 프로그램을 살펴보세요.
에이전트가 자신의 위치를 업데이트하고 피트니스 기능을 평가하는 장소로 공간을 볼 수 있습니다. 그러나 최신 접근 방식에서는 다른 유형의 공간을 고려할 수 있습니다. 그런 점을 생각하면, 다양한 공간 구현을 지원하게 되어 기쁘게 생각합니다.
이것은 유틸리티 패키지입니다. 애플리케이션 전체에서 공유되는 공통 사항은 여기에서 구현되어야 합니다. 같은 것을 반복해서 다시 구현하는 것보다 한 번 구현하고 원하는 대로 사용하는 것이 좋습니다.
모든 사람은 무슨 일이 일어나고 있는지 시각화하는 데 도움이 되는 이미지와 도표가 필요합니다. 그렇죠? 이 패키지는 시각적 관련 모든 방법을 제공합니다. 특정 변수 수렴, 피트니스 함수 수렴, 벤치마크 함수 표면 플롯 등을 확인하세요!
우리는 모든 것이 쉬워야 한다고 믿습니다. 까다롭거나 어렵지 않은 Opytimizer는 첫 번째 설치부터 요구 사항을 구현하는 일상적인 작업까지 필요한 일회용 패키지가 될 것입니다. 가장 선호하는 Python 환경(raw, conda, virtualenv 등)에서 다음을 실행할 수 있는 경우:
pip install opytimizer
또는 최첨단 버전을 설치하려면 이 저장소를 복제하고 다음을 사용하십시오.
pip install -e .
때로는 추가 구현이 필요할 수도 있습니다. 필요한 경우 여기에서 모든 세부 사항을 알 수 있습니다.
특정 추가 명령이 필요하지 않습니다.
특정 추가 명령이 필요하지 않습니다.
특정 추가 명령이 필요하지 않습니다.
Opytimizer의 빠른 작업 예를 살펴보십시오. 많은 추가 인수나 추가 정보를 프로시저에 전달하지 않는다는 점에 유의하세요. 더 복잡한 예제를 보려면 examples/
폴더를 확인하세요.
import numpy as np
from opytimizer import Opytimizer
from opytimizer . core import Function
from opytimizer . optimizers . swarm import PSO
from opytimizer . spaces import SearchSpace
def sphere ( x ):
return np . sum ( x ** 2 )
n_agents = 20
n_variables = 2
lower_bound = [ - 10 , - 10 ]
upper_bound = [ 10 , 10 ]
space = SearchSpace ( n_agents , n_variables , lower_bound , upper_bound )
optimizer = PSO ()
function = Function ( sphere )
opt = Opytimizer ( space , optimizer , function )
opt . start ( n_iterations = 1000 )
우리는 최선을 다한다는 것을 알고 있지만 실수를 한다는 것을 인정하는 것은 불가피합니다. 버그를 보고하고, 문제를 보고하고, 우리에게 이야기해야 한다면 그렇게 하십시오! 우리는 이 저장소에서 최선을 다할 것입니다.