Module Name | mobilenet_v2_dishes |
---|---|
Category | image classification |
Network | MobileNet_v2 |
Dataset | Baidu food Dataset |
Fine-tuning supported or not | No |
Module Size | 52MB |
Latest update date | - |
Data indicators | - |
-
- MobileNet is a light-weight convolution network. This module is trained on Baidu food dataset, and can classify 8416 kinds of food.
- For more information, please refer to:MobileNetV2: Inverted Residuals and Linear Bottlenecks
-
-
paddlepaddle >= 1.6.2
-
paddlehub >= 1.6.0 | How to install PaddleHub
-
-
-
$ hub install mobilenet_v2_dishes
- In case of any problems during installation, please refer to: Windows_Quickstart | Linux_Quickstart | Mac_Quickstart
-
-
-
$ hub run mobilenet_v2_dishes --input_path "/PATH/TO/IMAGE"
- If you want to call the Hub module through the command line, please refer to: PaddleHub Command Line Instruction
-
-
-
import paddlehub as hub import cv2 classifier = hub.Module(name="mobilenet_v2_dishes") result = classifier.classification(images=[cv2.imread('/PATH/TO/IMAGE')]) # or # result = classifier.classification(paths=['/PATH/TO/IMAGE'])
-
-
-
def classification(images=None, paths=None, batch_size=1, use_gpu=False, top_k=1):
-
classification API.
-
Parameters
- images (list[numpy.ndarray]): image data, ndarray.shape is in the format [H, W, C], BGR;
- paths (list[str]): image path;
- batch_size (int): the size of batch;
- use_gpu (bool): use GPU or not; set the CUDA_VISIBLE_DEVICES environment variable first if you are using GPU
- top_k (int): return the first k results
-
Return
- res (list[dict]): classication results, each element in the list is dict, key is the label name, and value is the corresponding probability
-
-
-
PaddleHub Serving can deploy an online service of image classification.
-
-
Run the startup command:
-
$ hub serving start -m mobilenet_v2_dishes
-
The servitization API is now deployed and the default port number is 8866.
-
NOTE: If GPU is used for prediction, set CUDA_VISIBLE_DEVICES environment variable before the service, otherwise it need not be set.
-
-
-
With a configured server, use the following lines of code to send the prediction request and obtain the result
-
import requests import json import cv2 import base64 def cv2_to_base64(image): data = cv2.imencode('.jpg', image)[1] return base64.b64encode(data.tostring()).decode('utf8') # Send an HTTP request data = {'images':[cv2_to_base64(cv2.imread("/PATH/TO/IMAGE"))]} headers = {"Content-type": "application/json"} url = "http://127.0.0.1:8866/predict/mobilenet_v2_dishes" r = requests.post(url=url, headers=headers, data=json.dumps(data)) # print prediction results print(r.json()["results"])
-
-
1.0.0
First release
-
1.1.0
Remove Fluid API
-
$ hub install mobilenet_v2_dishes==1.1.0
-