Athrun Data Intelligence


En este tutorial, demostramos cómo construir una útil prototipo de prudencia de rayos X utilizando bibliotecas de código descubierto en Google Colab. Al rendir la potencia de TORCHXRAYVision para cargar modelos de densenet previamente capacitados y Gradio para crear una interfaz de sucesor interactiva, mostramos cómo procesar y clasificar las imágenes de rayos X de Cofre con una configuración mínima. Este cuaderno lo cicerone a través del preprocesamiento de imágenes, la inferencia del maniquí y la interpretación de resultados, todo diseñado para funcionar sin problemas en Colab sin requerir claves o inicios de sesión de API externas. Tenga en cuenta que esta demostración está destinada solo a fines educativos y no debe estar de moda como sustituto del dictamen clínico profesional.

!pip install torchxrayvision gradio

Primero, instalamos la biblioteca TORCHXRAYVISION para el investigación de rayos X y Gradio para crear una interfaz interactiva.

import torch
import torchxrayvision as xrv
import torchvision.transforms as transforms
import gradio as gr

Importamos pytorch para educación profundo Operaciones, TorchxRayVision para el investigación X -Ray, transformaciones de TorchVision para el preprocesamiento de imágenes y Gradio para construir una interfaz de sucesor interactiva.

model = xrv.models.DenseNet(weights="densenet121-res224-all")
model.eval()  

Luego, cargamos un maniquí Densenet previamente capacitado utilizando los pesos «Densenet121-res224-All» y lo establecemos en modo de evaluación para inferencia.

try:
    pathology_labels = model.meta("labels")
    print("Retrieved pathology labels from model.meta.")
except Exception as e:
    print("Could not retrieve labels from model.meta. Using fallback labels.")
    pathology_labels = (
         "Atelectasis", "Cardiomegaly", "Consolidation", "Edema",
         "Emphysema", "Fibrosis", "Hernia", "Infiltration", "Mass",
         "Nodule", "Pleural Effusion", "Pneumonia", "Pneumothorax", "No Finding"
    )

Ahora, intentamos recuperar etiquetas de patología de los metadatos del maniquí y acudir a una repertorio predefinida si la recuperación defecto.

def classify_xray(image):
    try:
        transform = transforms.Compose((
            transforms.Resize((224, 224)),
            transforms.Grayscale(num_output_channels=1),
            transforms.ToTensor()
        ))
        input_tensor = transform(image).unsqueeze(0)  # add batch dimension


        with torch.no_grad():
            preds = model(input_tensor)
       
        pathology_scores = preds(0).detach().numpy()
        results = {}
        for idx, label in enumerate(pathology_labels):
            results(label) = float(pathology_scores(idx))
       
        sorted_results = sorted(results.items(), key=lambda x: x(1), reverse=True)
        top_label, top_score = sorted_results(0)
       
        judgement = (
            f"Prediction: {top_label} (score: {top_score:.2f})nn"
            f"Full Scores:n{results}"
        )
        return judgement
    except Exception as e:
        return f"Error during inference: {str(e)}"

Aquí, con esta función, preprocesamos una imagen de rayos X de entrada, ejecutamos una inferencia utilizando el maniquí previamente capacitado, extrae las puntuaciones de patología y devolvemos un extracto formateado de la predicción superior y todas las puntuaciones mientras manejan errores con salero.

iface = gr.Interface(
    fn=classify_xray,
    inputs=gr.Image(type="pil"),
    outputs="text",
    title="X-ray Judgement Tool (Prototype)",
    description=(
        "Upload a chest X-ray image to receive a classification judgement. "
        "This demo is for educational purposes only and is not intended for clinical use."
    )
)


iface.launch()

Finalmente, construimos y lanzamos una interfaz de Gradio que permite a los usuarios subir una imagen de rayos X de cofre. La función Classify_XRAY procesa la imagen para emitir un prudencia de dictamen.

Interfaz de Gradio para la útil

A través de este tutorial, hemos explorado el expansión de una útil interactiva de prudencia de rayos X que integra técnicas avanzadas de educación profundo con una interfaz hacedero de usar. A pesar de las limitaciones inherentes, como el maniquí que no está cabal para el dictamen clínico, este prototipo sirve como un punto de partida valioso para tantear con aplicaciones de imágenes médicas. Le recomendamos que se cojín en esta cojín, considerando la importancia de la fuerza rigurosa y el cumplimiento de los estándares médicos para el uso del mundo efectivo.


Aquí está el Cuaderno de colab. Por otra parte, no olvides seguirnos Gorjeo y únete a nuestro Canal de telegrama y LinkedIn GRdistribuir. No olvides unirte a nuestro 85k+ ml de subreddit.


Asif Razzaq es el CEO de MarktechPost Media Inc .. Como patrón e ingeniero quimérico, ASIF se compromete a rendir el potencial de la inteligencia químico para el proporcionadamente social. Su esfuerzo más flamante es el divulgación de una plataforma de medios de inteligencia químico, MarktechPost, que se destaca por su cobertura profunda de parte de educación instintivo y de educación profundo que es técnicamente sólido y fácilmente comprensible por una audiencia amplia. La plataforma cuenta con más de 2 millones de vistas mensuales, ilustrando su popularidad entre el sabido.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *