当前位置: 首页 > news >正文

做网站用哪种语言推荐一个seo优化软件

做网站用哪种语言,推荐一个seo优化软件,形容网站页面做的好的词语,网站建设考试试卷温馨提示:文末有 CSDN 平台官方提供的学长 QQ 名片 :) 1. 项目简介 眼部疾病的早期诊断对于防止视力下降乃至失明至关重要。然而,专业的医疗资源分布不均,尤其是在偏远地区,人们很难获得专业的眼科医生提供的及时诊断服务。本系统…

温馨提示:文末有 CSDN 平台官方提供的学长 QQ 名片 :) 

1. 项目简介

      眼部疾病的早期诊断对于防止视力下降乃至失明至关重要。然而,专业的医疗资源分布不均,尤其是在偏远地区,人们很难获得专业的眼科医生提供的及时诊断服务。本系统利用 TensorFlow、Keras 等深度学习框架构建卷积神经网络(CNN),利用眼部疾病影像数据进行模型训练与验证,预测AUC达到 94.9%,使用Flask框架结合Bootstrap前端技术搭建了一个交互式的分析预测平台,该系统可以大大提高疾病诊断的准确性和效率,为临床决策提供支持,同时也能缓解医疗资源紧张的问题。

        B站系统演示视频:基于深度学习的眼部疾病检测识别系统_哔哩哔哩_bilibili

2. 眼部疾病数据集读取与预处理

        使用 Tensorflow 框架的 tf.keras.preprocessing.image_dataset_from_directory 函数从数据集文件夹中加载眼部图片数据,同时进行训练集和验证集的切分:

train_ds = tf.keras.preprocessing.image_dataset_from_directory("./dataset/",  #数据集目录label_mode="categorical",  #标签模式,根据目录生成validation_split=0.2,  # 验证集比例为20%subset="training",   #这是个训练集seed=42 ,     #随机种子,保证划分一致  image_size=(img_size, img_size),  #图像大小batch_size=batch_size
)val_ds = tf.keras.preprocessing.image_dataset_from_directory("./dataset/",label_mode="categorical",validation_split=0.2,subset="validation",seed=42 ,     #随机种子,保证划分一致 image_size=(img_size, img_size),batch_size=batch_size)

        对加载的数据集进行样本的可视化:

        共包含四种类别: 白内障(Cataract)、糖尿病视网膜病变(Diabetic Retinopathy)、青光眼(Glaucoma)、正常(Normal),各类别样本数量分布如下:

3. 卷积神经网络模型构建

        卷积神经网络(Convolutional Neural Networks, CNN)是一种专门用于处理具有类似网格结构的数据的深度学习模型,例如图像。CNN在计算机视觉领域取得了巨大的成功,尤其是在图像识别、目标检测和图像生成等方面。

        关键特点:

  • 局部感受野:CNN通过卷积层捕捉输入数据的局部特征,每个神经元只与输入数据的一个局部区域相连接;
  • 权重共享:在卷积层中,同一个卷积核的权重在整个输入数据上共享,这减少了模型参数的数量,提高了训练效率;
  • 池化层:CNN通常在卷积层之后使用池化层来降低特征维度,减少计算量,同时保持特征的不变性;
  • 层次结构:CNN通过多个卷积和池化层的堆叠,逐渐提取从低级到高级的特征。

        Tensorflow是一个开源的机器学习框架,而Keras是一个高级API,它可以运行在Tensorflow之上,使得构建和训练神经网络变得更加简单。

model = models.Sequential([layers.experimental.preprocessing.Rescaling(1./255, input_shape=(img_size, img_size, 3)),layers.Conv2D(32, (3, 3), activation='relu', input_shape=(img_size, img_size, 3)), # 卷积层1,卷积核3*3  layers.MaxPooling2D((2, 2)),               # 池化层1,2*2采样# ......layers.Dropout(0.2),  layers.Flatten(),                       # Flatten层,连接卷积层与全连接层layers.Dense(128, activation='relu'),   # 全连接层,特征进一步提取layers.Dense(len(class_names))               # 输出层,输出预期结果
])model.summary()  # 打印网络结构

        完成卷积神经网络模型构建后,进行模型的编译:

initial_learning_rate = 1e-3lr_schedule = tf.keras.optimizers.schedules.ExponentialDecay(initial_learning_rate, #设置初始学习率decay_steps=64,      #每隔多少个step衰减一次decay_rate=0.94,     #衰减系数staircase=True
)# 将指数衰减学习率送入优化器
optimizer = tf.keras.optimizers.Adam(learning_rate=lr_schedule)model.compile(optimizer=optimizer,loss=tf.keras.losses.CategoricalCrossentropy(from_logits=True),metrics=['accuracy'])

4. 模型训练与验证

        结合 EarlyStopping 与 ModelCheckpoint,在模型训练过程中保存性能最好的模型权重,同时根据验证集的预测准确率进行模型训练的早停。

from tensorflow.keras.callbacks import ModelCheckpoint, EarlyStoppingepochs = 100# 保存最佳模型参数
checkpointer = ModelCheckpoint('best_model.h5',monitor='val_accuracy',verbose=1,save_best_only=True)# 设置早停
earlystopper = EarlyStopping(monitor='val_accuracy', min_delta=0.001,patience=10, verbose=1)history = model.fit(train_ds,validation_data=val_ds,epochs=epochs,callbacks=[checkpointer, earlystopper]
)
Epoch 1/100
106/106 [==============================] - ETA: 0s - loss: 0.9847 - accuracy: 0.5560
Epoch 1: val_accuracy improved from -inf to 0.68565, saving model to best_model.h5......
Epoch 9/100
106/106 [==============================] - ETA: 0s - loss: 0.3543 - accuracy: 0.8586
Epoch 9: val_accuracy improved from 0.85409 to 0.87663, saving model to best_model.h5
106/106 [==============================] - 9s 88ms/step - loss: 0.3543 - accuracy: 0.8586 - val_loss: 0.3334 - val_accuracy: 0.8766
Epoch 10/100
106/106 [==============================] - ETA: 0s - loss: 0.3179 - accuracy: 0.8743
Epoch 10: val_accuracy improved from 0.87663 to 0.88375, saving model to best_model.h5
106/106 [==============================] - 10s 90ms/step - loss: 0.3179 - accuracy: 0.8743 - val_loss: 0.3191 - val_accuracy: 0.8837......
Epoch 20: early stopping

         模型完成训练后,保存验证集中预测准确率最高的模型权重,进行模型的性能评估:

# 获取疾病标签名称列表
# 创建一个范围,表示 x 轴上每个标签的位置
x = np.arange(len(class_names))
# 设置柱状图的宽度
width = 0.80
fig, ax = plt.subplots(figsize=(8, 6), dpi=80)
rects = ax.bar(x, cate_auc, width, color='#EEC900')
ax.set_ylabel('AUC Score')
ax.set_xlabel('标签')
ax.set_title('不同类型眼病模型预测 AUC Score 分布')
ax.set_xticks(x, class_names)
ax.bar_label(rects, padding=3)
fig.tight_layout()
plt.show()

        可以看出, 白内障(Cataract)预测 AUC=97.21%、糖尿病视网膜病变(Diabetic Retinopathy)的预测 AUC=99.99%、青光眼(Glaucoma)的预测 AUC=86.82%、正常(Normal)的预测 AUC=95.67%

5. 眼部疾病检测识别系统

        利用 Flask + Bootstrap 框架搭建响应式布局的交互分析 web 系统,利用 keras load_model 加载训练好的性能最佳的模型,提供标准化 rest api,提供眼部疾病的在线识别功能。

5.1 系统首页

5.2 卷积神经网络介绍

5.3 眼部疾病在线检测

        (1)糖尿病视网膜病变(Diabetic Retinopathy)的预测样例

        (2)青光眼(Glaucoma)的预测样例 

        (3)白内障(Cataract)的预测样例 

        (4)眼部正常(Normal)的预测样例 

6. 结论 

        本系统利用 TensorFlow、Keras 等深度学习框架构建卷积神经网络(CNN),利用眼部疾病影像数据进行模型训练与验证,预测AUC达到 94.9%,使用Flask框架结合Bootstrap前端技术搭建了一个交互式的分析预测平台,该系统可以大大提高疾病诊断的准确性和效率,为临床决策提供支持,同时也能缓解医疗资源紧张的问题。

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。技术交流、源码获取认准下方 CSDN 官方提供的学长 QQ 名片 :)

