image_through_model #49

Merged
brian merged 75 commits from image_through_model into main 2024-10-20 00:10:27 +02:00
9 changed files with 37 additions and 47 deletions
Showing only changes of commit d6036a95a3 - Show all commits
+2 -2
View File
@@ -5,7 +5,7 @@ from pathlib import Path
from dotenv import load_dotenv
from PIL import Image
from shared.data_store import connect, get, put_image
from shared.data_store import connect_minio, get, put_image
from shared.utils import setup_logging
if __name__ == '__main__':
@@ -16,7 +16,7 @@ if __name__ == '__main__':
# setup logging
setup_logging()
# connect to minio
minio_client = connect()
minio_client = connect_minio()
# list images in bucket
BUCKET_NAME = 'visual-critical-discourse-analysis'
obj_list = minio_client.list_objects(
+8 -9
View File
@@ -1,4 +1,5 @@
"""Script to move all images from MongoDB to MinIO."""
from __future__ import annotations
import logging
@@ -9,12 +10,9 @@ from bson import ObjectId
from dotenv import load_dotenv
from pymongo.collection import Collection
from shared.data_store import connect as connect_minio
from shared.data_store import put
from shared.database import connect
from shared.database import VisualCommunication
from shared.utils import check_env
from shared.utils import setup_logging
from shared.data_store import connect_minio, put
from shared.database import VisualCommunication, connect
from shared.utils import check_env, setup_logging
def list_mongo_document_ids(
@@ -98,7 +96,7 @@ if __name__ == '__main__':
try:
# save image to buffer
buffer = BytesIO()
vis_com.image.save(buffer, 'png') # type: ignore
vis_com.image.save(buffer, 'png') # type: ignore
# put buffer in minio
object_name = put(
client=minio_client,
@@ -110,13 +108,14 @@ if __name__ == '__main__':
continue
# update visual communication in mongodb
try:
vis_com.image = None # type: ignore
vis_com.image = None # type: ignore
vis_com.object_name = object_name
update_visual_communication(collection, vis_com)
except Exception as exc:
logging.debug(exc)
logging.error(
'failed updating visual communication %s', vis_com.name,
'failed updating visual communication %s',
vis_com.name,
)
continue
logging.debug('updated visual communication %s', vis_com.name)
+3 -5
View File
@@ -4,11 +4,10 @@ from pathlib import Path
from dotenv import load_dotenv
from shared.data_store import connect as connect_minio
from shared.data_store import connect_minio
from shared.database import connect as connect_mongo
from shared.database.classes import VisualCommunication
from shared.utils import check_env
from shared.utils import setup_logging
from shared.utils import check_env, setup_logging
if __name__ == '__main__':
# load in env file
@@ -31,8 +30,7 @@ if __name__ == '__main__':
# instantiate data object
vis_com_list = [
VisualCommunication.from_file(path, minio_client=minio_client)
for path
in img_path_list
for path in img_path_list
]
# generate random predictions
for vis_com in vis_com_list:
+3 -7
View File
@@ -4,13 +4,9 @@ from pathlib import Path
from dotenv import load_dotenv
from shared.data_store import (
connect as connect_minio,
)
from shared.database import connect
from shared.database import get_visual_communication
from shared.utils import check_env
from shared.utils import setup_logging
from shared.data_store import connect_minio
from shared.database import connect, get_visual_communication
from shared.utils import check_env, setup_logging
if __name__ == '__main__':
# load in env file
+3 -5
View File
@@ -5,11 +5,10 @@ from pathlib import Path
from dotenv import load_dotenv
from pymongo.errors import DuplicateKeyError
from shared.data_store import connect as connect_minio
from shared.data_store import connect_minio
from shared.database import connect as connect_mongo
from shared.database.classes import VisualCommunication
from shared.utils import check_env
from shared.utils import setup_logging
from shared.utils import check_env, setup_logging
if __name__ == '__main__':
# load in env file
@@ -32,8 +31,7 @@ if __name__ == '__main__':
# instantiate data object
vis_com_list = [
VisualCommunication.from_file(path, minio_client=minio_client)
for path
in img_path_list
for path in img_path_list
]
for vis_com in vis_com_list:
print(repr(vis_com))
+8 -8
View File
@@ -5,11 +5,10 @@ from pathlib import Path
from dotenv import load_dotenv
from pymongo.errors import DuplicateKeyError
from shared.data_store import connect as connect_minio
from shared.database import connect as connect_mongo
from shared.data_store import connect_minio
from shared.database import VisualCommunication
from shared.utils import check_env
from shared.utils import setup_logging
from shared.database import connect as connect_mongo
from shared.utils import check_env, setup_logging
if __name__ == '__main__':
# load in env file
@@ -28,16 +27,17 @@ if __name__ == '__main__':
ext_img_dir = Path('/Volumes/BW-PSSD/Mixed Methods/')
assert ext_img_dir.exists()
img_path_list = [
path for path in ext_img_dir.glob(
path
for path in ext_img_dir.glob(
'*.jpg',
) if path.is_file()
)
if path.is_file()
]
print(f"found {len(img_path_list)} images")
# create visual communication objects
vis_com_list = [
VisualCommunication.from_file(path, minio_client=minio_client)
for path
in img_path_list
for path in img_path_list
]
print(f"created {len(vis_com_list)} visual communication objects")
# upload images
+2 -2
View File
@@ -7,7 +7,7 @@ from dotenv import load_dotenv
from torchinfo import summary
from model.src.models import VisualCommunicationModel
from shared.data_store import connect, put_model
from shared.data_store import connect_minio, put_model
from shared.utils import setup_logging
DEVICE = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
@@ -20,7 +20,7 @@ if __name__ == '__main__':
# setup logging
setup_logging()
# connect to minio
client = connect()
client = connect_minio()
# instantiate model
model = VisualCommunicationModel().to(DEVICE)
# show model weights
+3 -5
View File
@@ -4,12 +4,11 @@ from pathlib import Path
from dotenv import load_dotenv
from shared.data_store import connect as connect_minio
from shared.data_store import connect_minio
from shared.database import connect as connect_mongo
from shared.database import upsert_prediction
from shared.database.classes import VisualCommunication
from shared.utils import check_env
from shared.utils import setup_logging
from shared.utils import check_env, setup_logging
if __name__ == '__main__':
# load in env file
@@ -31,8 +30,7 @@ if __name__ == '__main__':
# instantiate data object
vis_com_list = [
VisualCommunication.from_file(path, minio_client=minio_client)
for path
in img_path_list
for path in img_path_list
]
# generate random predictions
for vis_com in vis_com_list:
+5 -4
View File
@@ -1,13 +1,14 @@
"""Definition of web_ui main script."""
from __future__ import annotations
import os
from .app import init_app
from shared.data_store import connect as connect_minio
from shared.data_store import connect_minio
from shared.database import connect
from shared.utils import check_env
from shared.utils import setup_logging
from shared.utils import check_env, setup_logging
from .app import init_app
# ensure env vars set
check_env()