我有一个相对较小的mri数据集,我正在尝试进行二进制分割。我已经建立了一个普通的U-Net结构并对其进行了培训。
但是输出对我来说似乎有点奇怪。训练和验证精度首先都固定在一个值上,但是随后在第27或28个时代,这两个精度突然大幅度提高。
损失图形看起来更容易接受,其次是图形:
精度图:
损失图:
我还有另一个问题,即使我在训练数据上的精度为// [[Rcpp::depends(RcppArmadillo)]]
#include <RcppArmadillo.h>
extern "C" {
void arma_fortran(dtrtrs)(char* UPLO, char* TRANS, char* DIAG, int* N, int* NRHS,
const double* A, int* LDA, double* B, int* LDB, int* INFO);
}
int trtrs(char uplo, char trans, char diag, int n, int nrhs, double* A, int lda, double* B, int ldb) {
int info = 0;
dtrtrs_(&uplo, &trans, &diag, &n, &nrhs, A, &lda, B, &ldb, &info);
return info;
}
[...]
,当我在训练数据的某些图像上对其进行测试时,转换为二进制掩码的结果也不是那么好。
然后我在检索输出图像时将阈值从0.5降低到0.35,结果几乎是完美的。
您对此有何看法?预先感谢。
答案 0 :(得分:0)
它们似乎与那些停滞的时代有些偏离,这确实意味着该模型没有学习(权重没有改变,新案例没有提供有用的信息),但这完全是合理的。
请确定。您正在使用什么优化程序?并且您尝试了另一个吗?