精彩专栏推荐订阅:

1. Python-数据挖掘实战案例

2. Python-深度学习实战案例

3. Python-管理系统实战案例

http://www.hrbkazy.com/news/18370.html

相关文章:

  • 扶贫832网络销售平台360优化关键词
  • 网站建设要程序员吗文章优化关键词排名
  • 陕西省建设厅网站劳保统筹基金国际新闻最新消息中国
  • 网站建设方案设计心得凡科建站的免费使用
  • 如何提高网站内容质量千峰培训多少钱
  • 互联网挣钱的路子seo外包品牌
  • 做网站意义今日新闻快讯10条
  • 在哪个网站做简历比较好百度打开百度搜索
  • 企业网站优化哪家好苹果看国外新闻的app
  • 网站怎么制作软件互联网平台公司有哪些
  • 高品质网站开发沈阳seo搜索引擎
  • 阿里巴巴网站建设缺点电话号码宣传广告
  • 用cms创建自己带数据库的网站电商平台推广方式有哪些
  • 网站开发建设合同百度文库个人登录
  • 码支付wordpress前端优化大师哪个好
  • 可以进不良网站的浏览器东莞seo推广公司
  • 网站排名易下拉教程文案代写收费标准
  • 帮客户做网站挣钱吗市场调研报告怎么做
  • 个人视频网站制作如何联系百度人工客服电话
  • 网页制作的方法山东网站seo推广优化价格
  • wordpress监测代码网站关键词优化工具
  • 基于jsp的网站开发论文宁波seo服务推广
  • 全国建设工程招标信息网站网站seo最新优化方法
  • wordpress固定链接无法访问温州seo招聘
  • 大岭山营销型网站建设盘多多搜索引擎入口
  • 网站 html 作用中央常委成员名单
  • wordpress主题 投稿seo去哪里培训
  • 郑州做优化的公司有哪些长沙网络优化产品
  • 高古楼网站找活做上海网站seo策划
  • 地名网站建设方案论坛推广方案