A collection of small functions that supplements torch functionality
Project description
TorchFun (originally Torchure)
for those who expect more convenient features from torch
Functionality
- Flatten
- flatten()
- Subpixel
- subpixel()
- imshow()
- load()
- save()
- count_parameters()
- Packsearch
- packsearch()
Install TorchFun
pip install torchfun
API
Flatten Module
used to reshape outputs
Usage:
flat = Flatten()
out = flat(x)
flatten(x) function
Usage:
out = flatten(x)
subpixel(x,out_channels) function
Unfold channel/depth dimensions to enlarge the feature map
Notice:
Output size is deducted.
The size of the unfold square is automatically determined
e.g. :
images: 100x16x16x9. 9=3x3 square
subpixel-out: 100x48x48x1
Arguement:
out_channels, channel number of output feature map
Subpixel Module
Same functionality as subpixel(x), but with Module interface.
s = Subpixel(out_channels=1)
out = s(x)
imshow(x,title=None,auto_close=True) (function)
only deal with torch channel-first image batch,
Arguements:
- x: input data cube, torch tensor or numpy array.
- title: add title to plot. (Default None)
- title can be string, or any string-able object.
- auto_close: (default True)
- Close the pyplot session afterwards.
- Clean the environment just like you had never used matplotlib here.
- if set to False, the plot will remain in the memory for further drawings.
Usage:
imshow(batch)
imshow(batch,title=[a,b,c])
imshow(batch,title='title')
imshow(batch,auto_close=False)
Warnings:
TorchFun:imshow:Warning, you are using WebAgg backend for Matplotlib.
Please consider windowed display SDKs such as TkAgg backend and GTK* backends.
This means your matplotlib is using web-browser for figure display. We strongly recommend you to use window-based native display because browser-based backends are fragile and tend to crash. You can change the display mamanger for matplotlib each time you execute your script by:
import matplotlib
matplotlib.use('TkAgg') # or GTK GTKAgg
or permanantly by editing: site-packages/matplotlib/mpl-data/matplotlibrc
and change backend to TkAgg
A full list of available backends can be found at:
import matplotlib
matplotlib.rcsetup.all_backends
and, the TCL/TK GUI library for tkinter
can be downloaded here.
load(a,b) (function)
Arguements:
- arbitrary arguemnts named :
a
andb
Load weighta
into modelb
, or load modelb
using weighta
The order of the arguments doesn't matter. Example:
>load('weights.pts',model)
or
>load(model,'weights.pts')
or
>f = open('weight.pts')
>load(f,model)
or
>load(model,f)
Return value:
- None
save(a,b) (function)
Arguements:
- arbitrary arguemnts named :
a
andb
save weighta
into targetb
, or save modelb
into targeta
The order of the arguments doesn't matter.
Example:
>save('weights.pts',model)
or
>save(model,'weights.pts')
or
>f = open('weight.pts')
>save(f,model)
or
>save(model,f)
or
>save('weights.pts',state_dict)
or
>save(state_dict,'weights.pts')
Return value: None
count_parameters(model_or_dict) (function)
Arguements:
- model_or_dict: model or state dictionary
Return: parameter amount in python-int Returns 0 if datatype not understood
Usage:
count_parameters(model)
count_parameters(state_dict)
count_parameters(weight_tensor)
count_parameters(numpy_array)
Packsearch
Given an module object as input:
> p = Packsearch(torch)
the instance p provide p.search() method. So that you can search everything inside this package
> p.search('maxpoo')
output:
Packsearch: 35 results found:
-------------results start-------------
0 torch.nn.AdaptiveMaxPool1d
1 torch.nn.AdaptiveMaxPool2d
2 torch.nn.AdaptiveMaxPool3d
3 torch.nn.FractionalMaxPool2d
4 torch.nn.MaxPool1d
5 torch.nn.MaxPool2d
...
packsearch(module,keyword) Function
or packsearch(keyword,module)
Given an module object, and search pattern string as input:
> packsearch(torch,'maxpoo')
or
> packsearch('maxpoo',torch)
you can search everything inside this package
output:
Packsearch: 35 results found:
-------------results start-------------
0 torch.nn.AdaptiveMaxPool1d
1 torch.nn.AdaptiveMaxPool2d
2 torch.nn.AdaptiveMaxPool3d
3 torch.nn.FractionalMaxPool2d
4 torch.nn.MaxPool1d
5 torch.nn.MaxPool2d
...
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
Built Distribution
Hashes for torchfun-0.0.37-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 07f1f02cd948864a92a993c3b805c3b599a7981ede755819b96024870e6fe3da |
|
MD5 | c6584c6247aecf4bb10fbcc4d679e6bd |
|
BLAKE2b-256 | 27ac02d3f24e90abd1d620608228a82a4bf54bd67f330c7ca606ad865f8c00fd |