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

衡水做wap网站建设网站的建设背景

衡水做wap网站建设,网站的建设背景,上海购物网站建设,做网站交接需要哪些权限什么是深度学习#xff1f; 作为对机器学习的一种深入方法#xff0c;深度学习受到了人类大脑和其生物神经网络的启发。它包括深层神经网络、递归神经网络、卷积神经网络和深度信念网络等架构#xff0c;这些架构由多层组成#xff0c;数据必须通过这些层才能最终产生输出。… 什么是深度学习 作为对机器学习的一种深入方法深度学习受到了人类大脑和其生物神经网络的启发。它包括深层神经网络、递归神经网络、卷积神经网络和深度信念网络等架构这些架构由多层组成数据必须通过这些层才能最终产生输出。深度学习旨在改进人工智能并使许多应用成为可能它被应用于计算机视觉、语音识别、自然语言处理、音频识别和药物设计等多个领域。 什么是 Keras Keras 是一个用 Python 编写的开源神经网络库。它是一个高级 API并可以在 TensorFlow、CNTK 和 Theano 上运行。Keras 专注于支持快速实验和原型设计同时在 CPU 和 GPU 上无缝运行。它用户友好、模块化且可扩展。 乳腺癌分类 – 目标 我们将在一个 IDC 数据集上构建一个乳腺癌分类器可以准确地将组织学图像分类为良性或恶性。 关于 Python 项目 – 乳腺癌分类 在这个 Python 项目中我们将构建一个分类器以 80% 的乳腺癌组织学图像数据集进行训练。其中我们将保留 10% 的数据用于验证。使用 Keras我们将定义一个 CNN卷积神经网络并将其命名为 CancerNet然后在我们的图像上进行训练。最后我们将构建一个混淆矩阵来分析模型的性能。 IDC 是浸润性导管癌这是一种在乳管中开始并在管外侵犯乳腺纤维或脂肪组织的癌症它是最常见的乳腺癌形式占所有乳腺癌诊断的 80%。而组织学是研究组织微观结构的学科。 数据集 我们将使用来自 Kaggle 的 IDC_regular 数据集乳腺癌组织学图像数据集。这个数据集包含从 162 份乳腺癌整体装片扫描图像中提取的 277524 个 50x50 尺寸的图像块。其中有 198738 个测试结果为 IDC 阴性78786 个测试结果为 IDC 阳性。数据集公开发布你可以在这里下载。为此你需要至少 3.02GB 的磁盘空间。 此数据集中的文件名如下 8863_idx5_x451_y1451_class0 这里8863_idx5 是患者编号451 和 1451 是裁剪图像的 x 和 y 坐标0 是类别标签0 表示 IDC 缺失。 链接: 基于深度学习的乳腺癌分类 源代码与数据集 前提条件 你需要安装一些 Python 包才能运行这个高级 Python 项目。你可以使用 pip 安装 pip install numpy opencv-python pillow tensorflow keras imutils scikit-learn matplotlib高级 Python 项目 – 乳腺癌分类的步骤 下载压缩包。在你选择的位置解压缩它并进入该位置。 乳腺癌检测 Python 项目 现在在内部的 breast-cancer-classification 目录中创建目录 datasets- 在此目录下创建目录 original: mkdir datasets mkdir datasets\original下载数据集。 在 original 目录中解压缩数据集。为了观察该目录的结构我们将使用 tree 命令 cd breast-cancer-classification\breast-cancer-classification\datasets\original tree项目中的原始结构 我们为每个患者编号有一个目录。在每个这样的目录中我们有存放良性和恶性图像的 0 和 1 目录。 config.py: 这里包含了一些我们构建数据集和训练模型时所需的配置。你可以在 cancernet 目录中找到它。 import os INPUT_DATASET datasets/original BASE_PATH datasets/idc TRAIN_PATH os.path.sep.join([BASE_PATH, training]) VAL_PATH os.path.sep.join([BASE_PATH, validation]) TEST_PATH os.path.sep.join([BASE_PATH, testing]) TRAIN_SPLIT 0.8 VAL_SPLIT 0.1在这里我们声明了原始数据集的路径datasets/original新目录的路径datasets/idc以及使用基本路径声明的训练、验证和测试目录的路径。我们还声明 80% 的整个数据集将用于训练而其中的 10% 将用于验证。 build_dataset.py: 此脚本将根据上述比例将数据集分割为训练集、验证集和测试集- 80% 用于训练其中 10% 用于验证20% 用于测试。使用 Keras 的 ImageDataGenerator我们将提取图像批处理以避免一次性将整个数据集加载到内存中。 from cancernet import config from imutils import paths import random, shutil, os originalPathslist(paths.list_images(config.INPUT_DATASET)) random.seed(7) random.shuffle(originalPaths) indexint(len(originalPaths)*config.TRAIN_SPLIT) trainPathsoriginalPaths[:index] testPathsoriginalPaths[index:] indexint(len(trainPaths)*config.VAL_SPLIT) valPathstrainPaths[:index] trainPathstrainPaths[index:] datasets[(training, trainPaths, config.TRAIN_PATH),(validation, valPaths, config.VAL_PATH),(testing, testPaths, config.TEST_PATH) ] for (setType, originalPaths, basePath) in datasets:print(fBuilding {setType} set)if not os.path.exists(basePath):print(fBuilding directory {basePath})os.makedirs(basePath)for path in originalPaths:filepath.split(os.path.sep)[-1]labelfile[-5:-4]labelPathos.path.sep.join([basePath,label])if not os.path.exists(labelPath):print(fBuilding directory {labelPath})os.makedirs(labelPath)newPathos.path.sep.join([labelPath, file])shutil.copy2(path, newPath)机器学习 Python 项目 在此脚本中我们将从 config、imutils、random、shutil 和 os 导入。我们构建一个原始图像路径的列表然后将列表打乱。接着我们通过将列表长度乘以 0.8 来计算索引以便可以截取该列表以创建训练和测试数据集的子列表。然后我们进一步计算索引将训练数据集的 10% 用于验证剩下的用于训练自己。 现在datasets 是一个包含训练集、验证集和测试集信息的列表。这些信息包括路径和基本路径。对于此列表中的每个 set 类型、路径和基本路径我们将打印如‘构建测试集’。如果基本路径不存在我们将创建目录。对于 originalPaths 中的每个路径我们将提取文件名和类别标签。然后我们将构建标签目录0 或 1的路径-如果它还不存在我们将明确创建该目录。现在我们将构建目标图像的路径并将其复制到这里-它所属的位置。 运行脚本 build_dataset.py py build_dataset.py构建数据集 cancernet.py: 我们将构建的网络是一个 CNN卷积神经网络并命名为 CancerNet。该网络执行以下操作 使用 3x3 CONV 滤波器将这些滤波器堆叠在一起执行最大池化使用深度分离卷积更高效占用较少内存 from keras.models import Sequential from keras.layers.normalization import BatchNormalization from keras.layers.convolutional import SeparableConv2D from keras.layers.convolutional import MaxPooling2D from keras.layers.core import Activation from keras.layers.core import Flatten from keras.layers.core import Dropout from keras.layers.core import Dense from keras import backend as K class CancerNet:staticmethoddef build(width,height,depth,classes):modelSequential()shape(height,width,depth)channelDim-1if K.image_data_format()channels_first:shape(depth,height,width)channelDim1model.add(SeparableConv2D(32, (3,3), paddingsame,input_shapeshape))model.add(Activation(relu))model.add(BatchNormalization(axischannelDim))model.add(MaxPooling2D(pool_size(2,2)))model.add(Dropout(0.25))model.add(SeparableConv2D(64, (3,3), paddingsame))model.add(Activation(relu))model.add(BatchNormalization(axischannelDim))model.add(SeparableConv2D(64, (3,3), paddingsame))model.add(Activation(relu))model.add(BatchNormalization(axischannelDim))model.add(MaxPooling2D(pool_size(2,2)))model.add(Dropout(0.25))model.add(SeparableConv2D(128, (3,3), paddingsame))model.add(Activation(relu))model.add(BatchNormalization(axischannelDim))model.add(SeparableConv2D(128, (3,3), paddingsame))model.add(Activation(relu))model.add(BatchNormalization(axischannelDim))model.add(SeparableConv2D(128, (3,3), paddingsame))model.add(Activation(relu))model.add(BatchNormalization(axischannelDim))model.add(MaxPooling2D(pool_size(2,2)))model.add(Dropout(0.25))model.add(Flatten())model.add(Dense(256))model.add(Activation(relu))model.add(BatchNormalization())model.add(Dropout(0.5))model.add(Dense(classes))model.add(Activation(softmax))return model在本脚本中我们使用 Sequential API 构建 CancerNet并使用 SeparableConv2D 实现深度卷积。CancerNet 类有一个静态方法 build它接受四个参数- 图像的宽度和高度、深度每个图像的颜色通道数以及网络将在其间预测的类别数对于我们来说这一数字为 20 和 1。 在此方法中我们初始化 model 和 shape。使用 channels_first 时我们更新 shape 和通道维度。 现在我们将定义三个 DEPTHWISE_CONV RELU POOL 层每一层都有更高的堆叠和更多的滤波器。softmax 分类器输出每个类别的预测百分比。最后我们返回模型。 train_model.py: 此脚本用于训练和评估我们的模型。在这里我们将从 keras、sklearn、cancernet、config、imutils、matplotlib、numpy 和 os 导入。 import matplotlib matplotlib.use(Agg) from keras.preprocessing.image import ImageDataGenerator from keras.callbacks import LearningRateScheduler from keras.optimizers import Adagrad from keras.utils import np_utils from sklearn.metrics import classification_report from sklearn.metrics import confusion_matrix from cancernet.cancernet import CancerNet from cancernet import config from imutils import paths import matplotlib.pyplot as plt import numpy as np import os NUM_EPOCHS40; INIT_LR1e-2; BS32 trainPathslist(paths.list_images(config.TRAIN_PATH)) lenTrainlen(trainPaths) lenVallen(list(paths.list_images(config.VAL_PATH))) lenTestlen(list(paths.list_images(config.TEST_PATH))) trainLabels[int(p.split(os.path.sep)[-2]) for p in trainPaths] trainLabelsnp_utils.to_categorical(trainLabels) classTotalstrainLabels.sum(axis0) classWeightclassTotals.max()/classTotals trainAug ImageDataGenerator(rescale1/255.0,rotation_range20,zoom_range0.05,width_shift_range0.1,height_shift_range0.1,shear_range0.05,horizontal_flipTrue,vertical_flipTrue,fill_modenearest) valAugImageDataGenerator(rescale1 / 255.0) trainGen trainAug.flow_from_directory(config.TRAIN_PATH,class_modecategorical,target_size(48,48),color_modergb,shuffleTrue,batch_sizeBS) valGen valAug.flow_from_directory(config.VAL_PATH,class_modecategorical,target_size(48,48),color_modergb,shuffleFalse,batch_sizeBS) testGen valAug.flow_from_directory(config.TEST_PATH,class_modecategorical,target_size(48,48),color_modergb,shuffleFalse,batch_sizeBS) modelCancerNet.build(width48,height48,depth3,classes2) optAdagrad(lrINIT_LR,decayINIT_LR/NUM_EPOCHS) model.compile(lossbinary_crossentropy,optimizeropt,metrics[accuracy]) Mmodel.fit_generator(trainGen,steps_per_epochlenTrain//BS,validation_datavalGen,validation_stepslenVal//BS,class_weightclassWeight,epochsNUM_EPOCHS) print(Now evaluating the model) testGen.reset() pred_indicesmodel.predict_generator(testGen,steps(lenTest//BS)1) pred_indicesnp.argmax(pred_indices,axis1) print(classification_report(testGen.classes, pred_indices, target_namestestGen.class_indices.keys())) cmconfusion_matrix(testGen.classes,pred_indices) totalsum(sum(cm)) accuracy(cm[0,0]cm[1,1])/total specificitycm[1,1]/(cm[1,0]cm[1,1]) sensitivitycm[0,0]/(cm[0,0]cm[0,1]) print(cm) print(fAccuracy: {accuracy}) print(fSpecificity: {specificity}) print(fSensitivity: {sensitivity}) N NUM_EPOCHS plt.style.use(ggplot) plt.figure() plt.plot(np.arange(0,N), M.history[loss], labeltrain_loss) plt.plot(np.arange(0,N), M.history[val_loss], labelval_loss) plt.plot(np.arange(0,N), M.history[acc], labeltrain_acc) plt.plot(np.arange(0,N), M.history[val_acc], labelval_acc) plt.title(Training Loss and Accuracy on the IDC Dataset) plt.xlabel(Epoch No.) plt.ylabel(Loss/Accuracy) plt.legend(loclower left) plt.savefig(plot.png)总结 在这个 Python 项目中我们学习了如何使用 IDC 数据集浸润性导管癌的组织学图像构建一个乳腺癌分类器并为此创建了 CancerNet 网络。我们使用 Keras 实现了这一点。希望你喜欢这个 Python 项目。 参考资料 资料名称链接Kaggle IDC 数据集链接Keras 文档链接TensorFlow 官方文档链接Python for Data Science Handbook链接PyImageSearch 深度学习教程链接《深度学习》 - Ian Goodfellow链接Medium 深度学习文章链接DataFlair Python 项目链接《利用深度学习对抗癌症》 -.scalatest链接维基百科 - 乳腺癌链接中国深度学习社区链接深度学习读书会链接Deep Learning Book by Yoshua Bengio链接 关于数据集 背景 浸润性导管癌IDC是所有乳腺癌中最常见的亚型。为了对整个组织样本进行侵袭性分级病理学家通常专注于包含 IDC 的区域。因此自动侵袭性分级的常见预处理步骤之一是划定整个组织切片中 IDC 的确切区域。 内容 原始数据集包含 162 张乳腺癌BCa标本的整个组织切片图像扫描倍率为 40 倍。从中提取了 277,524 个大小为 50 x 50 的 patches198,738 个 IDC 阴性78,786 个 IDC 阳性。每个 patch 的文件名格式为u_xX_yY_classC.png —— 例如 10253_idx5_x1351_y1101_class0.png。其中u 是患者 ID10253_idx5X 是该 patch 裁剪位置的 x 坐标Y 是该 patch 裁剪位置的 y 坐标C 表示类别0 为非 IDC1 为 IDC。 致谢 原始文件位于http://gleason.case.edu/webdata/jpi-dl-tutorial/IDC_regular_ps50_idx5.zip 引用文献https://www.ncbi.nlm.nih.gov/pubmed/27563488 和 http://spie.org/Publications/Proceedings/Paper/10.1117/12.2043872 启发 乳腺癌是女性中最常见的癌症形式而浸润性导管癌IDC是乳腺癌中最常见的类型。准确识别和分类乳腺癌亚型是一项重要的临床任务自动化方法可用于节省时间并减少错误。
http://www.pierceye.com/news/676618/

