forked from salu133445/musegan
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathstore_to_sa.py
37 lines (30 loc) · 1.23 KB
/
store_to_sa.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
"""Store a numpy array to shared memory via SharedArray package.
"""
import os.path
import argparse
import numpy as np
import SharedArray as sa
def parse_arguments():
"""Parse and return the command line arguments."""
parser = argparse.ArgumentParser()
parser.add_argument('filepath', help="Path to the data file.")
parser.add_argument('--name', help="File name to save in SharedArray. "
"Default to use the original file name.")
parser.add_argument('--prefix', help="Prefix to the file name to save in "
"SharedArray. Only effective when "
"`name` is not given.")
args = parser.parse_args()
return args.filepath, args.name, args.prefix
def main():
"""Main function"""
filepath, name, prefix = parse_arguments()
data = np.load(filepath)
if name is None:
name = os.path.splitext(os.path.basename(filepath))[0]
if prefix is not None:
name = prefix + '_' + name
sa_array = sa.create(name, data.shape, data.dtype)
np.copyto(sa_array, data)
print("Successfully saved: {}, {}, {}".format(name, data.shape, data.dtype))
if __name__ == '__main__':
main()