| import numpy as np | |
| import requests | |
| import tensorflow as tf | |
| _UINT8_MAX_F = float(np.iinfo(np.uint8).max) | |
| def load_image(img_url: str): | |
| """Returns an image with shape [height, width, num_channels], with pixels in [0..1] range, and type np.float32.""" | |
| if img_url.startswith("https"): | |
| user_agent = {'User-agent': 'Colab Sample (https://tensorflow.org)'} | |
| response = requests.get(img_url, headers=user_agent) | |
| image_data = response.content | |
| else: | |
| image_data = tf.io.read_file(img_url) | |
| image = tf.io.decode_image(image_data, channels=3) | |
| image_numpy = tf.cast(image, dtype=tf.float32).numpy() | |
| return image_numpy / _UINT8_MAX_F | |