Skip to content

Commit

Permalink
Merge pull request #92 from AP6YC/release/v0.6.1
Browse files Browse the repository at this point in the history
Release/v0.6.1
  • Loading branch information
AP6YC committed Oct 13, 2022
2 parents 6daf99e + 3850255 commit fdda76a
Show file tree
Hide file tree
Showing 9 changed files with 57 additions and 51 deletions.
1 change: 1 addition & 0 deletions .github/workflows/Documentation.yml
Expand Up @@ -30,6 +30,7 @@ jobs:
- name: Build and deploy
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # For authentication with GitHub Actions token
GKSwstype: "100" # https://discourse.julialang.org/t/generation-of-documentation-fails-qt-qpa-xcb-could-not-connect-to-display/60988
DATADEPS_ALWAYS_ACCEPT: true
# DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} # For authentication with SSH deploy key
run: julia --project=docs/ docs/make.jl
2 changes: 1 addition & 1 deletion Project.toml
Expand Up @@ -2,7 +2,7 @@ name = "AdaptiveResonance"
uuid = "3d72adc0-63d3-4141-bf9b-84450dd0395b"
authors = ["Sasha Petrenko"]
description = "A Julia package for Adaptive Resonance Theory (ART) algorithms."
version = "0.6.0"
version = "0.6.1"

