45 lines
1.0 KiB
Python
Raw Normal View History

2018-07-02 10:17:14 +01:00
from __future__ import absolute_import
import os
import os.path as osp
import errno
import json
import shutil
import torch
def mkdir_if_missing(directory):
if not osp.exists(directory):
try:
os.makedirs(directory)
except OSError as e:
if e.errno != errno.EEXIST:
raise
2018-08-07 17:14:28 +01:00
def check_isfile(path):
isfile = osp.isfile(path)
if not isfile:
2019-01-30 22:41:47 +00:00
print('=> Warning: no file found at "{}" (ignored)'.format(path))
2018-08-07 17:14:28 +01:00
return isfile
2018-07-02 10:17:14 +01:00
def read_json(fpath):
with open(fpath, 'r') as f:
obj = json.load(f)
return obj
def write_json(obj, fpath):
mkdir_if_missing(osp.dirname(fpath))
with open(fpath, 'w') as f:
json.dump(obj, f, indent=4, separators=(',', ': '))
def save_checkpoint(state, is_best=False, fpath='checkpoint.pth.tar'):
if len(osp.dirname(fpath)) != 0:
mkdir_if_missing(osp.dirname(fpath))
2018-07-02 10:17:14 +01:00
torch.save(state, fpath)
if is_best:
shutil.copy(fpath, osp.join(osp.dirname(fpath), 'best_model.pth.tar'))