forked from singnet/dnn-model-services
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest_deepfakes_faceswap_service.py
56 lines (46 loc) · 1.91 KB
/
test_deepfakes_faceswap_service.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import sys
import grpc
# import the generated classes
import service.service_spec.deepfakes_faceswap_pb2_grpc as grpc_bt_grpc
import service.service_spec.deepfakes_faceswap_pb2 as grpc_bt_pb2
from service import registry
VIDEO_A_TEST_URL = \
"http://snet-models.s3.amazonaws.com/bh/Deepfakes/ben.mp4"
VIDEO_B_TEST_URL = \
"http://snet-models.s3.amazonaws.com/bh/Deepfakes/musk.mp4"
if __name__ == "__main__":
try:
test_flag = False
if len(sys.argv) == 2:
if sys.argv[1] == "auto":
test_flag = True
# Service
endpoint = input("Endpoint (localhost:{}): ".format(
registry["deepfakes_faceswap_service"]["grpc"])) \
if not test_flag else ""
if endpoint == "":
endpoint = "localhost:{}".format(
registry["deepfakes_faceswap_service"]["grpc"])
# Open a gRPC channel
channel = grpc.insecure_channel("{}".format(endpoint))
grpc_method = input("Method (faceswap): ") if not test_flag else ""
if grpc_method == "faceswap" or grpc_method == "":
uid = input("UID: ") if not test_flag else None
video_a = input("Video A: ") if not test_flag else VIDEO_A_TEST_URL
video_b = input("Video B: ") if not test_flag else VIDEO_B_TEST_URL
model_url = input("Model URL: ") if not test_flag else None
stub = grpc_bt_grpc.DeepFakesFaceSwapStub(channel)
request = grpc_bt_pb2.Input(uid=uid,
video_a=video_a,
video_b=video_b,
model_url=model_url)
response = stub.faceswap(request)
print(response)
if "Fail" in str(response):
exit(1)
else:
print("Invalid method!")
exit(1)
except Exception as e:
print(e)
exit(1)