from pysr import SR from pyaxdev import enum_devices, sys_init, sys_deinit, AxDeviceType import cv2 import argparse if __name__ == '__main__': parser = argparse.ArgumentParser() parser.add_argument('--model', type=str, default='edsr_x2_small_1.axmodel') parser.add_argument('--image', type=str) args = parser.parse_args() devices_info = enum_devices() dev_type = None devid = None print("可用设备:", devices_info) if devices_info['host']['available']: print("host device available") sys_init(AxDeviceType.host_device, -1) dev_type = AxDeviceType.host_device devid = -1 elif devices_info['devices']['count'] > 0: print("axcl device available, use device-0") sys_init(AxDeviceType.axcl_device, 0) dev_type = AxDeviceType.axcl_device devid = 0 else: raise Exception("No available device") sr = SR({ 'dev_type': dev_type, 'devid': devid, 'model_path': args.model }) image = cv2.imread(args.image) sr_image = sr(image) cv2.imwrite('sr_image.jpg', sr_image) if devices_info['host']['available']: sys_deinit(AxDeviceType.host_device, -1) elif devices_info['devices']['count'] > 0: sys_deinit(AxDeviceType.axcl_device, 0)