List of commits:
Subject Hash Author Date (UTC)
add model flatten function ccce38ff5010861ccf1a6437a87f1b7d82faf349 Xiangru Lian 2019-01-21 01:38:29
fix 43cdf7e3a85af6b517c7a36e6b22cb7e9c4e073a Xiangru Lian 2019-01-13 09:17:26
fix df37e441a6280fe15cc1852fa4701364f1326e33 Xiangru Lian 2019-01-13 09:13:31
bump version 859ac9c2c748528cf879a20e7036472141b2895a Xiangru Lian 2019-01-13 08:48:44
add running auc meter 1494873cc463891b978b263e0d8bd691f3b30526 Xiangru Lian 2019-01-13 08:48:23
fix 1ed58b687a60985cd23721b0189a22429f3d1fe4 Xiangru Lian 2019-01-09 21:52:01
add reset to auc estimator 333badd5489e538b0ee9b5441331322ba72d3981 Xiangru Lian 2019-01-08 21:17:22
add riemann auc estimator 8ce1b37008f10d6ca825728b1d0106b03bb0529d Xiangru Lian 2019-01-08 21:11:27
fix d4f0a50ffb6afea07df425d759fdf8460839d0ce Xiangru Lian 2019-01-07 22:27:56
add numpy support 2e10283edfc427ea4da6a76c8c3a6f85a44bace4 Xiangru Lian 2019-01-07 22:24:12
update fcfc8a26e275395688fb3fa50538f890c1f612e4 Xiangru Lian 2019-01-07 21:55:04
use markdown for readme f46e30761b4f361d5494484d9bdb20dc04a20d83 Xiangru Lian 2019-01-07 21:53:46
add readme a9a0b91ea0e0485039ea76b6b69c5f983815e8a3 Xiangru Lian 2019-01-07 21:52:31
fix 16a965862eaefa554a540fd2eeee26f73907d5dd Xiangru Lian 2019-01-07 21:37:12
fix setup.py 24e85045cc859ffa7d6f514c80257fde94c0794a Xiangru Lian 2019-01-07 21:35:15
compatible with setup.py 657782ac87ea9251f2e3726b483089eca5384caf Xiangru Lian 2019-01-07 21:33:48
initial commit 27cb0b3b4f5f20240af6d14ead4f373a1aaa5343 Xiangru Lian 2019-01-07 21:26:20
Update .gitignore 52642556fea807b773617938eecd2d9d17f34bc6 ikzk 2019-01-07 20:16:37
Commit ccce38ff5010861ccf1a6437a87f1b7d82faf349 - add model flatten function
Author: Xiangru Lian
Author date (UTC): 2019-01-21 01:38
Committer name: Xiangru Lian
Committer date (UTC): 2019-01-21 01:38
Parent(s): 43cdf7e3a85af6b517c7a36e6b22cb7e9c4e073a
Signing key:
Tree: 8eae38f33937c89c14c3b17f25f1b883ed7112b0
File Lines added Lines deleted
persia_pytorch_toolkit/model_utils.py 45 0
setup.py 1 1
File persia_pytorch_toolkit/model_utils.py changed (mode: 100644) (index cb5c347..fc58766)
... ... def get_model_size(model):
27 27 tmp *= x tmp *= x
28 28 params += tmp params += tmp
29 29 return params return params
30
31
32 def flatten_model_and_grad_tensor(model, verbose=False):
33 """
34 caveats:
35 1. can only be called after first loss.backward (so that grad variables are created)
36 2. the tensors are all zero (so if you want to initialization plz reinitialize)
37 """
38 total_size = 0
39 tensor_type = None
40 for parameter in network.parameters():
41 if tensor_type == None:
42 tensor_type = parameter.data.type() # https://github.com/pytorch/pytorch/wiki/Breaking-Changes-from-Variable-and-Tensor-merge
43 total_size += parameter.nelement()
44
45 if verbose:
46 print("total size: ", total_size)
47 print("tensor type: ", tensor_type)
48
49 tensor = torch.Tensor(total_size).type(tensor_type)
50 storage = tensor.storage()
51 grad_tensor = torch.Tensor(total_size).type(tensor_type)
52 grad_storage = grad_tensor.storage()
53
54
55 if verbose:
56 print("create new continuous storage")
57
58 current_offset = 0
59
60 for parameter in network.parameters():
61 backup = parameter.data.clone()
62 parameter.data.set_(storage, current_offset, parameter.data.size())
63 parameter.data.copy_(backup)
64 parameter.grad.data.set_(grad_storage, current_offset, parameter.data.size())
65 current_offset += parameter.data.nelement()
66 print("parameter storage offset: ", parameter.data.storage_offset())
67
68 if verbose:
69 print("The C pointer: ", storage.data_ptr())
70 print("The C pointer for grad: ", grad_storage.data_ptr())
71 print("Is contiguous memory? ", tensor.is_contiguous())
72 print("Is grad contiguous memory? ", grad_tensor.is_contiguous())
73
74 return tensor, grad_tensor
File setup.py changed (mode: 100644) (index b73fb55..93fd586)
1 1 from setuptools import setup from setuptools import setup
2 2
3 3 setup(name='persia_pytorch_toolkit', setup(name='persia_pytorch_toolkit',
4 version='0.0.2',
4 version='0.0.3',
5 5 description="Xiangru Lian's toolkit with PyTorch.", description="Xiangru Lian's toolkit with PyTorch.",
6 6 url='https://github.com/ikzk/persia_pytorch_toolkit', url='https://github.com/ikzk/persia_pytorch_toolkit',
7 7 author="Xiangru Lian", author="Xiangru Lian",
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/ikzk/persia-pytorch-toolkit

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/ikzk/persia-pytorch-toolkit

Clone this repository using git:
git clone git://git.rocketgit.com/user/ikzk/persia-pytorch-toolkit

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main