• (1) flask 封装

  • (2)具体接口说明 

@app.route('/ver', methods=['POST'])

说明:1V1,1VN的verification

1v1:传入两张图片,程序会计算出两者的相似度

1VN: 传入source一张,targetN张,程序会计算出与source最大相似度。

 

@app.route('/getEmb', methods=['POST'])

传一张图,得一个embedding值 。

@app.route('/getEmbList', methods=['POST'])

传N张图,得N个(1,512)的数组。每一个数组即为一个embedding.

def test_verfication():
        source = os.path.join(test_cat , 'TH.png')
        target = os.path.join(test_cat, 'TH1.jpg')
        target2 = os.path.join(test_cat, 'TH.png')
        list=[]
        list.append(file2base64(target))
        list.append(file2base64(target2))
        req = {"source": {"data":file2base64(source)}, "target":{"data":list}}
        resp = requests.post('http://10.60.2.199:18080/ver', json=req)
        data = resp.json()
        return data
def test_getEmb1():
        source = os.path.join(test_cat , 'Stallone.jpg')
        req = {"source": {"url":source}}
        resp = requests.post('http://10.60.2.199:18080/getEmb', json=req)
        data = resp.json()
        return data
def test_getEmb2():
        source = os.path.join(test_cat , 'Stallone.jpg')
        req = {"source": {"data":file2base64(source)}}
        resp = requests.post('http://10.60.2.199:18080/getEmb', json=req)
        data = resp.json()
        return data
def test_getEmb3():
        source = os.path.join(test_cat , 'Stallone.jpg')
        source2 = os.path.join(test_cat , 'TH1.jpg')
        source3 = os.path.join(test_cat , 'TH.png')
        list = []
        list.append(file2base64(source))
        list.append(file2base64(source2))
        list.append(file2base64(source3))

        req = {"source": {"data":list}}
        resp = requests.post('http://10.60.2.199:18080/getEmbList', json=req)
        data = resp.json()
        return data

 

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