ArthurGamaJorge commited on
Commit
fc96c37
·
1 Parent(s): a2f70bd

Atualizar modelo de previsão

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. app.py +43 -18
  2. models/{scalers/dynamics/1100023_dynamic.pkl → checkpoints/model_checkpoint_best_city.keras} +2 -2
  3. models/checkpoints/{model_checkpoint_best.keras → test_checkpoint1.keras} +0 -0
  4. models/scalers/dynamics/1100031_dynamic.pkl +0 -3
  5. models/scalers/dynamics/1100049_dynamic.pkl +0 -3
  6. models/scalers/dynamics/1100056_dynamic.pkl +0 -3
  7. models/scalers/dynamics/1100064_dynamic.pkl +0 -3
  8. models/scalers/dynamics/1100072_dynamic.pkl +0 -3
  9. models/scalers/dynamics/1100080_dynamic.pkl +0 -3
  10. models/scalers/dynamics/1100098_dynamic.pkl +0 -3
  11. models/scalers/dynamics/1100106_dynamic.pkl +0 -3
  12. models/scalers/dynamics/1100114_dynamic.pkl +0 -3
  13. models/scalers/dynamics/1100122_dynamic.pkl +0 -3
  14. models/scalers/dynamics/1100130_dynamic.pkl +0 -3
  15. models/scalers/dynamics/1100148_dynamic.pkl +0 -3
  16. models/scalers/dynamics/1100155_dynamic.pkl +0 -3
  17. models/scalers/dynamics/1100189_dynamic.pkl +0 -3
  18. models/scalers/dynamics/1100205_dynamic.pkl +0 -3
  19. models/scalers/dynamics/1100254_dynamic.pkl +0 -3
  20. models/scalers/dynamics/1100262_dynamic.pkl +0 -3
  21. models/scalers/dynamics/1100288_dynamic.pkl +0 -3
  22. models/scalers/dynamics/1100296_dynamic.pkl +0 -3
  23. models/scalers/dynamics/1100304_dynamic.pkl +0 -3
  24. models/scalers/dynamics/1100320_dynamic.pkl +0 -3
  25. models/scalers/dynamics/1100338_dynamic.pkl +0 -3
  26. models/scalers/dynamics/1100346_dynamic.pkl +0 -3
  27. models/scalers/dynamics/1100379_dynamic.pkl +0 -3
  28. models/scalers/dynamics/1100403_dynamic.pkl +0 -3
  29. models/scalers/dynamics/1100452_dynamic.pkl +0 -3
  30. models/scalers/dynamics/1100502_dynamic.pkl +0 -3
  31. models/scalers/dynamics/1100601_dynamic.pkl +0 -3
  32. models/scalers/dynamics/1100700_dynamic.pkl +0 -3
  33. models/scalers/dynamics/1100809_dynamic.pkl +0 -3
  34. models/scalers/dynamics/1100908_dynamic.pkl +0 -3
  35. models/scalers/dynamics/1100924_dynamic.pkl +0 -3
  36. models/scalers/dynamics/1100940_dynamic.pkl +0 -3
  37. models/scalers/dynamics/1101005_dynamic.pkl +0 -3
  38. models/scalers/dynamics/1101104_dynamic.pkl +0 -3
  39. models/scalers/dynamics/1101203_dynamic.pkl +0 -3
  40. models/scalers/dynamics/1101302_dynamic.pkl +0 -3
  41. models/scalers/dynamics/1101401_dynamic.pkl +0 -3
  42. models/scalers/dynamics/1101435_dynamic.pkl +0 -3
  43. models/scalers/dynamics/1101450_dynamic.pkl +0 -3
  44. models/scalers/dynamics/1101468_dynamic.pkl +0 -3
  45. models/scalers/dynamics/1101476_dynamic.pkl +0 -3
  46. models/scalers/dynamics/1101484_dynamic.pkl +0 -3
  47. models/scalers/dynamics/1101492_dynamic.pkl +0 -3
  48. models/scalers/dynamics/1101500_dynamic.pkl +0 -3
  49. models/scalers/dynamics/1101559_dynamic.pkl +0 -3
  50. models/scalers/dynamics/1101609_dynamic.pkl +0 -3
app.py CHANGED
@@ -1,20 +1,39 @@
1
- # uvicorn app:app --reload
2
-
3
- from fastapi import Body, FastAPI, UploadFile, File
4
  from fastapi.responses import JSONResponse
5
  from fastapi.middleware.cors import CORSMiddleware
6
- from detect import DengueDetector
7
- from predict import DenguePredictor
8
  import traceback
 
 
 
 
 
9
 
