@@ -22,36 +22,36 @@ Our `requirements.txt` file :
22
22
23
23
``` python-requirements
24
24
numpy==1.19.0
25
- Pillow==7.2.0
26
- grpcio==1.30 .0
27
- protobuf==3.12.2
25
+ Pillow==8.1.1
26
+ grpcio==1.38 .0
27
+ protobuf==3.17.1
28
28
```
29
29
30
30
## 2. Docker-compose file
31
31
32
32
To bind our local files to our container files and execute the program easily, let's create a [ ` docker-compose.yml ` ] ( ./docker-compose.yml ) file :
33
33
34
34
``` yml
35
- version : ' 3'
35
+ version : ' 3.3 '
36
36
37
37
services :
38
38
39
39
client :
40
40
build : .
41
41
command : python3 /usr/app/client.py
42
42
volumes :
43
- - ${PWD}/eiffel-tower.jpg :/usr/app/eiffel-tower.jpg # Our input image
44
- - ${PWD}/eiffel-tower-transformed.jpg :/usr/app/eiffel-tower-transformed.jpg # Our output image
45
- - ${PWD} /client.py:/usr/app/client.py
43
+ - ./input :/usr/app/input # Our input image directory
44
+ - ./output :/usr/app/output # Our output image directory
45
+ - . /client.py:/usr/app/client.py:ro
46
46
- ./grpc_compiled:/usr/app/grpc_compiled
47
- depends_on :
47
+ depends_on :
48
48
- server
49
49
50
50
server :
51
51
build : .
52
52
command : python3 /usr/app/server.py
53
53
volumes :
54
- - ${PWD} /server.py:/usr/app/server.py
54
+ - . /server.py:/usr/app/server.py:ro
55
55
- ./grpc_compiled:/usr/app/grpc_compiled
56
56
` ` `
57
57
@@ -119,7 +119,7 @@ import image_transform_pb2_grpc
119
119
def run():
120
120
channel = grpc.insecure_channel('server:13000')
121
121
stub = image_transform_pb2_grpc.EncodeServiceStub(channel)
122
- image_np = np.array(Image.open('/usr/app/eiffel-tower.jpg'))
122
+ image_np = np.array(Image.open('/usr/app/input/ eiffel-tower.jpg'))
123
123
image = Image.fromarray(image_np.astype('uint8')) # Transforming np array image into Pillow's Image class
124
124
query = image_transform_pb2.sourceImage(
125
125
image=pickle.dumps(image),
@@ -128,7 +128,7 @@ def run():
128
128
)
129
129
response = stub.GetEncode(query)
130
130
image_transformed = pickle.loads(response.image)
131
- image_transformed.save('/usr/app/eiffel-tower-transformed.jpg')
131
+ image_transformed.save('/usr/app/output/ eiffel-tower-transformed.jpg')
132
132
133
133
if __name__ == "__main__":
134
134
run()
@@ -193,6 +193,6 @@ So let's run `docker-compose up` !
193
193
194
194
You will see our original `eiffel-tower.jpg` image will transform into its negative and resized version `eiffel-tower-transformed.jpg`
195
195
196
- | [eiffel-tower.jpg](./eiffel-tower.jpg) (640px / 360px) | [eiffel-tower-transformed.jpg](./eiffel-tower-transformed.jpg) (320px / 180px) |
196
+ | [eiffel-tower.jpg](./inpupt/ eiffel-tower.jpg) (640px / 360px) | [eiffel-tower-transformed.jpg](./output /eiffel-tower-transformed.jpg) (320px / 180px) |
197
197
| ------------------------------------------------------ | ------------------------------------------------------------------------------ |
198
- |  |  |
198
+ |  |  |
0 commit comments