Skip to content

shiba6v/shape_commentator

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Shape Commentator

CircleCI

About

You can easily add numpy.ndarray.shape, torch.Size, other shape and type information at runtime to your script code as comments.
NumPyやPyTorchなどの配列のshape属性や,変数の型の実行時の情報を,スクリプトにコメントとして貼り付けるツールです.

Install

pip install -U shape_commentator

-U means upgrading.

Usage

This tool has two types of usage.
このツールには2つの使い方があります.

Usage 1. Execute this as a Module

Sample_Module

Create Commented Script

  1. Run this script as a module with argument of script name. Command line arguments to the target script are available.
    Pythonのモジュールとしてshape_commentatorを実行してください.引数は,スクリプト名の後にスクリプトに渡したい引数を続けることもできます.
python -m shape_commentator src.py
python -m shape_commentator src.py arg1 arg2 arg3
  1. You get the commented script. For example, you execute shape_commentator to src.py, you get src.py.commented.py.
    src.pyというスクリプトに対して実行すると,src.py.commented.pyが生成されます.

src.py

import numpy as np
a = np.array([1,2,3,4,5,6])
b = np.array([0,1,2,3,4,5])
ab_h = np.hstack((a,b))
ab_v = np.vstack((a,b))
ab = np.dot(a,b)
AA, BB = np.meshgrid(a,b)
i = 1
f = 1.0
c = 1 + 1j
s = "string1"
class A():
    pass
a = A()

src.py.commented.py

import numpy as np
a = np.array([1,2,3,4,5,6])  #_ (6,)
b = np.array([0,1,2,3,4,5])  #_ (6,)
ab_h = np.hstack((a,b))  #_ (12,)
ab_v = np.vstack((a,b))  #_ (2, 6)
ab = np.dot(a,b)  #_ ()
AA, BB = np.meshgrid(a,b)  #_ [(6, 6),(6, 6),]
i = 1  #_ int
f = 1.0  #_ float
c = 1 + 1j  #_ complex
s = "string1"  #_ str
class A():
    pass
a = A()  #_ A

Usage 2. IPython / Jupyter Notebook (Magic Command)

Sample_IPython

To use IPython / Jupyter Notebook magic command,
IPythonやJupyter Notebookでのマジックコマンドの使い方

import shape_commentator

Create Commented Script

コメントを付ける

%%shape
a = np.array([1,2,3,4,5,6])

output

a = np.array([1,2,3,4,5,6])  #_ (6,)

Delete Comments

コメントを消す

%%shape -d
a = np.array([1,2,3,4,5,6])  #_ (6,)

output

a = np.array([1,2,3,4,5,6])

Tested Python Version

Test scripts are written in these version of Python.
以下のバージョンがテストされています.

  • 3.8.0
  • 3.7.5
  • 3.6.9
  • 3.5.9
  • 3.4.10
  • 2.7.17

Blog

作った経緯などを書いた解説ブログはこちらにあります.
NumPyやPyTorchで使える超便利ツールを作った

About

多次元配列の属性情報を実行時に取得してコメントに書き足すツール

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published