Space missing after comma. Open
NET = FFNN.new [2,2,1], act_fn: :logistic
- Read upRead up
- Exclude checks
Checks for comma (,) not followed by some kind of space.
Example:
# bad
[1,2]
{ foo:bar,}
# good
[1, 2]
{ foo:bar, }
Line is too long. [84/80] Open
# nes = WB::Optimizer::NaturalEvolutionStrategies::BDNES.new NET.nweights_per_layer,
- Exclude checks
Line is too long. [89/80] Open
# In a real task, best using an oversized network, more iterations, and try several seeds
- Exclude checks
Line is too long. [89/80] Open
puts "The found network achieves a score of #{result} out of #{XOR.size} in the XOR task"
- Exclude checks
Space missing after comma. Open
XOR = {[0,0] => 0, [1,0] => 1, [0,1] => 1, [1,1] => 0}
- Read upRead up
- Exclude checks
Checks for comma (,) not followed by some kind of space.
Example:
# bad
[1,2]
{ foo:bar,}
# good
[1, 2]
{ foo:bar, }
Useless assignment to variable - score
. Open
score = Float(pred_obs.count { |pr, ob| pr == ob })
- Read upRead up
- Exclude checks
This cop checks for every useless assignment to local variable in every
scope.
The basic idea for this cop was from the warning of ruby -cw
:
assigned but unused variable - foo
Currently this cop has advanced logic that detects unreferenced reassignments and properly handles varied cases such as branch, loop, rescue, ensure, etc.
Example:
# bad
def some_method
some_var = 1
do_something
end
Example:
# good
def some_method
some_var = 1
do_something(some_var)
end
Space missing after comma. Open
XOR = {[0,0] => 0, [1,0] => 1, [0,1] => 1, [1,1] => 0}
- Read upRead up
- Exclude checks
Checks for comma (,) not followed by some kind of space.
Example:
# bad
[1,2]
{ foo:bar,}
# good
[1, 2]
{ foo:bar, }
Space missing after comma. Open
XOR = {[0,0] => 0, [1,0] => 1, [0,1] => 1, [1,1] => 0}
- Read upRead up
- Exclude checks
Checks for comma (,) not followed by some kind of space.
Example:
# bad
[1,2]
{ foo:bar,}
# good
[1, 2]
{ foo:bar, }
Line is too long. [81/80] Open
# That's it! 18 lines and you got a working neuroevolution algorithm, congrats :)
- Exclude checks
Space inside { missing. Open
XOR = {[0,0] => 0, [1,0] => 1, [0,1] => 1, [1,1] => 0}
- Read upRead up
- Exclude checks
Checks that braces used for hash literals have or don't have surrounding space depending on configuration.
Example: EnforcedStyle: space
# The `space` style enforces that hash literals have
# surrounding space.
# bad
h = {a: 1, b: 2}
# good
h = { a: 1, b: 2 }
Example: EnforcedStyle: no_space
# The `no_space` style enforces that hash literals have
# no surrounding space.
# bad
h = { a: 1, b: 2 }
# good
h = {a: 1, b: 2}
Example: EnforcedStyle: compact
# The `compact` style normally requires a space inside
# hash braces, with the exception that successive left
# braces or right braces are collapsed together in nested hashes.
# bad
h = { a: { b: 2 } }
# good
h = { a: { b: 2 }}
Space missing after comma. Open
XOR = {[0,0] => 0, [1,0] => 1, [0,1] => 1, [1,1] => 0}
- Read upRead up
- Exclude checks
Checks for comma (,) not followed by some kind of space.
Example:
# bad
[1,2]
{ foo:bar,}
# good
[1, 2]
{ foo:bar, }
Line is too long. [88/80] Open
# Alternatively, add `gem 'machine_learning_workbench'` to your Gemfile if using Bundle,
- Exclude checks
Line is too long. [82/80] Open
# We will search for the network's weights with a black-box optimization algorithm
- Exclude checks
Line is too long. [92/80] Open
# Note BDNES requires `NET.nweights_per_layer` rather than `NET.nweights` in initialization:
- Exclude checks
Line is too long. [86/80] Open
# Note: the process is exactly the same, from instantiation to training, for recurrent
- Exclude checks
Line is too long. [85/80] Open
# The scoring process will work as follows: use the numbers as weights for the neural
- Exclude checks
Freeze mutable objects assigned to constants. Open
XOR = {[0,0] => 0, [1,0] => 1, [0,1] => 1, [1,1] => 0}
- Read upRead up
- Exclude checks
This cop checks whether some constant value isn't a mutable literal (e.g. array or hash).
Example:
# bad
CONST = [1, 2, 3]
# good
CONST = [1, 2, 3].freeze
Extra blank line detected. Open
# Nothing left but to run the optimization algorithm
- Read upRead up
- Exclude checks
This cops checks for two or more consecutive blank lines.
Example:
# bad - It has two empty lines.
some_method
# one empty line
# two empty lines
some_method
# good
some_method
# one empty line
some_method
Line is too long. [87/80] Open
# NOTE: In practical applications it is best to delegate parallelization to the fitness
- Exclude checks
Prefer single-quoted strings when you don't need string interpolation or special symbols. Open
puts "Done!"
- Read upRead up
- Exclude checks
Checks if uses of quotes match the configured preference.
Example: EnforcedStyle: single_quotes (default)
# bad
"No special symbols"
"No string interpolation"
"Just text"
# good
'No special symbols'
'No string interpolation'
'Just text'
"Wait! What's #{this}!"
Example: EnforcedStyle: double_quotes
# bad
'Just some text'
'No special chars or interpolation'
# good
"Just some text"
"No special chars or interpolation"
"Every string in #{project} uses double_quotes"
Line is too long. [84/80] Open
# network, test the network on classifying the 4 cases of XOR, use that count as the
- Exclude checks
Line is too long. [84/80] Open
# function instead of computing the fitness of one individual at a time. This can be
- Exclude checks
Line is too long. [85/80] Open
# achieved by passing an objective function defined on a _list_ of weight-lists, and
- Exclude checks
Use def with parentheses when there are parameters. Open
def fitness weights
- Read upRead up
- Exclude checks
This cops checks for parentheses around the arguments in method definitions. Both instance and class/singleton methods are checked.
Example: EnforcedStyle: require_parentheses (default)
# The `require_parentheses` style requires method definitions
# to always use parentheses
# bad
def bar num1, num2
num1 + num2
end
def foo descriptive_var_name,
another_descriptive_var_name,
last_descriptive_var_name
do_something
end
# good
def bar(num1, num2)
num1 + num2
end
def foo(descriptive_var_name,
another_descriptive_var_name,
last_descriptive_var_name)
do_something
end
Example: EnforcedStyle: requirenoparentheses
# The `require_no_parentheses` style requires method definitions
# to never use parentheses
# bad
def bar(num1, num2)
num1 + num2
end
def foo(descriptive_var_name,
another_descriptive_var_name,
last_descriptive_var_name)
do_something
end
# good
def bar num1, num2
num1 + num2
end
def foo descriptive_var_name,
another_descriptive_var_name,
last_descriptive_var_name
do_something
end
Example: EnforcedStyle: requirenoparenthesesexceptmultiline
# The `require_no_parentheses_except_multiline` style prefers no
# parantheses when method definition arguments fit on single line,
# but prefers parantheses when arguments span multiple lines.
# bad
def bar(num1, num2)
num1 + num2
end
def foo descriptive_var_name,
another_descriptive_var_name,
last_descriptive_var_name
do_something
end
# good
def bar num1, num2
num1 + num2
end
def foo(descriptive_var_name,
another_descriptive_var_name,
last_descriptive_var_name)
do_something
end
Space missing after comma. Open
NET = FFNN.new [2,2,1], act_fn: :logistic
- Read upRead up
- Exclude checks
Checks for comma (,) not followed by some kind of space.
Example:
# bad
[1,2]
{ foo:bar,}
# good
[1, 2]
{ foo:bar, }
Useless assignment to variable - best_fit
. Use _
or _best_fit
as a variable name to indicate that it won't be used. Open
best_fit, best_weights = nes.best
- Read upRead up
- Exclude checks
This cop checks for every useless assignment to local variable in every
scope.
The basic idea for this cop was from the warning of ruby -cw
:
assigned but unused variable - foo
Currently this cop has advanced logic that detects unreferenced reassignments and properly handles varied cases such as branch, loop, rescue, ensure, etc.
Example:
# bad
def some_method
some_var = 1
do_something
end
Example:
# good
def some_method
some_var = 1
do_something(some_var)
end
Space inside } missing. Open
XOR = {[0,0] => 0, [1,0] => 1, [0,1] => 1, [1,1] => 0}
- Read upRead up
- Exclude checks
Checks that braces used for hash literals have or don't have surrounding space depending on configuration.
Example: EnforcedStyle: space
# The `space` style enforces that hash literals have
# surrounding space.
# bad
h = {a: 1, b: 2}
# good
h = { a: 1, b: 2 }
Example: EnforcedStyle: no_space
# The `no_space` style enforces that hash literals have
# no surrounding space.
# bad
h = { a: 1, b: 2 }
# good
h = {a: 1, b: 2}
Example: EnforcedStyle: compact
# The `compact` style normally requires a space inside
# hash braces, with the exception that successive left
# braces or right braces are collapsed together in nested hashes.
# bad
h = { a: { b: 2 } }
# good
h = { a: { b: 2 }}
Line is too long. [84/80] Open
# Make sure the gem is installed first with `gem install machine_learning_workbench`
- Exclude checks
Line is too long. [83/80] Open
# NOTE: If your network grows above few thousands of weights, XNES may be too slow.
- Exclude checks
Line is too long. [91/80] Open
# We are searching for the network's weights, this gives us the search space dimensionality
- Exclude checks