编程学院

编程学院分类,是在编程过程中,记录开发心得体会的板块。目前主要涉及PHP、Python、Linux、前端等内容。

  • GCN项目 P2 图卷积神经网络介绍

    深度学习一直都是被几大经典模型统治着,常见的有CNN、RNN网络,它们在CV和NLP领域都取得了优异的效果。但人们发现了很多CNN、RNN无法解决,或者效果不好的问题——图结构数据,所以就有了GNN网络。

    实战项目 1679 2022-06-23
  • LeetCode刷题 NO.125 验证回文串 (简单)

    给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。

    Python 869 2022-06-23
  • Pytorch LSTM_GCN_IE P1 火车票识别项目

    从本节开始,我将带大家完成一个深度学习项目:用图卷积神经网络(GCN),实现一个「火车票文字信息提取」的项目,由于火车票上每个节点文字不是等长的,所以还需要添加一个前置的 LSTM 来提取句子特征。

    实战项目 1728 2022-06-22
  • LeetCode刷题 NO.121 买卖股票的最佳时机 (简单)

    给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。

    Python 719 2022-06-22
  • LeetCode刷题 NO.119 杨辉三角 II (简单)

    给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。

    Python 691 2022-06-21
  • LeetCode刷题 NO.118 杨辉三角 (简单)

    给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。

    Python 717 2022-06-20
  • NER项目 P8 CRF维特比解码和模型训练

    前文已经定义好了 BiLSTM、Linear 层,最后还需要加一层 CRF,再结合维特比解码,输出目标值。另外一个重要的步骤,就是定义损失函数,CRF 解码后的损失计算,不同于分类任务的交叉熵损失,还需要考虑到顺序的问题。

    实战项目 1953 2022-06-19
  • LeetCode刷题 NO.112 路径总和 (简单)

    给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。

    Python 864 2022-06-19
  • NER项目 P7 定义BiLSTM模型

    到上一节为止,我们已经处理好了模型需要的数据,本节就正式开始搭建模型了,模型的整体是 BiLSTM+CRF 结构,但 CRF 涉及到解码和特殊的损失值计算方法,所以本节先介绍 BiLSTM,下一小节再介绍 CRF 部分。

    实战项目 2093 2022-06-18
  • LeetCode刷题 NO.111 二叉树的最小深度 (简单)

    给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。

    Python 649 2022-06-18
  • NER项目 P6 DataLoader句子填充PAD和MASK

    经过上一步的处理,我们将长文本切分成了单句,但每个句子长度又不完全一样。在批处理时,要求每个batch的句子长度必须一致,所以我们需要填充 PAD,来保证句子每个batch的句子长度一样。

    实战项目 1277 2022-06-17
  • LeetCode刷题 NO.110 平衡二叉树 (简单)

    给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。

    Python 747 2022-06-17
  • NER项目 P5 定义Dataset数据集和文本等长切分

    经过前面的数据预处理操作,我们已经得到了训练样本、测试样本文件,以及词表和标签表的缓存文件,接下来就是定义Dataset类,来加载数据。另外在加载数据时,需要将文本切分为等长的句子。

    实战项目 1926 2022-06-16
  • LeetCode刷题 NO.108 将有序数组转为二叉搜索树 (简单)

    给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。

    Python 752 2022-06-16
  • LeetCode刷题 NO.101 对称二叉树 (简单)

    给你一个二叉树的根节点 root , 检查它是否轴对称。判断对称,有点像照镜子,即左边的左子树等于右边的右子树,左边的右子树等于右边的左子树。

    Python 844 2022-06-14
  • LeetCode刷题 NO.100 相同的树 (简单)

    给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。

    Python 724 2022-06-13
  • LeetCode刷题 NO.94 二叉树的中序遍历 (简单)

    给定一个二叉树的根节点 root ,返回 它的 中序 遍历。这个问题在介绍二叉树结构的时候,就提到过,不过是直接print()打印的;最好理解的方法,就是递归,另外还可以用栈结构,难度会稍大一点。

    Python 797 2022-06-12
  • NER项目 P4 生成词表和标签表缓存文件

    拆分完训练集和测试集后,我们需要根据训练集,生成词表和标签表的缓存文件,供后面的流程调用。该表不仅要记录所有词和标签,还要对应一个不重复的ID,方便后续进行Embedding,即数字化。

    实战项目 1603 2022-06-11
  • LeetCode刷题 NO.88 合并两个有序数组 (简单)

    给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。

    Python 811 2022-06-11
  • NER项目 P3 拆分训练集和测试集

    上一节已经生成了单个字和标注对应的文件,接下来就是将这些文件,拆分为训练集和测试集两部分。这里的拆分不单是文件选择的问题,还需要考虑后续加载数据集的问题。

    实战项目 1729 2022-06-10