相关文章:

  • 网站的验证码是怎么做的wordpress团购插件
  • 邯郸网站设计注册贵阳网站建设天锐科技
  • 网站建设服务费税率多少WordPress文档批量发布接口
  • 云服务器网站配置网页界面设计中一般使用的分辨率是多少
  • 网站域名销售wordpress文章入口设置
  • 上海做网站较好的公司c 做网站
  • 代发货网站系统建设螺栓球网架
  • 做书的网站有哪些内容吗电商平台定制
  • 网站建设与推广长春云电脑永久免费版手机版
  • 营销型网站建设优化建站坂田建设网站
  • 大型网站方案自己做网站详细流程
  • 网站开发中为什么有两个控制层南昌网站建设技术托管
  • 网站如何加入百度联盟易名中国网站
  • 海报在线制作免费网站网站建设费用明细湖南岚鸿
  • 宝塔服务器搭建网站教程盐城网站建设兼职
  • 南京网站制作公司怎么样wordpress思维导图
  • 学校网站建设和维护情况沈阳网页设计公司有哪些
  • 安徽网站建设电话网站建设动态静态
  • 网站建设规划设计公司排名摄影公司网站开发
  • php安防企业网站源码seo中文
  • 用什么开发和建设网站最好wordpress登录安全插件
  • 做网站哪个服务商便宜wordpress添加script
  • dede wap网站外贸客户开发的渠道有哪些
  • 营销型网站网站设计免费域名注册 国外
  • 杭州网站制作公司网站厦门网站建设 首选猴子网络
  • 公司如何建站合肥网站设计
  • wordpress单页导出wordpress head 优化
  • 建筑模版东莞网站建设技术支持北京网页制作服务商
  • 网站html地图怎么做的wordpress 国内视频网站
  • 哪个网站做的简历比较好龙岗做网站公司icxun