# from fastapi import FastAPI, File, UploadFile | |
# import numpy as np | |
# from PIL import Image | |
# from paddleocr import PaddleOCR | |
# from doctr.io import DocumentFile | |
# from doctr.models import ocr_predictor | |
# import io | |
# import os | |
# app = FastAPI() | |
# # # Load the doctr OCR model | |
# # os.environ['USE_TORCH'] = 'YES' | |
# # os.environ['USE_TF'] = 'NO' | |
# model = ocr_predictor(det_arch='db_resnet50', reco_arch='crnn_vgg16_bn', pretrained=True) | |
# def ocr_with_doctr(file): | |
# text_output = '' | |
# # Load the document | |
# doc = DocumentFile.from_pdf(file) | |
# # Perform OCR | |
# result = ocr_model(doc) | |
# # Extract text from OCR result | |
# for page in result.pages: | |
# for block in page.blocks: | |
# for line in block.lines: | |
# text_output += " ".join([word.value for word in line.words]) + "\n" | |
# return text_output | |
# def ocr_with_paddle(img): | |
# finaltext = '' | |
# ocr = PaddleOCR(lang='en', use_angle_cls=True) | |
# result = ocr.ocr(img) | |
# for i in range(len(result[0])): | |
# text = result[0][i][1][0] | |
# finaltext += ' ' + text | |
# return finaltext | |
# def generate_text_from_image(img): | |
# text_output = '' | |
# text_output = ocr_with_paddle(img) | |
# return text_output | |
# @app.post("/ocr/") | |
# async def perform_ocr(file: UploadFile = File(...)): | |
# file_bytes = await file.read() | |
# if file.filename.endswith('.pdf'): | |
# text_output = ocr_with_doctr(io.BytesIO(file_bytes)) | |
# else: | |
# img = np.array(Image.open(io.BytesIO(file_bytes))) | |
# text_output = generate_text_from_image(img) | |
# return {"ocr_text": text_output} | |
import paddle | |
print("PaddlePaddle Version:", paddle.__version__) | |
print("Is GPU available:", paddle.is_compiled_with_cuda()) | |
import tensorflow as tf | |
print("Num GPUs Available: ", len(tf.config.list_physical_devices('GPU'))) | |
import tensorflow as tf | |
print(tf.test.is_built_with_cuda()) | |