Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v.0.5 to Master (ACTUAL) #288

Merged
merged 35 commits into from
Apr 3, 2019
Merged

v.0.5 to Master (ACTUAL) #288

merged 35 commits into from
Apr 3, 2019

Conversation

mikkokotila
Copy link
Contributor

NOTE: this is the actual v.0.5 to Master merge.

mikkokotila and others added 30 commits February 22, 2019 18:18
1) experimental automl capabilities:

- added Params() for generating parameter dictionaries
- added KerasModel() for generating network architectures

2) namespace cleaning:

The namespace now consist only of actionable/useful items. The top-level consist of commands which all are classes so can be identified being camel-case and utils and templates lead to second-level items. Check it out for yourself to learn more. Further, examples has a third-level which is datasets, models, and pipelines.

4) fixes and cleanups

- cleaned up the naming in ParamGrid
- changed all the numpy imports to come from np
- improved scan_object.data to numeric conversion

4) added new tests
- added models and params under ta.templates
- now cervical cancer, breast cancer, iris, and titanic have dataset, params, and input model
- network_shape() now return [0] if params['hidden_layers'] is 0. This permits the situation where 0 is one option in the experiment
- comprehensive functionality tests for templates added
- pipeline added for breast cancer and cervical cancer
- tests added for all pipeline templatessAAsas
- fixed an issue with KerasModel() that aftected conv1d, lstm, and simplernn
- added Bidirectional LSTM to KerasModel()
- added two new models to /templates
- made scan_finish() dtype conversion more allowing for special cases and errors as such columns should not be forcefully converted in any case (the main thing is to have the metrics converted always)
- fixed ta.Params() which had 'loss' instead of 'losses' (which creates problems later in the results table
Added stopping after wall clock time
Allow direct setting of experiment_name
removed use of np.prod to avoid using limited size integers solving #244
Add ability to filter out unwanted premutations
Compatibility merge to daily-dev
- moved permutation_filter to its own function. The question here is that would it be meaningful to support boolean statement directly, or is there benefit from having the lambda?
- premutation >> permutation
- fixed the case where unrecognized random_method failed silently, no warns the user and falls back to 'uniform_mersenne'
- added missing doctrings to Scan()
- the tests are now organized in a meaningful way:

"""
The tests below have to serve several purpose:

- test possible input methods to params dict
- test binary, multi class, multi label and continuous problems
- test all Scan arguments

Each problem type is presented as a Class, and contains three
experiments using single, list, or range inputs. There is an
effort to test as many scenarios as possible here, so be
inventive / experiment! Doing well with this part of the testing,
there is a healthy base for a more serious approach to ensuring
procedural integrity.

"""
Backwards Master to Daily-Dev
- moved permutation_filter to /reducers
- enabled round duration and times (as attribute in Scan() object)
- went through all the files for pep issues ... only some borderline long rows remain, otherwise pepified
- changed max_start_... to time_limit for consistency with round_limit
- edited tests to support the changes
- added gpu_utils and generator to ta.utils...
- added tests for generator.py
- fixed an issue with permutation_filter that resulted from code refractoring
- pepified ParamGrid and permutation_filter.py
@pep8speaks
Copy link

Hello @mikkokotila! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

Line 17:80: E501 line too long (80 > 79 characters)

Line 11:80: E501 line too long (83 > 79 characters)

Line 104:80: E501 line too long (84 > 79 characters)

Line 4:80: E501 line too long (92 > 79 characters)
Line 18:80: E501 line too long (92 > 79 characters)
Line 42:80: E501 line too long (92 > 79 characters)
Line 59:80: E501 line too long (92 > 79 characters)
Line 77:80: E501 line too long (92 > 79 characters)

Line 10:80: E501 line too long (83 > 79 characters)
Line 52:80: E501 line too long (83 > 79 characters)

Line 20:80: E501 line too long (98 > 79 characters)

Line 60:80: E501 line too long (86 > 79 characters)

Line 27:13: E722 do not use bare 'except'
Line 30:17: E722 do not use bare 'except'

Line 46:80: E501 line too long (80 > 79 characters)
Line 92:9: E117 over-indented
Line 135:80: E501 line too long (80 > 79 characters)
Line 178:80: E501 line too long (87 > 79 characters)
Line 199:80: E501 line too long (80 > 79 characters)
Line 222:80: E501 line too long (85 > 79 characters)

@coveralls
Copy link

coveralls commented Apr 3, 2019

Pull Request Test Coverage Report for Build 447

  • 292 of 325 (89.85%) changed or added relevant lines in 25 files are covered.
  • 7 unchanged lines in 4 files lost coverage.
  • Overall coverage decreased (-0.8%) to 90.056%

Changes Missing Coverage Covered Lines Changed/Added Lines %
talos/init.py 17 18 94.44%
talos/metrics/keras_metrics.py 4 5 80.0%
talos/parameters/ParamGrid.py 24 25 96.0%
talos/scan/scan_finish.py 2 3 66.67%
talos/utils/generator.py 0 1 0.0%
talos/commands/params.py 77 79 97.47%
talos/scan/scan_prepare.py 5 7 71.43%
talos/utils/init.py 8 10 80.0%
talos/utils/string_cols_to_numeric.py 3 5 60.0%
talos/scan/scan_run.py 2 5 40.0%
Files with Coverage Reduction New Missed Lines %
talos/metrics/keras_metrics.py 1 90.24%
talos/utils/gpu_utils.py 2 50.0%
talos/reducers/sample_reducer.py 2 70.97%
talos/parameters/round_params.py 2 88.24%
Totals Coverage Status
Change from base Build 444: -0.8%
Covered Lines: 1123
Relevant Lines: 1247

💛 - Coveralls

@mikkokotila mikkokotila merged commit 6a4fbfa into master Apr 3, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants