|
|
|
@ -0,0 +1,49 @@
|
|
|
|
|
#### *第一步、搜集数据集*
|
|
|
|
|
|
|
|
|
|
- *文件保存在picture文件夹中*
|
|
|
|
|
- *benign 良性乳腺癌图片*
|
|
|
|
|
- *malignant 恶性乳腺癌图片*
|
|
|
|
|
- *normal 正常乳腺癌图片*
|
|
|
|
|
- *以70%作为训练集、30%作为测试集*
|
|
|
|
|
|
|
|
|
|
#### *第二步、处理数据集*
|
|
|
|
|
|
|
|
|
|
- *(1) 读取图片*
|
|
|
|
|
- *(2) 使用sklearn.model_selection中的train_test_split 分割数据集*
|
|
|
|
|
- *(3) 使用plt打印图片*
|
|
|
|
|
|
|
|
|
|
#### *第三步训练*
|
|
|
|
|
- *训练模型选择*
|
|
|
|
|
- *使用Microsoft提出的DenseNet201框架进行训练*
|
|
|
|
|
- *DenseNet201包含201层卷积层和全连接层*
|
|
|
|
|
- *拥有池化操作,非常适合训练模型*
|
|
|
|
|
|
|
|
|
|
- *激活函数选择*
|
|
|
|
|
- *使用softmax作为激活函数*
|
|
|
|
|
|
|
|
|
|
- $$
|
|
|
|
|
Softmax(z_{i} )=\frac{e^{z_{i}}}{ {\textstyle \sum_{c=1}^{c} e^{z_{c}}}}
|
|
|
|
|
其中zi为第i个节点的输出值,c为输出节点的个数
|
|
|
|
|
$$
|
|
|
|
|
|
|
|
|
|
- *损失函数选择*
|
|
|
|
|
|
|
|
|
|
- *使用二元交叉熵给出*
|
|
|
|
|
|
|
|
|
|
- $$
|
|
|
|
|
Loss = \frac{1}{N} \sum_{i=1}^{N}[y_{i}log(p(y_{i})) + (1-y_{i})(1 - log(p(y_{i})))]
|
|
|
|
|
$$
|
|
|
|
|
|
|
|
|
|
- *优化器选择*
|
|
|
|
|
|
|
|
|
|
- *Nadam优化器*
|
|
|
|
|
- *该优化器综合Adam将RMSprop和动量结合起来*
|
|
|
|
|
- *优于Adam优化器*
|
|
|
|
|
|
|
|
|
|
#### *第四步*测试
|
|
|
|
|
|
|
|
|
|
- *导入图片*
|
|
|
|
|
- *使用PIL进行读取图片*
|
|
|
|
|
- *使用test pic进行测试*
|
|
|
|
|
- *tensorflow load_model进行模型的加载*
|
|
|
|
|
- *predict进行模型的预测*
|