As shown in Figure 1, the proposed network contains four strided convolutional layers and four strided deconvo- lutional layers. The Leaky Rectified Linear Unit (LReLU) with a negative slope of 0.2 is used after each convolutional and deconvolutional layer. The residual group [38] consists of three residual blocks, and 18 residual blocks are used in GRes. The filter size is set as 11×11 pixels in the first convo- lutional layer in the encoder module and 3 × 3 in all the other convolutional and deconvolutional layers. We jointly train the MSBDN and DFF module and use the Mean Squared Error (MSE) as the loss function to constrain the network output and ground truth. The entire training process con- tains 100 epochs optimized by the ADAM solver [28 ] with β1 = 0.9 and β2 = 0.999 with a batch size of 16. The initial learning rate is set as 10−4 with a decay rate of 0.75 after every 10 epochs. All the experiments are conducted on an NVIDIA 2080Ti GPU. The source code and trained models are availabe at https://github.com/BookerDeWitt/MSBDN- DFF 翻译
时间: 2024-02-14 14:03:52 浏览: 194
如图1所示,所提出的网络包含四个步幅卷积层和四个步幅反卷积层。在每个卷积和反卷积层之后使用LReLU(带有负斜率0.2的泄露整流线性单元)。残差组[38]包含三个残差块,GRes中使用18个残差块。在编码器模块的第一个卷积层中,滤波器大小设置为11×11像素,所有其他卷积和反卷积层的滤波器大小设置为3×3像素。我们联合训练MSBDN和DFF模块,并使用均方误差(MSE)作为损失函数,以约束网络输出和真实值之间的差距。整个训练过程包含100个时期,使用批大小为16的ADAM优化器[28 ]进行优化。初始学习率设置为10^-4,每10个时期衰减率为0.75。所有实验都在NVIDIA 2080Ti GPU上进行。源代码和训练模型可在https://github.com/BookerDeWitt/MSBDN-DFF上获得。
相关问题
The radiomics signature achieved a C-Index of 0.731 (95% confidence intervals [CI]: 0.645, 0.817) for the discovery data set, and 0.710 (95% CI: 0.588, 0.932) for the independent validation data set, demonstrating the predictive performance of the model. Based on the radiomics score of patients in the discov- ery data set, the optimal cutoff calculated by the X-tile plot was 0.1343235, as shown in Supplementary Figure 2. Then, patients in both the discovery and validation data sets were stratified into low-risk (Rad-score < 0.1343235) and high-risk (Rad-score>0.1343235) groups, as shown in Fig. 3. The significant association of the radiomics signature with OS was shown in discovery data set (P < 0.001, hazard ratio [HR] = 5.042, 95% CI: 2.624, 9.689), and confirmed in the validation data set (P < 0.001, HR = 5.128, 95% CI: 2.029, 12.960). The OS in the low-risk and high-risk groups in the discovery and validation data sets are listed in Supplementary Table 4. 解释
这段话描述了一项研究,研究者使用了放射学特征学(radiomics)来预测患者的生存情况。在发现数据集中,这个放射学特征学模型的C-Index为0.731,在独立验证数据集中为0.710,表明了该模型的预测性能。通过X-tile图计算得到的放射学分数的最优阈值为0.1343235。根据这个阈值,研究者将患者分为低风险组和高风险组,结果显示放射学特征学与患者的生存率显著相关,无论是在发现数据集中还是在验证数据集中,都表现出较高的预测力。
Write a class named ProductSystem, which extends JFrame class. The appearance of the application looks like the following (as shown in Figure 1). 2. At the beginning, input name,price and number at three JTextField fields, then click “Add”button (event source), which binds to a method (event listener) that create a Product object (using name,price and number) and add it into ArrayList<Product>, at the same time display “Add Product xxx sucess!” in JTextArea on the GUI (as shown in Figure 2) 3. When click “Display” button, then read the records from ArrayList , and display the records in JTextArea on the GUI(as shown in Figure 3). 4. When click “Save to File” button, then write the records from ArrayList to file product.txt, at the same time display "file write success" in JTextArea on the GUI (as shown in Figure 4)
以下是一个实现您所需功能的 ProductSystem 类的示例代码:
```
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
import javax.swing.*;
public class ProductSystem extends JFrame implements ActionListener {
private JLabel nameLabel, priceLabel, numberLabel;
private JTextField nameField, priceField, numberField;
private JButton addButton, displayButton, saveButton;
private JTextArea outputArea;
private ArrayList<Product> productList;
public ProductSystem() {
super("Product System");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(600, 400);
setLayout(new GridLayout(2, 1));
JPanel inputPanel = new JPanel(new GridLayout(3, 2));
nameLabel = new JLabel("Name:");
nameField = new JTextField();
priceLabel = new JLabel("Price:");
priceField = new JTextField();
numberLabel = new JLabel("Number:");
numberField = new JTextField();
addButton = new JButton("Add");
addButton.addActionListener(this);
inputPanel.add(nameLabel);
inputPanel.add(nameField);
inputPanel.add(priceLabel);
inputPanel.add(priceField);
inputPanel.add(numberLabel);
inputPanel.add(numberField);
inputPanel.add(new JLabel());
inputPanel.add(addButton);
JPanel outputPanel = new JPanel(new BorderLayout());
outputArea = new JTextArea();
outputArea.setEditable(false);
JScrollPane scrollPane = new JScrollPane(outputArea);
displayButton = new JButton("Display");
displayButton.addActionListener(this);
saveButton = new JButton("Save to File");
saveButton.addActionListener(this);
JPanel buttonPanel = new JPanel(new GridLayout(1, 2));
buttonPanel.add(displayButton);
buttonPanel.add(saveButton);
outputPanel.add(scrollPane, BorderLayout.CENTER);
outputPanel.add(buttonPanel, BorderLayout.SOUTH);
add(inputPanel);
add(outputPanel);
productList = new ArrayList<Product>();
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == addButton) {
String name = nameField.getText();
double price = Double.parseDouble(priceField.getText());
int number = Integer.parseInt(numberField.getText());
Product product = new Product(name, price, number);
productList.add(product);
outputArea.append("Add Product " + product.getName() + " success!\n");
nameField.setText("");
priceField.setText("");
numberField.setText("");
} else if (e.getSource() == displayButton) {
outputArea.setText("");
for (Product product : productList) {
outputArea.append(product.toString() + "\n");
}
} else if (e.getSource() == saveButton) {
try {
FileWriter writer = new FileWriter("product.txt");
for (Product product : productList) {
writer.write(product.getName() + "," + product.getPrice() + "," + product.getNumber() + "\n");
}
writer.flush();
writer.close();
outputArea.append("File write success.\n");
} catch (IOException ex) {
System.err.println("Error writing file.");
}
}
}
public static void main(String[] args) {
ProductSystem productSystem = new ProductSystem();
productSystem.setVisible(true);
}
}
class Product {
private String name;
private double price;
private int number;
public Product(String name, double price, int number) {
this.name = name;
this.price = price;
this.number = number;
}
public String getName() {
return name;
}
public double getPrice() {
return price;
}
public int getNumber() {
return number;
}
public String toString() {
return name + " $" + price + " x " + number + " = $" + (price * number);
}
}
```
该类实现了您所需的所有功能,包括添加产品,显示产品列表和将产品列表保存到文件。在构造函数中,设置了应用程序的标题,大小和布局,并创建了所有必要的组件。在 actionPerformed 方法中,实现了所有按钮的事件处理程序,包括添加按钮,显示按钮和保存到文件按钮。还使用了一个 Product 类来表示产品,并在 toString 方法中生成产品的字符串表示形式。
阅读全文