今日学习内容

3DGS

训练DashGaussian.
昨天DashGaussian训练过程会出现报错,排查后发现是子模块版本问题导致,重新安装子模块后消除报错.
并且在昨天的训练过程中,在对于复杂的场景会出现爆显存的问题:
通过修改scene/cameras.py中图片预先加载到显存的逻辑,把图片加载到内存,解决了爆显存的问题,
虽然会因IO时间增加,训练变慢,但是可以接受.

力扣每日一题:

排序加贪心的中等题.

二叉树

通过中序和后序构造二叉树.
通过对中序做一个索引,找到左右树的分割位置,然后递归.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Solution {
Map<Integer,Integer> in_idx = new HashMap<>();
public TreeNode buildTree(int[] inorder, int[] postorder) {
for(int i=0 ; i<inorder.length ; ++i){
in_idx.put(inorder[i],i);
}
int n = inorder.length;
return dfs(inorder,postorder,0,n-1,0,n-1);
}
private TreeNode dfs(int[] inorder,int[] postorder , int beg_in , int end_in,int beg_pos , int end_pos){
//全部闭区间
if(beg_in > end_in ||beg_pos > end_pos )return null;
int rootIndex = in_idx.get(postorder[end_pos]);
TreeNode root = new TreeNode(inorder[rootIndex]);
int lenOfLeft = rootIndex - beg_in;//左子树个数
int n=inorder.length;
root.left = dfs(inorder,postorder,beg_in,beg_in+lenOfLeft-1,beg_pos,beg_pos+lenOfLeft-1);
root.right = dfs(inorder,postorder,rootIndex+1,end_in,beg_pos+lenOfLeft,end_pos-1);
return root;
}
}

通过前序和后序构造二叉树.
对应二叉树不唯一,找前序根节点的下一个位置在后序中的位置,然后找左右子树,剩下做法差不多了.

Mysql学习

Spring学习

晚上学代码随想录

生活记录

晚上健身

今天练的后侧链 背 手臂