Treyja
Treyja is a Ruby script which takes Tensors
protobin and outputs in human readable way.
Installation
Make sure you have ruby
and gem
commands installed.
$ ruby --version
ruby 2.5.3p105 (2018-10-18 revision 65156) [x86_64-darwin17]
$ gem --version
2.7.6
Install it yourself as:
$ gem install treyja
How to use
Assume that we are in the root dir of alderaan
.
To show in JSON format
$ draupnir get draupnir/test/fixtures/configuration/literal.yaml | treyja json
{"tensors":[{"dims":[3,2],"dataType":"FLOAT","int32Data":[],"int64Data":[],"uint32Data":[],"uint64Data":[],"floatData":[0.2,0.30000001,1,2,3,5],"doubleData":[]}]}
{"tensors":[{"dims":[3,2],"dataType":"FLOAT","int32Data":[],"int64Data":[],"uint32Data":[],"uint64Data":[],"floatData":[0,0,0.5,0.60000002,0.69999999,0.80000001],"doubleData":[]}]}
Using jq (optional)
jq command is handy to pretty print JSON.
$ draupnir get draupnir/test/fixtures/configuration/literal.yaml | treyja json | jq
{
"tensors": [
{
"dims": [
3,
2
],
"dataType": "FLOAT",
"int32Data": [],
"int64Data": [],
"uint32Data": [],
"uint64Data": [],
"floatData": [
0.2,
0.30000001,
1,
2,
3,
5
],
"doubleData": []
}
]
}
{
"tensors": [
{
"dims": [
3,
2
],
"dataType": "FLOAT",
"int32Data": [],
"int64Data": [],
"uint32Data": [],
"uint64Data": [],
"floatData": [
0,
0,
0.5,
0.60000002,
0.69999999,
0.80000001
],
"doubleData": []
}
]
}
To output png image
Output png image files into the directory specified by --output
option.
Shape of input tensors must be 3 dimensional and channel count must be 1 (grayscale), 2 (grayscale and alpha), 3 (RGB) or 4 (RGB and alpha).
Element type of input tensors must be uint8, int8, float or double.
$ draupnir get mnist --take 100 | treyja image --output tmp/mnist-images
Development
After checking out the repo, run bin/setup
to install dependencies. Then, run rake spec
to run the tests. You can also run bin/console
for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install
. To release a new version, update the version number in version.rb
, and then run bundle exec rake release
, which will create a git tag for the version, push git commits and tags, and push the .gem
file to rubygems.org.
Setup Ruby
If rake
or bundle
failed, you may not have ruby
installed on your system.
Setup ruby in your favorite way.
With nix-env
, you can install ruby-2.5.x by:
$ nix-env -i $(nix-env -qa | grep ruby-2.5)
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/xc-jp/treyja-ruby. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
License
The gem is available as open source under the terms of the MIT License.
Code of Conduct
Everyone interacting in the Treyja project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.