Skip to content

Script to create submit.zip for Gradescope - #1

Open
preyneyv wants to merge 3 commits into
berkeleydeeprlcourse:mainfrom
preyneyv:feat/submit-script
Open

Script to create submit.zip for Gradescope#1
preyneyv wants to merge 3 commits into
berkeleydeeprlcourse:mainfrom
preyneyv:feat/submit-script

Conversation

@preyneyv

Copy link
Copy Markdown

I wrote a utility to create submit.zip files for Gradescope that makes it easy to selectively include files and subdirectories. It has no dependencies and runs on any Python 3.6+ cross-platform.

It parses a .submit file to find filepaths to include in the output zip, then compresses them. It also warns if an expected file is missing or if the final archive exceeds 100MB.

anim

The .submit file is a series of globs similar to .gitignore

# lines starting with # are comments and ignored
# paths are relative to the .submit file
# syntax is glob patterns (https://docs.python.org/3/library/glob.html)
# if a pattern matches a directory, the entire directory is included recursively

src/**/*.py
exp/flow
exp/mse
pyproject.toml
uv.lock
README.md

Usage:

  1. From within a homework directory (containing a .submit file):
    uv run ../submit.py
  2. From anywhere:
    python submit.py path/to/hw/directory

ajaygunalan added a commit to ajaygunalan/robot-learning that referenced this pull request Apr 21, 2026
Sequentially numbered markdown banners (berkeleydeeprlcourse#1 of N) inserted directly
above each NotImplementedError cell in the student notebooks, so the
spots that need filling in are obvious when scrolling. Notebooks
restored to upstream pristine state; reference answers remain in the
-complete.ipynb counterparts.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
dextermayhewjd added a commit to dextermayhewjd/homework_spring2026 that referenced this pull request Aug 25, 2026
4 个因子 × 3 水平(discount / 网络 -l,-s / batch / lr)全因子要 81 组,
改用 L9(3^4) 用 9 组估主效应。固定 -rtg -na --use_baseline --gae_lambda 0.99
(前三个实验已证实),每组预算恒定 150K 步(-n = 150000/-b)——
预算不同的话「首次到 1000 的步数」比的是谁跑得久,不是配置好坏。

九组实测(指标:首次到 1000 / 达标后 Eval≥950 的迭代占比):

    berkeleydeeprlcourse#1 γ0.95 2/32  b500  lr5e-3   48,261  88%
    berkeleydeeprlcourse#2 γ0.95 2/64  b1000 lr1e-2   32,928  69%
    berkeleydeeprlcourse#3 γ0.95 3/128 b2000 lr2e-2   未达到   0%
    berkeleydeeprlcourse#4 γ0.99 2/32  b1000 lr2e-2   31,405  80%   <- 九组综合最佳
    berkeleydeeprlcourse#5 γ0.99 2/64  b2000 lr5e-3  113,428  77%
    #6 γ0.99 3/128 b500  lr1e-2   25,446  31%
    #7 γ1.0  2/32  b2000 lr1e-2   90,182  52%
    #8 γ1.0  2/64  b500  lr2e-2   22,434   8%   <- 首次达标最快但策略崩溃
    #9 γ1.0  3/128 b1000 lr5e-3   53,023  62%

#8 是「单一指标会骗人」的实例:22,434 步达标全场最快,但曲线显示冲顶后
归零再没起来,末 10 轮均值只有 3。所以 analyze_l9.py 同时算首次达标、
末10均、达标后≥950 占比、组内极差;plot_l9_grid 画 3×3 small multiples
(9 条曲线叠一张读不了),按「达标且稳/达标不稳/未达标」上色。

plot_results.py 的 load() 提取出 ycol 参数、新增 smooth(),供多个实验复用。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant