皮肤癌分类--基于Keras的卷积神经网络实现分类

本文介绍了使用Keras进行皮肤癌分类的实践,数据集包括三种类型的病理图片:黑素瘤、痣和脂溢性角化病。通过卷积神经网络进行深度学习,实现高精度的图像分类。
摘要由CSDN通过智能技术生成

皮肤癌分类–基于Keras的卷积神经网络实现分类

数据集中的病理图片包含3个类别
melanoma(黑素瘤)nevus(痣) seborrheickeratosis(脂溢性角化病)

from sklearn import datasets
import numpy as np
import pandas as pd
import os
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from keras.preprocessing import image as image2
from tqdm import tqdm
from PIL import ImageFile
plt.style.use('default')
from matplotlib import image
def plot_image(filename_list):
    fig,axes=plt.subplots(nrows=3,ncols=3)
    fig.set_size_inches(10,9)
    random_9_nums=np.random.choice(len(filename_list),9)
    random_9_imgs=filename_list[random_9_nums]
    print(random_9_imgs)
    imgname_list=[]
    for imgpath in random_9_imgs:
        imgname=imgpath[len(datasets_path)+1:]
        imgname=imgname[:imgname.find('/')]
        imgname_list.append(imgname)
    index=0
    for row_index in range(3):
        for col_index in range(3):
            img=image.imread(random_9_imgs[index])
            ax=axes[row_index,col_index]
            ax.imshow(img)
            ax.set_xlabel(imgname_list[index])
            index+=1
    plt.show()
    print("查看病理图片的大小:")

    for i, img_path in enumerate(random_9_imgs):
        print_img_shape(i, img_path)
def get_data(path):
    data=datasets.load_files
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
【资源介绍】 基于HAM10000数据集实现皮肤癌分类python源码+使用说明.zip 这是一个用于训练图像分类模型的代码。在运行代码之前,用户需要安装以下依赖库:argparse, os, pandas, numpy, PIL, datasets, torchvision, tqdm和transformers。用户还需要从Hugging Face上下载所需的预训练模型。 参数说明 - `--metadata_path`:metadata文件的路径。默认为"./archive/HAM10000_metadata.csv"。 - `--images_dir`:图像文件夹的路径。默认为"./archive/HAM10000_images/"。 - `--model_dir`:预训练模型的路径。默认为"../model/vit-large-patch16-224-in21k"。 - `--checkpoints_dir`:保存检查点文件的文件夹路径。默认为"./checkpoints"。 - `--learning_rate`:学习率。默认为1e-5。 - `--batch_size`:批大小。默认为64。 - `--epochs`:训练轮数。默认为5。 - `--warmup_ratio`:预热步骤的比例。默认为0.1。 - `--split`:训练-验证数据集的分割比例。默认为0.8。 - `--gpu`:指定使用哪张GPU。默认为"0"。 - `--logging_steps`:每隔多少步记录一次训练日志。默认为50。 用户可以在命令行中传递这些参数,例如: ```shell python train-hf.py --metadata_path ./archive/HAM4000_metadata.csv \ --images_dir ./archive/HAM10000_images/ \ --checkpoints_dir ./checkpoints \ --learning_rate 1e-4 \ --batch_size 64 \ --epochs 20 \ --warmup_ratio 0.1 \ --model_dir ../model/vit-large-patch16-224-in21k \ --gpu 5,6,7 \ --logging_steps 1 ``` 在代码运行过程中,会执行以下步骤: 1. 读取metadata文件,获取图像文件名和标签。 2. 将图像读入内存,并随机打乱。 3. 将数据集划分为训练集和验证集。 4. 对图像进行预处理,包括随机裁剪、归一化和转换为tensor。 5. 加载预训练模型,构建分类器。 6. 训练模型,并在验证集上评估模型性能。 7. 在训练过程中,每隔logging_steps步记录一次训练日志,包括损失值、准确率等指标。 8. 在训练结束后,保存模型的权重文件到checkpoints_dir文件夹中。 【备注】 该项目是个人毕设/课设/大作业项目,代码都经过本地调试测试,功能ok才上传,高分作品,可快速上手运行!欢迎下载使用,可用于小白学习、进阶。 该资源主要针对计算机、通信、人工智能、自动化等相关专业的学生、老师或从业者下载使用,亦可作为期末课程设计、课程大作业、毕业设计等。 项目整体具有较高的学习借鉴价值!基础能力强的可以在此基础上修改调整,以实现不同的功能。 欢迎下载使用,也欢迎交流学习!
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值