-
Notifications
You must be signed in to change notification settings - Fork 27
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
Wrapper type implementation #17
Conversation
Codecov Report
@@ Coverage Diff @@
## master #17 +/- ##
=========================================
- Coverage 75.12% 73.2% -1.93%
=========================================
Files 22 23 +1
Lines 193 209 +16
=========================================
+ Hits 145 153 +8
- Misses 48 56 +8
Continue to review full report at Codecov.
|
…reprocessing structures so that it's just a one-liner to drop fields out of a struct when logging
Note to self before I forget it while I’m on holidays: if I wrap a complex valued array with ‘TB_Histogram’ or ‘TB_Vector’ this wont work. I need to find a way to reprocess wrapped types and think a bit more about this |
…plex arrays they split it into real and imaginary part.
I solved the above issue by specializing the A more general way to handle Wrappers of objects would be nice: For example, to handle arrays of |
* use argument decomposition in log_histogram * Rename Logger to TBLogger * [Pulled from NeuralQuantum.jl] Implement the AbstractLogger interface. * Rename delta_step -> log_step_increment as suggested by @oxinabox Add a few docstrings Remove Coveralls * Make `preprocess` recursive as suggested by @oxinabox - preprocess now calls itself recursively and only pushes to a list if the type can be serialized. - Remove the `loggable` function as now it's no longer needed. - There is also no need for a stack (and the DataStructures dependency). Just use a Vector for `data` in `handle_message` - Fix the readme: `delta_step` -> `log_step_increment` * Fix tests by using `step` keyword in `log_value`. ( I removed the non-keyword version in the last commit ) * Add very basic test for the logging interface. * Silently drop things we can't serialize * Bugfix + Support Tuples * Log histogram support N-d arrays (#7) * log N-d arrays * Update src/Loggers/LogHistograms.jl Co-Authored-By: shashikdm <shashikant.123kadam@gmail.com> * Update LogHistograms.jl * Use an enum to describe initialization policy + tests * Add some tests for scalar and histogram summary creation * Add coverage * Add more tests and fix two minor bugs in log_vector * correct docstring (#13) * Logtext first implementation (#12) * init logtext * Add util function serialize_proto * Add markdown_repr and removed type constraint on data * change improved markdown_repr * Add simple tests for text logger * minor bug fix * relax type constraints (#15) * relax type constraints * don't loop and push * A collection of cleanups (#16) * cleanup text logger * rename the file with the event code to reflect its contents * Move the logger type * cleanup imports and exports * centeralize the code that decided which logger to use into one file * - Move proto files out of src/ - Update the README - remove proto files from coverage * BugFix * Log anything that can't be logged otherwise as text * Split the initialization method of TBLogger * rename set_step to set_step! and increment_step to increment_step!. Remove old (and unused) methods. Define a reset! method for TBLogger * Update TBLogger.jl (#18) * Update TBLogger.jl minor bug fix for Julia 1.0.3 * Update src/TBLogger.jl Co-Authored-By: shashikdm <shashikant.123kadam@gmail.com> * Update event.jl * set default step as a default in make_event (#19) * set default step as a default in make_event * Update event.jl minor typo * Update .travis.yml (#20) Update .travis.yml Test against latest stable version and LTS version Update test_TBLogger.jl to fix tests on 1.0 * add matrix and list support to log_text * reverting test_TBLogger.jl * Wrapper type implementation (#17) * Wrapper type implementation * Wrap `propertynames` into `logable_properties` and use it when preprocessing structures so that it's just a one-liner to drop fields out of a struct when logging * Add common logic to TBHistogram and TBVector so that if they wrap complex arrays they split it into real and imaginary part. * Add tests * Add support for Matrix and List in LogText.jl (JuliaLogging#22) * add matrix and list support to log_text * Add Compat Intervals * update readme with install instructions (and correct minor typos) * Logimage (#21) Implementing Image logging functionality. * add `log_image` and `log_images` * add Pkg.add("Flux") in test * update Project.toml * add support for 1-D images in `log_image` * add ImageFormat explanation * add seperate function for image objects * add more formats change flow of data different `image_summary` for image object and AbstractArrays * add preprocess function for image objects for automatic dispatch * add TBImage, TBImages wrapper * add tests. more required. more will come * minor bug fix * fix some tabspace mix (JuliaLogging#25) * refactoring * add support for 3-d images such as mri * bug fixes * add more tests * minor bug fix * add examples folder * syntax revision * change if else to function dispatch `image_summary` * major revision `log_image` smart use of ImageFormats * change throw message * change dict to ternary. minor revision * add LogAudio.jl with dep WAV.jl * add test for `log_audio` * add `TBAudios` and `TBAudio` and test * bugfix `log_text` * add examples `Audios.jl` and `Texts.jl` * Add SummaryCollection constructors that take the summaries (JuliaLogging#26) * Add SummaryCollection constructors that take the summaries * use new SummaryCollecton constructor * change SummaryCollection construction `log_audio` * add support for 1-D and 3-D images, Logger interface, TBImage Wrapper, Tests, Examples (JuliaLogging#24) * add matrix and list support to log_text * add support for 1-D images in `log_image` * add ImageFormat explanation * add seperate function for image objects * add more formats change flow of data different `image_summary` for image object and AbstractArrays * add preprocess function for image objects for automatic dispatch * add TBImage, TBImages wrapper * add tests * add support for 3-d images such as mri * add more tests * add examples folder * syntax revision * change if else to function dispatch `image_summary` * major revision `log_image` smart use of ImageFormats * change throw message * Update to v 0.1.1 * update * change docstring * rm test data * chane SummaryCollection * Do not directly depend on ImageMagick (JuliaLogging#28) * remove direct dependency on ImageMagick * bump version * rm WAV dependency * switch `with_logger` blocks from `begin` to `do` in README (JuliaLogging#30) * Add `log_audio`, `TBAudio`, tests, examples (JuliaLogging#27) Logging audio: * add `TBAudios` and `TBAudio` and their tests * add examples `Audios.jl` and `Texts.jl` Improvements to Image logging: * add support for 1-D images in `log_image` * add seperate function for image objects * add dispatching support to image object * add support for 3-d images such as mrs * add TBImage, TBImages wrapper Improvements to Text Logging: * add matrix and list support to log_text * switch `with_logger` blocks from `begin` to `do` in README (JuliaLogging#30)
Regardless of the discussion in #10, this is a first implementation of wrapper types.
At the moment I only added
TBText
,TBHistogram
andTBVector
. This should all that we can support at the moment, until new loggers are added.cc @oxinabox @shashikdm