Added support for gpu in docker file
This commit is contained in:
parent
b0e2bab5f7
commit
b7b86151e8
11 changed files with 206 additions and 97 deletions
|
@ -68,6 +68,13 @@ services:
|
|||
build:
|
||||
context: ../machine_learning
|
||||
dockerfile: ../machine_learning/Dockerfile
|
||||
deploy:
|
||||
resources:
|
||||
reservations:
|
||||
devices:
|
||||
- driver: nvidia
|
||||
count: 1
|
||||
capabilities: [gpu]
|
||||
volumes:
|
||||
- ../machine_learning/app:/code/app
|
||||
- ${UPLOAD_LOCATION}:/code/app/upload
|
||||
|
@ -79,6 +86,8 @@ services:
|
|||
- database
|
||||
networks:
|
||||
- immich_network
|
||||
|
||||
|
||||
networks:
|
||||
immich_network:
|
||||
volumes:
|
||||
|
|
1
machine_learning/.gitignore
vendored
Normal file
1
machine_learning/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
app/__pycache__
|
|
@ -1,4 +1,4 @@
|
|||
FROM python:3.8
|
||||
FROM tensorflow/tensorflow:latest-gpu
|
||||
|
||||
WORKDIR /code
|
||||
|
||||
|
|
|
@ -7,7 +7,9 @@ name = "pypi"
|
|||
fastapi = "<0.69.0,>=0.68.0"
|
||||
pydantic = "<2.0.0,>=1.8.0"
|
||||
uvicorn = "<0.16.0,>=0.15.0"
|
||||
tensorflow = "<2.2.0"
|
||||
tensorflow = "~=2.8.0"
|
||||
numpy = "==1.22.2"
|
||||
pillow = "==9.0.1"
|
||||
|
||||
[dev-packages]
|
||||
|
||||
|
|
257
machine_learning/Pipfile.lock
generated
257
machine_learning/Pipfile.lock
generated
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"_meta": {
|
||||
"hash": {
|
||||
"sha256": "72ce6766f019b9c37e13f42080fdf809dc4d807e4044f083ba6cec4f9b780e93"
|
||||
"sha256": "3acf9bcf1b74370cbdac742fee64295572085d1c0d3e4ba38b0fc3ae2c7d846a"
|
||||
},
|
||||
"pipfile-spec": 6,
|
||||
"requires": {
|
||||
|
@ -30,19 +30,19 @@
|
|||
],
|
||||
"version": "==3.5.0"
|
||||
},
|
||||
"astor": {
|
||||
"astunparse": {
|
||||
"hashes": [
|
||||
"sha256:070a54e890cefb5b3739d19f30f5a5ec840ffc9c50ffa7d23cc9fc1a38ebbfc5",
|
||||
"sha256:6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e"
|
||||
"sha256:5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872",
|
||||
"sha256:c2652417f2c8b5bb325c885ae329bdf3f86424075c4fd1a128674bc6fba4b8e8"
|
||||
],
|
||||
"version": "==0.8.1"
|
||||
"version": "==1.6.3"
|
||||
},
|
||||
"cachetools": {
|
||||
"hashes": [
|
||||
"sha256:89ea6f1b638d5a73a4f9226be57ac5e4f399d22770b92355f92dcb0f7f001693",
|
||||
"sha256:92971d3cb7d2a97efff7c7bb1657f21a8f5fb309a37530537c71b1774189f2d1"
|
||||
"sha256:486471dfa8799eb7ec503a8059e263db000cdda20075ce5e48903087f79d5fd6",
|
||||
"sha256:8fecd4203a38af17928be7b90689d8083603073622229ca7077b72d8e5a976e4"
|
||||
],
|
||||
"version": "==4.2.4"
|
||||
"version": "==5.0.0"
|
||||
},
|
||||
"certifi": {
|
||||
"hashes": [
|
||||
|
@ -74,18 +74,26 @@
|
|||
"index": "pypi",
|
||||
"version": "==0.68.2"
|
||||
},
|
||||
"flatbuffers": {
|
||||
"hashes": [
|
||||
"sha256:12158ab0272375eab8db2d663ae97370c33f152b27801fa6024e1d6105fd4dd2",
|
||||
"sha256:3751954f0604580d3219ae49a85fafec9d85eec599c0b96226e1bc0b48e57474"
|
||||
],
|
||||
"version": "==2.0"
|
||||
},
|
||||
"gast": {
|
||||
"hashes": [
|
||||
"sha256:fe939df4583692f0512161ec1c880e0a10e71e6a232da045ab8edd3756fbadf0"
|
||||
"sha256:211aac1e58c167b25d3504998f2db694454a24bb1fb1225bce99420166f21d6a",
|
||||
"sha256:cfbea25820e653af9c7d1807f659ce0a0a9c64f2439421a7bba4f0983f532dea"
|
||||
],
|
||||
"version": "==0.2.2"
|
||||
"version": "==0.5.3"
|
||||
},
|
||||
"google-auth": {
|
||||
"hashes": [
|
||||
"sha256:997516b42ecb5b63e8d80f5632c1a61dddf41d2a4c2748057837e06e00014258",
|
||||
"sha256:b7033be9028c188ee30200b204ea00ed82ea1162e8ac1df4aa6ded19a191d88e"
|
||||
"sha256:218ca03d7744ca0c8b6697b6083334be7df49b7bf76a69d555962fd1a7657b5f",
|
||||
"sha256:ad160fc1ea8f19e331a16a14a79f3d643d813a69534ba9611d2c80dc10439dad"
|
||||
],
|
||||
"version": "==1.35.0"
|
||||
"version": "==2.6.0"
|
||||
},
|
||||
"google-auth-oauthlib": {
|
||||
"hashes": [
|
||||
|
@ -160,37 +168,24 @@
|
|||
},
|
||||
"h5py": {
|
||||
"hashes": [
|
||||
"sha256:063947eaed5f271679ed4ffa36bb96f57bc14f44dd4336a827d9a02702e6ce6b",
|
||||
"sha256:13c87efa24768a5e24e360a40e0bc4c49bcb7ce1bb13a3a7f9902cec302ccd36",
|
||||
"sha256:16ead3c57141101e3296ebeed79c9c143c32bdd0e82a61a2fc67e8e6d493e9d1",
|
||||
"sha256:3dad1730b6470fad853ef56d755d06bb916ee68a3d8272b3bab0c1ddf83bb99e",
|
||||
"sha256:51ae56894c6c93159086ffa2c94b5b3388c0400548ab26555c143e7cfa05b8e5",
|
||||
"sha256:54817b696e87eb9e403e42643305f142cd8b940fe9b3b490bbf98c3b8a894cf4",
|
||||
"sha256:549ad124df27c056b2e255ea1c44d30fb7a17d17676d03096ad5cd85edb32dc1",
|
||||
"sha256:64f74da4a1dd0d2042e7d04cf8294e04ddad686f8eba9bb79e517ae582f6668d",
|
||||
"sha256:6998be619c695910cb0effe5eb15d3a511d3d1a5d217d4bd0bebad1151ec2262",
|
||||
"sha256:6ef7ab1089e3ef53ca099038f3c0a94d03e3560e6aff0e9d6c64c55fb13fc681",
|
||||
"sha256:769e141512b54dee14ec76ed354fcacfc7d97fea5a7646b709f7400cf1838630",
|
||||
"sha256:79b23f47c6524d61f899254f5cd5e486e19868f1823298bc0c29d345c2447172",
|
||||
"sha256:7be5754a159236e95bd196419485343e2b5875e806fe68919e087b6351f40a70",
|
||||
"sha256:84412798925dc870ffd7107f045d7659e60f5d46d1c70c700375248bf6bf512d",
|
||||
"sha256:86868dc07b9cc8cb7627372a2e6636cdc7a53b7e2854ad020c9e9d8a4d3fd0f5",
|
||||
"sha256:8bb1d2de101f39743f91512a9750fb6c351c032e5cd3204b4487383e34da7f75",
|
||||
"sha256:a5f82cd4938ff8761d9760af3274acf55afc3c91c649c50ab18fcff5510a14a5",
|
||||
"sha256:aac4b57097ac29089f179bbc2a6e14102dd210618e94d77ee4831c65f82f17c0",
|
||||
"sha256:bffbc48331b4a801d2f4b7dac8a72609f0b10e6e516e5c480a3e3241e091c878",
|
||||
"sha256:c0d4b04bbf96c47b6d360cd06939e72def512b20a18a8547fa4af810258355d5",
|
||||
"sha256:c54a2c0dd4957776ace7f95879d81582298c5daf89e77fb8bee7378f132951de",
|
||||
"sha256:cbf28ae4b5af0f05aa6e7551cee304f1d317dbed1eb7ac1d827cee2f1ef97a99",
|
||||
"sha256:d35f7a3a6cefec82bfdad2785e78359a0e6a5fbb3f605dd5623ce88082ccd681",
|
||||
"sha256:d3c59549f90a891691991c17f8e58c8544060fdf3ccdea267100fa5f561ff62f",
|
||||
"sha256:d7ae7a0576b06cb8e8a1c265a8bc4b73d05fdee6429bffc9a26a6eb531e79d72",
|
||||
"sha256:ecf4d0b56ee394a0984de15bceeb97cbe1fe485f1ac205121293fc44dcf3f31f",
|
||||
"sha256:f0e25bb91e7a02efccb50aba6591d3fe2c725479e34769802fcdd4076abfa917",
|
||||
"sha256:f23951a53d18398ef1344c186fb04b26163ca6ce449ebd23404b153fd111ded9",
|
||||
"sha256:ff7d241f866b718e4584fa95f520cb19405220c501bd3a53ee11871ba5166ea2"
|
||||
"sha256:1c5acc660c458421e88c4c5fe092ce15923adfac4c732af1ac4fced683a5ea97",
|
||||
"sha256:35ab552c6f0a93365b3cb5664a5305f3920daa0a43deb5b2c547c52815ec46b9",
|
||||
"sha256:542781d50e1182b8fb619b1265dfe1c765e18215f818b0ab28b2983c28471325",
|
||||
"sha256:5996ff5adefd2d68c330a4265b6ef92e51b2fc674834a5990add5033bf109e20",
|
||||
"sha256:8752d2814a92aba4e2b2a5922d2782d0029102d99caaf3c201a566bc0b40db29",
|
||||
"sha256:8ecedf16c613973622a334701f67edcc0249469f9daa0576e994fb20ac0405db",
|
||||
"sha256:954c5c39a09b5302f69f752c3bbf165d368a65c8d200f7d5655e0fa6368a75e6",
|
||||
"sha256:98646e659bf8591a2177e12a4461dced2cad72da0ba4247643fd118db88880d2",
|
||||
"sha256:9f39242960b8d7f86f3056cc2546aa3047ff4835985f6483229af8f029e9c8db",
|
||||
"sha256:9fd8a14236fdd092a20c0bdf25c3aba3777718d266fabb0fdded4fcf252d1630",
|
||||
"sha256:a5320837c60870911645e9a935099bdb2be6a786fcf0dac5c860f3b679e2de55",
|
||||
"sha256:c9a5529343a619fea777b7caa27d493595b28b5af8b005e8d1817559fcccf493",
|
||||
"sha256:cd9447633b0bafaf82190d9a8d56f3cb2e8d30169483aee67d800816e028190a",
|
||||
"sha256:d8cacad89aa7daf3626fce106f7f2662ac35b14849df22d252d0d8fab9dc1c0b",
|
||||
"sha256:dbaa1ed9768bf9ff04af0919acc55746e62b28333644f0251f38768313f31745",
|
||||
"sha256:e2b49c48df05e19bb20b400b7ff7dc6f1ee36b84dc717c3771c468b33697b466"
|
||||
],
|
||||
"version": "==2.10.0"
|
||||
"version": "==3.6.0"
|
||||
},
|
||||
"idna": {
|
||||
"hashes": [
|
||||
|
@ -202,25 +197,35 @@
|
|||
},
|
||||
"importlib-metadata": {
|
||||
"hashes": [
|
||||
"sha256:6affcdb3aec542dd98df8211e730bba6c5f2bec8288d47bacacde898f548c9ad",
|
||||
"sha256:9e5e553bbba1843cb4a00823014b907616be46ee503d2b9ba001d214a8da218f"
|
||||
"sha256:175f4ee440a0317f6e8d81b7f8d4869f93316170a65ad2b007d2929186c8052c",
|
||||
"sha256:e0bc84ff355328a4adfc5240c4f211e0ab386f80aa640d1b11f0618a1d282094"
|
||||
],
|
||||
"markers": "python_version < '3.10'",
|
||||
"version": "==4.11.0"
|
||||
"version": "==4.11.1"
|
||||
},
|
||||
"keras-applications": {
|
||||
"keras": {
|
||||
"hashes": [
|
||||
"sha256:5579f9a12bcde9748f4a12233925a59b93b73ae6947409ff34aa2ba258189fe5",
|
||||
"sha256:df4323692b8c1174af821bf906f1e442e63fa7589bf0f1230a0b6bdc5a810c95"
|
||||
"sha256:744d39dc6577dcd80ff4a4d41549e92b77d6a17e0edd58a431d30656e29bc94e"
|
||||
],
|
||||
"version": "==1.0.8"
|
||||
"version": "==2.8.0"
|
||||
},
|
||||
"keras-preprocessing": {
|
||||
"hashes": [
|
||||
"sha256:44aee5f2c4d80c3b29f208359fcb336df80f293a0bb6b1c738da43ca206656fb",
|
||||
"sha256:5a8debe01d840de93d49e05ccf1c9b81ae30e210d34dacbcc47aeb3049b528e5"
|
||||
"sha256:7b82029b130ff61cc99b55f3bd27427df4838576838c5b2f65940e4fcec99a7b",
|
||||
"sha256:add82567c50c8bc648c14195bf544a5ce7c1f76761536956c3d2978970179ef3"
|
||||
],
|
||||
"version": "==1.1.0"
|
||||
"version": "==1.1.2"
|
||||
},
|
||||
"libclang": {
|
||||
"hashes": [
|
||||
"sha256:069407eac2e20ea8f18212d28c6598db31014e7b8a77febc92e762ec133c3226",
|
||||
"sha256:9c1e623340ccafe3a10a2abbc90f59593ff29f0c854f4ddb65b6220d9d998fb4",
|
||||
"sha256:b61dedc1b941f43acca1fa15df0a6669c6c3983197c6f3226ae03a766281dd37",
|
||||
"sha256:b7de34393ed46c6cf7b22178d0d43cec2f2dab2f5f95450520a47fc1cf2df5ac",
|
||||
"sha256:bcaffec6b1ab9486811670db7af29d4a361830d6cb75da4f5672e884aa973bda",
|
||||
"sha256:dcc7ecd83d91e23e95315d7aa6355ee8d45b43742ca1fb642583e0b2f935d50e"
|
||||
],
|
||||
"version": "==13.0.0"
|
||||
},
|
||||
"markdown": {
|
||||
"hashes": [
|
||||
|
@ -231,29 +236,28 @@
|
|||
},
|
||||
"numpy": {
|
||||
"hashes": [
|
||||
"sha256:0172304e7d8d40e9e49553901903dc5f5a49a703363ed756796f5808a06fc233",
|
||||
"sha256:34e96e9dae65c4839bd80012023aadd6ee2ccb73ce7fdf3074c62f301e63120b",
|
||||
"sha256:3676abe3d621fc467c4c1469ee11e395c82b2d6b5463a9454e37fe9da07cd0d7",
|
||||
"sha256:3dd6823d3e04b5f223e3e265b4a1eae15f104f4366edd409e5a5e413a98f911f",
|
||||
"sha256:4064f53d4cce69e9ac613256dc2162e56f20a4e2d2086b1956dd2fcf77b7fac5",
|
||||
"sha256:4674f7d27a6c1c52a4d1aa5f0881f1eff840d2206989bae6acb1c7668c02ebfb",
|
||||
"sha256:7d42ab8cedd175b5ebcb39b5208b25ba104842489ed59fbb29356f671ac93583",
|
||||
"sha256:965df25449305092b23d5145b9bdaeb0149b6e41a77a7d728b1644b3c99277c1",
|
||||
"sha256:9c9d6531bc1886454f44aa8f809268bc481295cf9740827254f53c30104f074a",
|
||||
"sha256:a78e438db8ec26d5d9d0e584b27ef25c7afa5a182d1bf4d05e313d2d6d515271",
|
||||
"sha256:a7acefddf994af1aeba05bbbafe4ba983a187079f125146dc5859e6d817df824",
|
||||
"sha256:a87f59508c2b7ceb8631c20630118cc546f1f815e034193dc72390db038a5cb3",
|
||||
"sha256:ac792b385d81151bae2a5a8adb2b88261ceb4976dbfaaad9ce3a200e036753dc",
|
||||
"sha256:b03b2c0badeb606d1232e5f78852c102c0a7989d3a534b3129e7856a52f3d161",
|
||||
"sha256:b39321f1a74d1f9183bf1638a745b4fd6fe80efbb1f6b32b932a588b4bc7695f",
|
||||
"sha256:cae14a01a159b1ed91a324722d746523ec757357260c6804d11d6147a9e53e3f",
|
||||
"sha256:cd49930af1d1e49a812d987c2620ee63965b619257bd76eaaa95870ca08837cf",
|
||||
"sha256:e15b382603c58f24265c9c931c9a45eebf44fe2e6b4eaedbb0d025ab3255228b",
|
||||
"sha256:e91d31b34fc7c2c8f756b4e902f901f856ae53a93399368d9a0dc7be17ed2ca0",
|
||||
"sha256:ef627986941b5edd1ed74ba89ca43196ed197f1a206a3f18cc9faf2fb84fd675",
|
||||
"sha256:f718a7949d1c4f622ff548c572e0c03440b49b9531ff00e4ed5738b459f011e8"
|
||||
"sha256:03ae5850619abb34a879d5f2d4bb4dcd025d6d8fb72f5e461dae84edccfe129f",
|
||||
"sha256:076aee5a3763d41da6bef9565fdf3cb987606f567cd8b104aded2b38b7b47abf",
|
||||
"sha256:0b536b6840e84c1c6a410f3a5aa727821e6108f3454d81a5cd5900999ef04f89",
|
||||
"sha256:15efb7b93806d438e3bc590ca8ef2f953b0ce4f86f337ef4559d31ec6cf9d7dd",
|
||||
"sha256:168259b1b184aa83a514f307352c25c56af111c269ffc109d9704e81f72e764b",
|
||||
"sha256:2638389562bda1635b564490d76713695ff497242a83d9b684d27bb4a6cc9d7a",
|
||||
"sha256:3556c5550de40027d3121ebbb170f61bbe19eb639c7ad0c7b482cd9b560cd23b",
|
||||
"sha256:4a176959b6e7e00b5a0d6f549a479f869829bfd8150282c590deee6d099bbb6e",
|
||||
"sha256:515a8b6edbb904594685da6e176ac9fbea8f73a5ebae947281de6613e27f1956",
|
||||
"sha256:55535c7c2f61e2b2fc817c5cbe1af7cb907c7f011e46ae0a52caa4be1f19afe2",
|
||||
"sha256:59153979d60f5bfe9e4c00e401e24dfe0469ef8da6d68247439d3278f30a180f",
|
||||
"sha256:60cb8e5933193a3cc2912ee29ca331e9c15b2da034f76159b7abc520b3d1233a",
|
||||
"sha256:6767ad399e9327bfdbaa40871be4254d1995f4a3ca3806127f10cec778bd9896",
|
||||
"sha256:76a4f9bce0278becc2da7da3b8ef854bed41a991f4226911a24a9711baad672c",
|
||||
"sha256:8cf33634b60c9cef346663a222d9841d3bbbc0a2f00221d6bcfd0d993d5543f6",
|
||||
"sha256:94dd11d9f13ea1be17bac39c1942f527cbf7065f94953cf62dfe805653da2f8f",
|
||||
"sha256:aafa46b5a39a27aca566198d3312fb3bde95ce9677085efd02c86f7ef6be4ec7",
|
||||
"sha256:badca914580eb46385e7f7e4e426fea6de0a37b9e06bec252e481ae7ec287082",
|
||||
"sha256:d76a26c5118c4d96e264acc9e3242d72e1a2b92e739807b3b69d8d47684b6677"
|
||||
],
|
||||
"version": "==1.18.5"
|
||||
"index": "pypi",
|
||||
"version": "==1.22.2"
|
||||
},
|
||||
"oauthlib": {
|
||||
"hashes": [
|
||||
|
@ -269,6 +273,47 @@
|
|||
],
|
||||
"version": "==3.3.0"
|
||||
},
|
||||
"pillow": {
|
||||
"hashes": [
|
||||
"sha256:011233e0c42a4a7836498e98c1acf5e744c96a67dd5032a6f666cc1fb97eab97",
|
||||
"sha256:0f29d831e2151e0b7b39981756d201f7108d3d215896212ffe2e992d06bfe049",
|
||||
"sha256:12875d118f21cf35604176872447cdb57b07126750a33748bac15e77f90f1f9c",
|
||||
"sha256:14d4b1341ac07ae07eb2cc682f459bec932a380c3b122f5540432d8977e64eae",
|
||||
"sha256:1c3c33ac69cf059bbb9d1a71eeaba76781b450bc307e2291f8a4764d779a6b28",
|
||||
"sha256:1d19397351f73a88904ad1aee421e800fe4bbcd1aeee6435fb62d0a05ccd1030",
|
||||
"sha256:253e8a302a96df6927310a9d44e6103055e8fb96a6822f8b7f514bb7ef77de56",
|
||||
"sha256:2632d0f846b7c7600edf53c48f8f9f1e13e62f66a6dbc15191029d950bfed976",
|
||||
"sha256:335ace1a22325395c4ea88e00ba3dc89ca029bd66bd5a3c382d53e44f0ccd77e",
|
||||
"sha256:413ce0bbf9fc6278b2d63309dfeefe452835e1c78398efb431bab0672fe9274e",
|
||||
"sha256:5100b45a4638e3c00e4d2320d3193bdabb2d75e79793af7c3eb139e4f569f16f",
|
||||
"sha256:514ceac913076feefbeaf89771fd6febde78b0c4c1b23aaeab082c41c694e81b",
|
||||
"sha256:528a2a692c65dd5cafc130de286030af251d2ee0483a5bf50c9348aefe834e8a",
|
||||
"sha256:6295f6763749b89c994fcb6d8a7f7ce03c3992e695f89f00b741b4580b199b7e",
|
||||
"sha256:6c8bc8238a7dfdaf7a75f5ec5a663f4173f8c367e5a39f87e720495e1eed75fa",
|
||||
"sha256:718856856ba31f14f13ba885ff13874be7fefc53984d2832458f12c38205f7f7",
|
||||
"sha256:7f7609a718b177bf171ac93cea9fd2ddc0e03e84d8fa4e887bdfc39671d46b00",
|
||||
"sha256:80ca33961ced9c63358056bd08403ff866512038883e74f3a4bf88ad3eb66838",
|
||||
"sha256:80fe64a6deb6fcfdf7b8386f2cf216d329be6f2781f7d90304351811fb591360",
|
||||
"sha256:81c4b81611e3a3cb30e59b0cf05b888c675f97e3adb2c8672c3154047980726b",
|
||||
"sha256:855c583f268edde09474b081e3ddcd5cf3b20c12f26e0d434e1386cc5d318e7a",
|
||||
"sha256:9bfdb82cdfeccec50aad441afc332faf8606dfa5e8efd18a6692b5d6e79f00fd",
|
||||
"sha256:a5d24e1d674dd9d72c66ad3ea9131322819ff86250b30dc5821cbafcfa0b96b4",
|
||||
"sha256:a9f44cd7e162ac6191491d7249cceb02b8116b0f7e847ee33f739d7cb1ea1f70",
|
||||
"sha256:b5b3f092fe345c03bca1e0b687dfbb39364b21ebb8ba90e3fa707374b7915204",
|
||||
"sha256:b9618823bd237c0d2575283f2939655f54d51b4527ec3972907a927acbcc5bfc",
|
||||
"sha256:cef9c85ccbe9bee00909758936ea841ef12035296c748aaceee535969e27d31b",
|
||||
"sha256:d21237d0cd37acded35154e29aec853e945950321dd2ffd1a7d86fe686814669",
|
||||
"sha256:d3c5c79ab7dfce6d88f1ba639b77e77a17ea33a01b07b99840d6ed08031cb2a7",
|
||||
"sha256:d9d7942b624b04b895cb95af03a23407f17646815495ce4547f0e60e0b06f58e",
|
||||
"sha256:db6d9fac65bd08cea7f3540b899977c6dee9edad959fa4eaf305940d9cbd861c",
|
||||
"sha256:ede5af4a2702444a832a800b8eb7f0a7a1c0eed55b644642e049c98d589e5092",
|
||||
"sha256:effb7749713d5317478bb3acb3f81d9d7c7f86726d41c1facca068a04cf5bb4c",
|
||||
"sha256:f154d173286a5d1863637a7dcd8c3437bb557520b01bddb0be0258dcb72696b5",
|
||||
"sha256:f25ed6e28ddf50de7e7ea99d7a976d6a9c415f03adcaac9c41ff6ff41b6d86ac"
|
||||
],
|
||||
"index": "pypi",
|
||||
"version": "==9.0.1"
|
||||
},
|
||||
"protobuf": {
|
||||
"hashes": [
|
||||
"sha256:072fbc78d705d3edc7ccac58a62c4c8e0cec856987da7df8aca86e647be4e35c",
|
||||
|
@ -415,27 +460,58 @@
|
|||
},
|
||||
"tensorboard": {
|
||||
"hashes": [
|
||||
"sha256:3a36da59d4e13fb140d04636aaf544f1a38364a7e3609a15cdaf01a5d3073b37"
|
||||
"sha256:65a338e4424e9079f2604923bdbe301792adce2ace1be68da6b3ddf005170def"
|
||||
],
|
||||
"version": "==2.1.1"
|
||||
"version": "==2.8.0"
|
||||
},
|
||||
"tensorboard-data-server": {
|
||||
"hashes": [
|
||||
"sha256:809fe9887682d35c1f7d1f54f0f40f98bb1f771b14265b453ca051e2ce58fca7",
|
||||
"sha256:d8237580755e58eff68d1f3abefb5b1e39ae5c8b127cc40920f9c4fb33f4b98a",
|
||||
"sha256:fa8cef9be4fcae2f2363c88176638baf2da19c5ec90addb49b1cde05c95c88ee"
|
||||
],
|
||||
"version": "==0.6.1"
|
||||
},
|
||||
"tensorboard-plugin-wit": {
|
||||
"hashes": [
|
||||
"sha256:ff26bdd583d155aa951ee3b152b3d0cffae8005dc697f72b44a8e8c2a77a8cbe"
|
||||
],
|
||||
"version": "==1.8.1"
|
||||
},
|
||||
"tensorflow": {
|
||||
"hashes": [
|
||||
"sha256:1d427d9b71bd42a49a83bcc08f56290f9cdb608e184537a13d0f9bad767be223",
|
||||
"sha256:27c485459c34b876eaddeb20293eee8792e346125a6fc2dd6ad9922a68638ebd",
|
||||
"sha256:548c733171ef0c1a5296cf3d1b9a038ed1b9a2c1d7cd723b8d5b54ad62f92bd7",
|
||||
"sha256:66deaf2558034a54017c355cadf19c3f1124fcf3ea8f9330ee1414b7a1eea00b",
|
||||
"sha256:b0a8bbab58bab297ec9cffa2df4dae0d03560acefe89ef6a31db00ce4cce022c",
|
||||
"sha256:d82b846a2c3f450f908321699d66b03924377a272ca81e16ca93c4955431c33a"
|
||||
"sha256:05fb161c6b2a6c4b8317a703a0a6d7f7aa6b5e3c6ea31bbc4f44ef96b89c3344",
|
||||
"sha256:291fa84f1022914580810ad76732fb254e44a8a609128e1c58873a12b2f81559",
|
||||
"sha256:2a520538e77a52fb428acb05e300c960844fd1d2c3918ca8ca14127edba6f83b",
|
||||
"sha256:52f225fecc688281b3ae2cba2b52d3ed6215ed4a3ffb686b9cfd09885ca65563",
|
||||
"sha256:78c3ba2e0c952aa9eb388200f1923e40287f9357492a464188ca3043e35edc52",
|
||||
"sha256:8489b4f1771e146f752b0eaeb57acf183bd07357e4550464e7dff18b3b656b5d",
|
||||
"sha256:9d91a989e5455ae713c03fd7236071ab3f232ad8ff2831f2658072933546091f",
|
||||
"sha256:b360c13b3e58b9a5c0780cbdb6b549eea73f620275fa203f8508fe418ae02735",
|
||||
"sha256:b7170844ae6b048d82a9d7a61b2fa627f2e16cb829267bf0ce4b3a0de0a61054",
|
||||
"sha256:da38d4043185267e7316ae5dc98d18e89c8af4170859f64798e7a3607fd606e3",
|
||||
"sha256:dd0f9f113ebc21b73fcd349db1629e187b8686395b8146d100eb1706a943bbc0",
|
||||
"sha256:fa4a723368d5f748b6f4ec305cf7c26b98e4a6a8c2ce1425f8ae10383a37bcfc"
|
||||
],
|
||||
"index": "pypi",
|
||||
"version": "==2.1.4"
|
||||
"version": "==2.8.0"
|
||||
},
|
||||
"tensorflow-estimator": {
|
||||
"tensorflow-io-gcs-filesystem": {
|
||||
"hashes": [
|
||||
"sha256:e5c5f648a636f18d1be4cf7ed46132b108a2f0f3fd9f1c850eba924263dc6972"
|
||||
"sha256:2862e0869453ce1f872a28d1362768ee078ec227ea587dd69164081dea6d7177",
|
||||
"sha256:2f67d19a2f2579dc55f1590faf48c2e882cabb860992b5a9c7edb0ed8b3eb187",
|
||||
"sha256:6e65009770a05a3b55c5f782348f785e5034d277a727832811ad737bd857c8c9",
|
||||
"sha256:71c00638c9b6048480095f2738dfefd8f4b2e7b534190c91d699aee769bfa86e",
|
||||
"sha256:825f396388748038ad38c35b091311982081f93a5db8ca9763fc874c3f555e6c",
|
||||
"sha256:9c00f9a9880477b1dff0c71ee6734421ce99ac484ca2151793ebf2681fc0cb4c",
|
||||
"sha256:aa90b9a34ea8da4dbd534f77746d67375714db869524da889193c3042352679a",
|
||||
"sha256:b6ca3a9f751aa9c2f9851520e666d905ad14667281bbafeabe611b7b8f3e1bc5",
|
||||
"sha256:cbc71b3925508bf796644a0083a6f9284f71404654f53092bece701383a69520",
|
||||
"sha256:cc093f160f79526d31f6070a3ddc000868d737a36ccf40984128661563383601",
|
||||
"sha256:cde835e68b2b43ddade07c999e7c3251bcd62b1ff165c34fbe9fc6e0f12c3ac9",
|
||||
"sha256:d1eb5e9be62040c5a249ae8adaae7e61f65b59541139e4d6767157f25a224bf5"
|
||||
],
|
||||
"version": "==2.1.0"
|
||||
"version": "==0.24.0"
|
||||
},
|
||||
"termcolor": {
|
||||
"hashes": [
|
||||
|
@ -443,6 +519,12 @@
|
|||
],
|
||||
"version": "==1.1.0"
|
||||
},
|
||||
"tf-estimator-nightly": {
|
||||
"hashes": [
|
||||
"sha256:0065a04e396b2890bd19761fc1de7559ceafeba12839f8db2c7e7473afaaf612"
|
||||
],
|
||||
"version": "==2.8.0.dev2021122109"
|
||||
},
|
||||
"typing-extensions": {
|
||||
"hashes": [
|
||||
"sha256:1a9462dcc3347a79b1f1c0271fbe79e844580bb598bafa1ed208b94da3cdcd42",
|
||||
|
@ -477,7 +559,6 @@
|
|||
"sha256:4bdcd7d840138086126cd09254dc6195fb4fc6f01c050a1d7236f2630db1d22a",
|
||||
"sha256:e9a504e793efbca1b8e0e9cb979a249cf4a0a7b5b8c9e8b65a5e39d49529c1c4"
|
||||
],
|
||||
"markers": "python_version >= '3'",
|
||||
"version": "==0.37.1"
|
||||
},
|
||||
"wrapt": {
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,17 +1,31 @@
|
|||
from typing import Optional
|
||||
|
||||
from fastapi import FastAPI
|
||||
import tensorflow as tf
|
||||
from tensorflow.keras.applications.vgg16 import VGG16
|
||||
from tensorflow.keras.preprocessing import image
|
||||
from tensorflow.keras.applications.vgg16 import preprocess_input, decode_predictions
|
||||
import numpy as np
|
||||
import os
|
||||
|
||||
app = FastAPI()
|
||||
|
||||
|
||||
@app.get("/")
|
||||
def read_root():
|
||||
print(tf.__version__)
|
||||
return {"Hello": "World 312"}
|
||||
|
||||
return os.getcwd()
|
||||
|
||||
|
||||
@app.get("/items/{item_id}")
|
||||
def read_item(item_id: int, q: Optional[str] = None):
|
||||
return {"item_id": item_id, "q": q}
|
||||
@app.get("/predict")
|
||||
def predict():
|
||||
model = VGG16(weights='imagenet', include_top=False)
|
||||
|
||||
img_path = './app/upload/db6e94e1-ab1d-4ff0-a3b7-ba7d9e7b9d84/thumb/76f0308a9a53080e/zMGrPdjRoOU.jpeg'
|
||||
img = image.load_img(img_path, target_size=(224, 224))
|
||||
x = image.img_to_array(img)
|
||||
x = np.expand_dims(x, axis=0)
|
||||
x = preprocess_input(x)
|
||||
|
||||
features = model.predict(x)
|
||||
|
||||
return "ok"
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
fastapi>=0.68.0,<0.69.0
|
||||
pydantic>=1.8.0,<2.0.0
|
||||
uvicorn>=0.15.0,<0.16.0
|
||||
tensorflow>=2.2.0
|
||||
# tensorflow==2.2.0
|
||||
# numpy==1.22.2
|
||||
pillow==9.0.1
|
Loading…
Add table
Reference in a new issue