10
- # Inicializar detector e preditor
11
- detector = DengueDetector()
12
- predictor = DenguePredictor()
 
 
 
 
 
 
 
 
13
 
14
  app = FastAPI()
15
 
 
 
 
 
 
 
 
 
 
16
  # --- CORS ---
17
- origins = ["https://previdengue.vercel.app", "*"]
18
  app.add_middleware(
19
  CORSMiddleware,
20
  allow_origins=origins,
@@ -28,9 +47,10 @@ app.add_middleware(
28
  def health_check():
29
  return {"status": "ok", "message": "API de Dengue rodando!"}
30
 
31
- # --- Rota de detecção ---
32
  @app.post("/detect/")
33
  async def detect(file: UploadFile = File(...)):
 
 
34
  try:
35
  content = await file.read()
36
  result = detector.detect_image(content)
@@ -38,17 +58,22 @@ async def detect(file: UploadFile = File(...)):
38
  except Exception as e:
39
  return JSONResponse(status_code=500, content={"error": str(e)})
40
 
41
- # --- Rota de predição com lazy loading de scalers ---
42
  @app.post("/predict/")
43
  async def predict_dengue_route(payload: dict = Body(...)):
 
 
44
  try:
45
- ibge_code = payload.get("ibge_code")
46
- weeks_to_predict = payload.get("weeks_to_predict")
47
- if ibge_code is None or weeks_to_predict is None:
48
- raise ValueError("ibge_code e weeks_to_predict são obrigatórios.")
49
-
50
- result = predictor.predict(ibge_code, weeks_to_predict)
51
- return result
 
 
 
52
 
53
  except Exception as e:
54
  tb_str = traceback.format_exc()
 
1
+ import uvicorn
2
+ from fastapi import Body, FastAPI, UploadFile, File, Response
 
3
  from fastapi.responses import JSONResponse
4
  from fastapi.middleware.cors import CORSMiddleware
 
 
5
  import traceback
6
+ import numpy as np
7
+ import json
8
+
9
+ from detect import DengueDetector
10
+ from predict import DenguePredictor
11
 
12
+ def default_json_serializer(obj):
13
+ if isinstance(obj, np.integer):
14
+ return int(obj)
15
+ elif isinstance(obj, np.floating):
16
+ return float(obj)
17
+ elif isinstance(obj, np.ndarray):
18
+ return obj.tolist()
19
+ raise TypeError(f"Object of type {obj.__class__.__name__} is not JSON serializable")
20
+
21
+ detector: DengueDetector = None
22
+ predictor: DenguePredictor = None
23
 
24
  app = FastAPI()
25
 
26
+ # --- Crie um evento de startup para carregar os modelos ---
27
+ @app.on_event("startup")
28
+ async def startup_event():
29
+ global detector, predictor
30
+ print("Executando evento de startup: Carregando os módulos de IA...")
31
+ detector = DengueDetector()
32
+ predictor = DenguePredictor()
33
+ print("Módulos de IA carregados com sucesso. API pronta.")
34
+
35
  # --- CORS ---
36
+ origins = ["https://previdengue.vercel.app", "http://localhost:3000", "*"]
37
  app.add_middleware(
38
  CORSMiddleware,
39
  allow_origins=origins,
 
47
  def health_check():
48
  return {"status": "ok", "message": "API de Dengue rodando!"}
49
 
 
50
  @app.post("/detect/")
51
  async def detect(file: UploadFile = File(...)):
52
+ if detector is None:
53
+ return JSONResponse(status_code=503, content={"error": "Detector ainda não foi inicializado."})
54
  try:
55
  content = await file.read()
56
  result = detector.detect_image(content)
 
58
  except Exception as e:
59
  return JSONResponse(status_code=500, content={"error": str(e)})
60
 
61
+
62
  @app.post("/predict/")
63
  async def predict_dengue_route(payload: dict = Body(...)):
64
+ if predictor is None:
65
+ return JSONResponse(status_code=503, content={"error": "Preditor ainda não foi inicializado."})
66
  try:
67
+ ibge_code_str = payload.get("ibge_code")
68
+ if ibge_code_str is None:
69
+ raise ValueError("O campo 'ibge_code' é obrigatório.")
70
+
71
+ ibge_code = int(ibge_code_str)
72
+ result = predictor.predict(ibge_code)
73
+
74
+ json_content = json.dumps(result, default=default_json_serializer)
75
+
76
+ return Response(content=json_content, media_type="application/json")
77
 
78
  except Exception as e:
79
  tb_str = traceback.format_exc()
models/{scalers/dynamics/1100023_dynamic.pkl → checkpoints/model_checkpoint_best_city.keras} RENAMED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:78bee5c5bed8bd40c5f4ed4c10158d314ad9a7beeda6e2517b2040366a1f8545
3
- size 819
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3b2f243729883b59055234a45b00f16892e60e5b948003ec3c27dc4d022e88a5
3
+ size 2505166
models/checkpoints/{model_checkpoint_best.keras → test_checkpoint1.keras} RENAMED
File without changes
models/scalers/dynamics/1100031_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:d2d3b98ecedb500ea096f32ab43e8e64346804c2c0b4698f605cec1d5a40d5fa
3
- size 819
 
 
 
 
models/scalers/dynamics/1100049_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:721ab922d55da1575e68a87526d0a025f3bfa2f710dd04532a1fd4b3a997ea6f
3
- size 819
 
 
 
 
models/scalers/dynamics/1100056_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:74555a4d28cd7d705c60272d854268f1786ceb33af18cea34e2be69f8e571d9c
3
- size 819
 
 
 
 
models/scalers/dynamics/1100064_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:f32a94f256b184e4e39a6da7ca34c9e971880670519780d6d940a6b809ba0211
3
- size 819
 
 
 
 
models/scalers/dynamics/1100072_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:2e066498603c5d9b57232a45e9fb069f29f4eef598fa217e96a43f04c5bec3a9
3
- size 819
 
 
 
 
models/scalers/dynamics/1100080_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:135bf10e032ae57539708577cb9e314e9f39ce7c5bad9e3eb7389b463efa2548
3
- size 819
 
 
 
 
models/scalers/dynamics/1100098_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:280a1f5cb22275f9d446dd9338c2eb074a062380be5b3f5328c76e03ea0a4a83
3
- size 819
 
 
 
 
models/scalers/dynamics/1100106_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:2fd97c7036c72b0ed08ba635a76d29d917bdd2628bf7d67e05bd8957acaf48c1
3
- size 819
 
 
 
 
models/scalers/dynamics/1100114_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:9fbcf49e30c7c703adb20865e7ebcab60e1e05605b48d9c814017981dc7afdba
3
- size 819
 
 
 
 
models/scalers/dynamics/1100122_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:7429965255645d8b00eb7422e5d738d3e52bff2c411175e925de007f7b5b5050
3
- size 819
 
 
 
 
models/scalers/dynamics/1100130_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:b83ce83304dfb7a95829e396bc1f9b75d7aa007e8ad65379d01c0c267e152dd9
3
- size 819
 
 
 
 
models/scalers/dynamics/1100148_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:c14e348485a7a033ffb47c64ab9e3698bf6b6586e41ab36326b42cded6618fb9
3
- size 819
 
 
 
 
models/scalers/dynamics/1100155_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:b627cdc1defef050a50ab219ec900d52e19cc7f3a7fdf2e35ec842133d54506c
3
- size 819
 
 
 
 
models/scalers/dynamics/1100189_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:4eb3c635730a2f37e4800d61effa821d10fcba0fb506215c72a294567ebc5e5b
3
- size 819
 
 
 
 
models/scalers/dynamics/1100205_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:732521b6460520df57d7b9397b57c6ef20085f20b64998e5d1712f3e314bad88
3
- size 819
 
 
 
 
models/scalers/dynamics/1100254_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:a6365862c31a9f9d8c2ef61c6f880d21cac3f8cca9a175c5930f11749b7fbdce
3
- size 819
 
 
 
 
models/scalers/dynamics/1100262_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:c24a6a1c4b7cb5454f0ace69cfed36118db89fbd1df8d95df9193b82c62ce1b4
3
- size 819
 
 
 
 
models/scalers/dynamics/1100288_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:003490f09e75a01a881142c3951aeea147ac22f7bdd1b4708a1a181707c5805b
3
- size 819
 
 
 
 
models/scalers/dynamics/1100296_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:ffd2fa61b6ce8b5698de62c3223bafd349ebebcbf9dbf29821b9ff3ceb00739f
3
- size 819
 
 
 
 
models/scalers/dynamics/1100304_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:4da9dd189cd658b746ebfa661c003f791cbc90e30551e51d342f270332fe4b5d
3
- size 819
 
 
 
 
models/scalers/dynamics/1100320_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:4ad31957f52b9cd9b51db449b2313db8e1e3ada6b270a9a62c1b47447eaaaa97
3
- size 819
 
 
 
 
models/scalers/dynamics/1100338_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:932e360152f340d8e37e424093fb9001cb6eee61383651f41c37ffb6345d7b3a
3
- size 819
 
 
 
 
models/scalers/dynamics/1100346_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:a88dbb4a6eccac19cf2aa097bbf54e4f9c0055d39d8a0568b844affceef7cb10
3
- size 819
 
 
 
 
models/scalers/dynamics/1100379_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:72ffccff208eb5af4f42fad3a94d1382d3ec371a435b5b6ffbc58b17a41fcbb3
3
- size 819
 
 
 
 
models/scalers/dynamics/1100403_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:5a60199e6764e5e62c3b3888aeba429e3ac12ea9b37609fe3139aab3b7d6fcfb
3
- size 819
 
 
 
 
models/scalers/dynamics/1100452_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:0b1a820f98fed9de154f9e423da22a9c74edcd194b6e19e09c857071f4a87803
3
- size 819
 
 
 
 
models/scalers/dynamics/1100502_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:4f9fef62376e1bef8fd8a21ffe418a76a05a0770db6847d628a3ab800cc88419
3
- size 819
 
 
 
 
models/scalers/dynamics/1100601_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:46d15ebbea2d7ecd10d0716565517b174b98515fdf463904139004fa6d4fc258
3
- size 819
 
 
 
 
models/scalers/dynamics/1100700_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:5e8d82b773fc0069ee78c290c048165795247b11451016b032f0a049b40f4fbb
3
- size 819
 
 
 
 
models/scalers/dynamics/1100809_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:f30051851d51d24ed78f27d0380cc4c74cd94cca457ca116ec5bf5604c56c273
3
- size 819
 
 
 
 
models/scalers/dynamics/1100908_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:d0c6ff7638e8db929a8de83c507826c033a6177f6a6b2536d5ddf12531246a66
3
- size 819
 
 
 
 
models/scalers/dynamics/1100924_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:5e187857fd6e56b01707a6c16c1fa267c7b9778d832e0f84b3af31ac24dbd276
3
- size 819
 
 
 
 
models/scalers/dynamics/1100940_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:6bda58ceeee8d251b03ba97cce9adca86d3cdfe9da25d50df31c4c17f5e72106
3
- size 819
 
 
 
 
models/scalers/dynamics/1101005_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:b627cdc1defef050a50ab219ec900d52e19cc7f3a7fdf2e35ec842133d54506c
3
- size 819
 
 
 
 
models/scalers/dynamics/1101104_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:f07f92fe6068808cc12299fbc23c6d897cd528c1c91a623e701d79c1eb8c4346
3
- size 819
 
 
 
 
models/scalers/dynamics/1101203_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:0568d4dde779dd7ac09dc507d44ad1d3307c433f08c07bab657ca82c1b53f407
3
- size 819
 
 
 
 
models/scalers/dynamics/1101302_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:fc28629a5452524605341ca568ceb546915c59e5559561ab9631f77cb428eb80
3
- size 819
 
 
 
 
models/scalers/dynamics/1101401_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:855719265962dfe7cf0aca03fb381d9503f75a1695a2c19cd37199e4e2f5383f
3
- size 819
 
 
 
 
models/scalers/dynamics/1101435_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:d163393ef8c59a506c92541ae9e7e7a2413b899f5c7aa93d8b3b169fba23f0b0
3
- size 819
 
 
 
 
models/scalers/dynamics/1101450_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:cd40815f3e3c2049c8e7c9de3483dc80756ee630a9930219a42ca90f25538eca
3
- size 819
 
 
 
 
models/scalers/dynamics/1101468_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:a8e7b62aecff8e21dc6c0519580b761f39ce3250b66d6f18fb4f8d2c3135dd25
3
- size 819
 
 
 
 
models/scalers/dynamics/1101476_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:90d26c22dee2bb4fc18d2af3acf94ef82a644f36b73e4d674abb1a3f4ad53eb4
3
- size 819
 
 
 
 
models/scalers/dynamics/1101484_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:92a613fbab9200d9843d37ff3faf04302cf198930604d23ed682f4e2d9213d31
3
- size 819
 
 
 
 
models/scalers/dynamics/1101492_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:b0d46ba00d1af0c651966e8070220467c419af2708839d951a20967dd56e0d52
3
- size 819
 
 
 
 
models/scalers/dynamics/1101500_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:76915f8f48a7cbea5a8726d671e15a1ee1f71f91f3973a3787773d36279380d5
3
- size 819
 
 
 
 
models/scalers/dynamics/1101559_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:6c66fb85679b1659062916d40b13b7009a0034abb1b6f86476001df1b74250ff
3
- size 819
 
 
 
 
models/scalers/dynamics/1101609_dynamic.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:c9fb70789684ebc3ff8ef6f87e67102b464a45e115a9d3ef75cf1061bf916065
3
- size 819