ShapeGuard is a tool to help with handling shapes in Tensorflow.
Project description
Shape Guard
ShapeGuard is a tool to help with handling shapes in Tensorflow.
Basic Usage
import tensorflow as tf
from shapeguard import ShapeGuard
sg = ShapeGuard()
img = tf.ones([64, 32, 32, 3])
flat_img = tf.ones([64, 1024])
labels = tf.ones([64])
# check shape consistency
sg.guard(img, "B, H, W, C")
sg.guard(labels, "B, 1") # raises error because of rank mismatch
sg.guard(flat_img, "B, H*W*C") # raises error because 1024 != 32*32*3
# guard also returns the tensor, so it can be inlined
mean_img = sg.guard(tf.reduce_mean(img, axis=0), "H, W, C")
# more readable reshapes
flat_img = sg.reshape(img, 'B, H*W*C')
# evaluate templates
assert sg['H, W*C+1'] == [32, 97]
# attribute access to inferred dimensions
assert sg.B == 64
Shape Template Syntax
The shape template mini-DSL supports many different ways of specifying shapes:
- numbers:
"64, 32, 32, 3"
- named dimensions:
"B, width, height2, channels"
- wildcards:
"B, *, *, *"
- ellipsis:
"B, ..., 3"
- addition, subtraction, multiplication, division:
"B*N, W/2, H*(C+1)"
- dynamic dimensions:
"?, H, W, C"
(only matches[None, H, W, C]
)
DISCLAIMER
This is not an officially supported Google product.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
shapeguard-0.1.1.tar.gz
(29.3 kB
view details)
Built Distribution
File details
Details for the file shapeguard-0.1.1.tar.gz
.
File metadata
- Download URL: shapeguard-0.1.1.tar.gz
- Upload date:
- Size: 29.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/0.12.17 CPython/3.7.3 Linux/4.15.0-62-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0bd2a80a924acbf6d2fb07a6b2cbed742f7f9ecdfd77ee106ae5f48538abb31f |
|
MD5 | 8c8274965ac8e0c6edc9d086f6aa2bb2 |
|
BLAKE2b-256 | 4d44ce6a7100f94556aa4692cc9b150a0b909ed7470672ca6f72a9b23f324dea |
File details
Details for the file shapeguard-0.1.1-py3-none-any.whl
.
File metadata
- Download URL: shapeguard-0.1.1-py3-none-any.whl
- Upload date:
- Size: 32.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/0.12.17 CPython/3.7.3 Linux/4.15.0-62-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a489d6a8a33cdc6b6f4a2f7bf9e59d2824699373ca77b1c91ac12bb44b85b990 |
|
MD5 | 55dde609c56ed93007a197b1076c71ce |
|
BLAKE2b-256 | e54c4991b4503ad19de7a8d3586f97d8dab3ecf59541e649bac5218dbcd294cd |