[deps]
Distributed = "8ba89e20-285c-5b6f-9357-94700520ee1b"
Expand Down
47 changes: 15 additions & 32 deletions README.md
Expand Up @@ -58,7 +58,6 @@ Please read the [documentation](https://ap6yc.github.io/AdaptiveResonance.jl/dev
- [Installation](#installation)
- [Quickstart](#quickstart)
- [Implemented Modules](#implemented-modules)
- [Structure](#structure)
- [History](#history)
- [Acknowledgements](#acknowledgements)
- [Authors](#authors)
Expand Down Expand Up @@ -184,13 +183,20 @@ y_hat_bmu = classify(art, test_x, get_bmu=true)
This project has implementations of the following ART (unsupervised) and ARTMAP (supervised) modules:

- ART
- **FuzzyART**: Fuzzy ART
- **DVFA**: Dual Vigilance Fuzzy ART
- **DDVFA**: Distributed Dual Vigilance Fuzzy ART
- **[`FuzzyART`][1]**: Fuzzy ART
- **[`DVFA`][2]**: Dual Vigilance Fuzzy ART
- **[`DDVFA`][3]**: Distributed Dual Vigilance Fuzzy ART
- ARTMAP
- **SFAM**: Simplified Fuzzy ARTMAP
- **FAM**: Fuzzy ARTMAP
- **DAM**: Default ARTMAP
- **[`SFAM`][4]**: Simplified Fuzzy ARTMAP
- **[`FAM`][5]**: Fuzzy ARTMAP
- **[`DAM`][6]**: Default ARTMAP

[1]: https://ap6yc.github.io/AdaptiveResonance.jl/dev/man/full-index/#AdaptiveResonance.FuzzyART
[2]: https://ap6yc.github.io/AdaptiveResonance.jl/dev/man/full-index/#AdaptiveResonance.DVFA
[3]: https://ap6yc.github.io/AdaptiveResonance.jl/dev/man/full-index/#AdaptiveResonance.DDVFA
[4]: https://ap6yc.github.io/AdaptiveResonance.jl/dev/man/full-index/#AdaptiveResonance.SFAM
[5]: https://ap6yc.github.io/AdaptiveResonance.jl/dev/man/full-index/#AdaptiveResonance.FAM
[6]: https://ap6yc.github.io/AdaptiveResonance.jl/dev/man/full-index/#AdaptiveResonance.DAM

Because each of these modules is a framework for many variants in the literature, this project also implements these [variants](https://ap6yc.github.io/AdaptiveResonance.jl/dev/man/modules/) by changing their module [options](https://ap6yc.github.io/AdaptiveResonance.jl/dev/man/guide/#art_options).

Expand All @@ -202,37 +208,14 @@ In addition to these modules, this package contains the following accessory meth
However, training and classification methods complement code their inputs unless they are passed `preprocessed=true`.
- **linear_normalization**: the first step to complement coding, `linear_normalization` normalizes input arrays within [0, 1].

## Structure

The following file tree summarizes the project structure:

```console
AdaptiveResonance
├── .github/workflows // GitHub: workflows for testing and documentation.
├── docs // Docs: documentation for the module.
│ ├─── examples // DemoCards documentation examples.
│ └─── src // Documentation source files.
├── paper // JOSS: journal paper and citations.
├── src // Source: majority of source code.
│ ├─── ART // ART-based unsupervised modules.
│ └─── ARTMAP // ARTMAP-based supervised modules.
├── test // Test: Unit, integration, and environment tests.
├── .appveyor // Appveyor: Windows-specific coverage.
├── .gitattributes // Git: LFS settings, languages, etc.
├── .gitignore // Git: .gitignore for the whole project.
├── CODE_OF_CONDUCT.md // Doc: the code of conduct for contributors.
├── CONTRIBUTING.md // Doc: contributing guide (points to this page).
├── LICENSE // Doc: the license to the project.
├── Project.toml // Julia: the Pkg.jl dependencies of the project.
└── README.md // Doc: this document.
```

## History

- 7/10/2020 - Begin project.
- 11/3/2020 - Complete baseline modules and tests.
- 2/8/2021 - Formalize usage documentation.
- 10/13/2021 - Initiate GitFlow contribution.
- 5/4/2022 - [Acceptance to JOSS](https://doi.org/10.21105/joss.03671).
- 10/11/2022 - v0.6.0

## Acknowledgements

Expand Down
26 changes: 23 additions & 3 deletions docs/make.jl
Expand Up @@ -5,8 +5,21 @@ This file builds the documentation for the AdaptiveResonance.jl package
using Documenter.jl and other tools.
"""

using Documenter
using DemoCards
# --------------------------------------------------------------------------- #
# DEPENDENCIES
# --------------------------------------------------------------------------- #

using
Documenter,
DemoCards,
Pkg

# --------------------------------------------------------------------------- #
# SETUP
# --------------------------------------------------------------------------- #

# Fix GR headless errors
ENV["GKSwstype"] = "100"

# Get the current workind directory's base name
current_dir = basename(pwd())
Expand Down Expand Up @@ -34,6 +47,10 @@ if haskey(ENV, "DOCSARGS")
end
end

# --------------------------------------------------------------------------- #
# GENERATE
# --------------------------------------------------------------------------- #

# Generate the demo files
# this is the relative path to docs/
demopage, postprocess_cb, demo_assets = makedemos("examples")
Expand All @@ -45,7 +62,6 @@ assets = [
# if there are generated css assets, pass it to Documenter.HTML
isnothing(demo_assets) || (push!(assets, demo_assets))


# Make the documentation
makedocs(
modules=[AdaptiveResonance],
Expand Down Expand Up @@ -88,6 +104,10 @@ postprocess_cb()
# return "push_preview" in labels
# end

# --------------------------------------------------------------------------- #
# DEPLOY
# --------------------------------------------------------------------------- #

deploydocs(
repo="github.com/AP6YC/AdaptiveResonance.jl.git",
devbranch="develop",
Expand Down
4 changes: 2 additions & 2 deletions docs/src/assets/header.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions docs/src/assets/logo.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 0 additions & 2 deletions docs/src/index.md
Expand Up @@ -2,8 +2,6 @@

---

# AdaptiveResonance.jl

These pages serve as the official documentation for the AdaptiveResonance.jl Julia package.

Adaptive Resonance Theory (ART) began as a neurocognitive theory of how fields of cells can continuously learn stable representations, and it evolved into the basis for a myriad of practical machine learning algorithms.
Expand Down
2 changes: 1 addition & 1 deletion docs/src/man/guide.md
Expand Up @@ -243,7 +243,7 @@ Otherwise, most ART and ARTMAP modules share the following nomenclature for algo
ART modules are generally unsupervised in formulation, so they do not explicitly require supervisory labels to their training examples.
However, many of these modules can be formulated in the simplified ARTMAP style whereby the ART B module has a vigilance parameter of 1, directly mapping the categories of the ART A module to any provided supervisory labels.

This is done in the training stage through the optional argument `y=...`:
This is done in the training stage through the optional keyword argument `y=...`:

```julia
# Create an arbitrary ART module
Expand Down
20 changes: 12 additions & 8 deletions docs/src/man/modules.md
Expand Up @@ -2,22 +2,26 @@

This project implements a number of ART-based models with options that modulate their behavior (see the [options section of the Guide](@ref art_options))

This page lists both the [implemented models](@ref Implemented-Models) and some [variants](@ref Variants)
This page lists both the [implemented models](@ref Implemented-Models) and some of their [variants](@ref modules-variants)

## Implemented Models

This project has implementations of the following ART (unsupervised) and ARTMAP (supervised) modules:

```@meta
CurrentModule=AdaptiveResonance
```

- ART
- `FuzzyART`: Fuzzy ART
- `DVFA`: Dual Vigilance Fuzzy ART
- `DDVFA`: Distributed Dual Vigilance Fuzzy ART
- [`FuzzyART`](@ref): Fuzzy ART
- [`DVFA`](@ref): Dual Vigilance Fuzzy ART
- [`DDVFA`](@ref): Distributed Dual Vigilance Fuzzy ART
- ARTMAP
- `SFAM`: Simplified Fuzzy ARTMAP
- `FAM`: Fuzzy ARTMAP
- `DAM`: Default ARTMAP
- [`SFAM`](@ref): Simplified Fuzzy ARTMAP
- [`FAM`](@ref): Fuzzy ARTMAP
- [`DAM`](@ref): Default ARTMAP

## Variants
## [Variants](@id modules-variants)

Each module contains many [options](@ref art_options) that modulate its behavior.
Some of these options are used to modulate the internals of the module, such as switching the match and activation functions, to achieve different modules that are found in the literature.
Expand Down

2 comments on commit fdda76a

@AP6YC
Copy link
Owner Author

@AP6YC AP6YC commented on fdda76a Oct 13, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@JuliaRegistrator register

Release notes:

This patch updates the documentation with additional links and bug fixes.

@JuliaRegistrator
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Registration pull request created: JuliaRegistries/General/70139

After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.

This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:

git tag -a v0.6.1 -m "<description of version>" fdda76a9186538717683f49441244c8137698487
git push origin v0.6.1

Please sign in to comment.