input_file=urllib.request.urlopen(file_path+file_name)
output_file=open(file_name,'wb')
output_file.write(input_file.read())
output_file.close(); input_file.close()
with h5py.File(file_name,'r') as f:
images=np.array(f[keys[int(0)]])
labels=np.array(f[keys[int(1)]])
names=[[el.decode('utf-8') for el in f[keys[i]]]
for i in range(int(2),len(keys))]
f.close(); os.remove(file_name)
N=images.shape[0]; shuffle_ids=np.arange(N)
np.random.RandomState(12).shuffle(shuffle_ids)
images=images[shuffle_ids]
labels=np.array([labels[i][shuffle_ids]
for i in range(labels.shape[int(0)])])
top=[['original_type','original_object']]))
def _pictograms(original_type=selector(names[0],default='pictogram'),
original_object=selector(names[1],default='bird')):
global names,images,labels,esrgan_model_path,lr_size
original_names=[names[0].index(original_type),
names[1].index(original_object)]
original_cond=np.intersect1d(
np.where(labels[0]==original_names[0]),
np.where(labels[1]==original_names[1]))
original_images=images[original_cond]
original_len=original_images.shape[0]
original_img=original_images[randint(0,original_len-1)]
lr=tf.image.resize(original_img,[lr_size,lr_size])
lr=tf.expand_dims(lr.numpy()[:,:,:int(3)],axis=int(0))
lr=tf.cast(lr*int(255),tf.float32)
interpreter=tf.lite.Interpreter(model_path=esrgan_model_path)
interpreter.allocate_tensors()
input_details=interpreter.get_input_details()
output_details=interpreter.get_output_details()
interpreter.set_tensor(input_details[int(0)]['index'],lr)
output_data=interpreter.get_tensor(output_details[0]['index'])
sr=tf.squeeze(output_data,axis=int(0))
sr=tf.clip_by_value(sr,int(0),int(255))
sr=tf.cast(tf.round(sr),tf.uint8)
lr=tf.cast(tf.squeeze(lr,axis=int(0)),tf.uint8)
print('original 64x64 '+' lower resolution 50x50 '+\
' higher resolution 200x200\n')
for img in [original_img,lr/int(255),sr/int(255)]:
matrix_plot(img,frame=True,figsize=3.8).show()
No comments:
Post a Comment