Skip to content

Do not directly depend on ImageMagick #28

New issue

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

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

Already on GitHub? # to your account

Merged
merged 2 commits into from
May 22, 2019

Conversation

oxinabox
Copy link
Member

@oxinabox oxinabox commented May 22, 2019

ImageMagick is a rather heavy weight dependency.
Through the wizardry of FileIO.jl we don't need to directly depend on it.
We just need it installed, or else the log_image functions throw an error.
The error message is actually pretty helpful and clear anyway:

Errors encountered while saving nothing.
All errors:
   ArgumentError("Package QuartzImageIO not found in current path:\n- Run `import Pkg; Pkg.add(\"Qu
artzImageIO\")` to install the QuartzImageIO package.\n")
   ArgumentError("Package ImageMagick not found in current path:\n- Run `import Pkg; Pkg.add(\"ImageMagick\")` to install the ImageMagick package.\n")

People who do not use the log_image functions don't care,
and so this massively speeds up install/precompile time for them.
Which is good. Because I am one of them (right now)

@codecov
Copy link

codecov bot commented May 22, 2019

Codecov Report

Merging #28 into master will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           master      #28   +/-   ##
=======================================
  Coverage   79.31%   79.31%           
=======================================
  Files          24       24           
  Lines         290      290           
=======================================
  Hits          230      230           
  Misses         60       60

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4dd51d4...17c38af. Read the comment docs.

1 similar comment
@codecov

This comment has been minimized.

@PhilipVinc PhilipVinc merged commit 1c311ed into JuliaLogging:master May 22, 2019
@PhilipVinc
Copy link
Member

Thanks for keeping this lean

@PhilipVinc
Copy link
Member

@JuliaRegistrator register()

@JuliaRegistrator
Copy link

Pull request comments will not trigger Registrator as it is disabled. Please trying using a commit or issue comment.

shashikdm pushed a commit to shashikdm/TensorBoardLogger.jl that referenced this pull request May 26, 2019
* 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)
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants