包括Kaggle Titanic数据集预训练模型的简单神经网络接口

Titanicbc的Python项目详细描述


泰坦尼克

tianicbc提供了一个简单的图形用户界面(GUI),用于训练和使用具有自定义超参数的PyTorch神经网络。tianicbc允许用户为著名的Kaggle Titanic数据集(dataset可在https://www.kaggle.com/c/titanic/data)训练二进制分类器网络。在

这个软件包的目的是让那些很少或没有神经网络编码经验的人,通过一个易于使用的界面,探索不同的超参数组合如何影响神经网络训练。该软件包还包括一个预先训练的神经网络,用于演示网络在训练后如何进行预测。在

安装

你可以从PyPI安装tianicbc


pip安装Titanicbc


如何使用


要定制超参数并训练神经网络或使用预先训练的神经网络进行预测,只需从命令行或终端运行命令python-m Titanicbc。这将打开Titanicbc GUI,详细信息请参见下面的用户界面部分。在

要开始训练网络,请在界面中输入所需的超参数。接下来,点击“确认网络配置和训练”开始训练一个模型。让终端窗口保持打开状态,在这个窗口中运行python-m Titanicbc,因为这里将显示培训过程。(请注意,培训过程是在一个单独的线程中启动的,因此,如果您希望在培训期间退出应用程序,则还必须单独关闭终端窗口)。 一旦你完成了一个模型的训练,选择“Plot loss of last trained model”将显示整个模型训练过程中的总历元损失的图表。在

新模型将覆盖当前训练的模型,新模型所做的预测将保存到名为“的文件中输出.csv". 查看输出.csv在“查看您的计算机的默认软件”中,选择“打开csv”输出.csv“从用户界面。输出列采用Kaggle所需的格式(PassengerId和乘客是否幸存的预测)。输出以这种格式给出,以便模型的输出可以快速上传到Kaggle泰坦尼克号竞赛(https://www.kaggle.com/c/titanic/submit)上,以获得模型的官方精度分数并比较不同的构建。在

如果需要一种更快的比较新模型的方法,新训练模型的精度将在验证集上进行计算,并显示在最终训练历元的下方,预测输出数据帧的上方。这种对不可见数据的精确性提供了一种快速的方法来比较不同模型对样本外数据的有效性。但是,通过比较,可以更好地估计模型的预测能力和通用性输出.csv“与上面概述的官方Kaggle测试集相反。在

如果您希望使用包中包含的预先训练的网络进行预测,请从界面中选择“使用上次训练的模型预测”。这将立即使用包含的网络进行预测并将其写入“输出.csv". 如果之前已经训练过模型,则此选项将使用上次训练完成的模型(而不是包含的网络)进行预测。在


用户界面

通过图形用户界面,使用Titanicbc软件包训练神经网络变得很容易。可从图形用户界面定制的超参数如下所示:

Key(值选项或输入类型)-info

hidden_dim(整数)-网络中3个隐藏层中每个层的神经元数量。在

num_epochs(整数)-训练新模型时,网络将对训练数据进行的传递次数。在

学习速率(浮动)-参数乘以随机梯度下降过程中的权重更新。目前仅t他使用了亚当乐观主义者。在

weight_init(uniform,xavier)-告诉网络要将哪个Pytorch初始化用于模型权重。Xavier建议使用接近默认值的超参数。在

权值衰减(float)-权值衰减在神经网络上起l2调节作用。在


欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Cassandra docker无法通过JMX连接   java以编程方式在图片模式下启用图片   java访问json数组中的json数组   swing Java 2D API:空指针异常   java Storm 2.0.0内存不足   java为什么Splitter在Spring Integration中处理集合项时直接返回集合?   java Spring启动到Postgres数据库驱动程序问题   java如何将对象围绕其中心旋转90度?   无法返回变量。“java:找不到变量”   通过BigInteger进行Java基转换   在Java中获取日期格式   java构建具有依赖关系的jar并将其绑定到tar中。gz使用maven组装   java为什么Guice在main中从UncaughtExceptionHandler抛出$ComputeException?   spring升级到Java7时有哪些陷阱   java从JTable向数组获取值   java Android在启动新活动时会杀死多个以前的活动   postgresql是否可以在批处理过程中运行java命令?   安卓使用Java代码创建文件上传请求   java一些元素神奇地没有从ArrayList中删除