4343 </ div >
4444 < a href ="#huggingface "> Hub</ a >
4545 < a href ="#quickstart "> Install</ a >
46- < a href ="https://github.com/Yaselley/deepfense-framework " target ="_blank "> Docs</ a >
46+ < div class ="dropdown ">
47+ < a href ="https://deepfense.readthedocs.io/en/latest/ " target ="_blank " rel ="noopener " class ="dropdown-trigger "> Docs < i class ="fas fa-chevron-down "> </ i > </ a >
48+ < div class ="dropdown-content ">
49+ < a href ="https://deepfense.readthedocs.io/en/latest/ " target ="_blank " rel ="noopener "> Clip-level docs</ a >
50+ < a href ="https://deepfense.readthedocs.io/en/deepfense-partial/ " target ="_blank " rel ="noopener "> Partial deepfake docs</ a >
51+ </ div >
52+ </ div >
4753 </ div >
4854
4955 < div class ="nav-actions ">
@@ -119,17 +125,27 @@ <h2>Two detection modes</h2>
119125
120126 < div class ="modes-grid ">
121127 < div class ="mode-card ">
122- < span class ="mode-tag "> Default branch : < code > master</ code > </ span >
128+ < span class ="mode-tag "> Branch : < code > master</ code > · PyPI </ span >
123129 < h3 > Clip-level</ h3 >
124130 < p > One label per utterance. Is the whole clip real or fake?</ p >
125131 < ul class ="mode-flow ">
126132 < li > Raw audio → Frontend → Backend < strong > pools time</ strong > </ li >
127133 < li > CrossEntropy / OC-Softmax → one score</ li >
128134 < li > Metrics: EER, minDCF, ACC</ li >
129135 </ ul >
136+ < a href ="https://deepfense.readthedocs.io/en/latest/ " target ="_blank " rel ="noopener " class ="mode-doc-link ">
137+ < i class ="fas fa-book "> </ i > Clip-level documentation
138+ </ a >
130139 < div class ="mode-code-block ">
131- < div class ="mode-code-header "> Train</ div >
132- < pre > < code class ="bash "> deepfense train --config deepfense/config/train.yaml</ code > </ pre >
140+ < div class ="mode-code-header "> Install & train</ div >
141+ < pre > < code class ="bash "> pip install deepfense
142+
143+ # Or from source (master)
144+ git clone https://github.com/Yaselley/deepfense-framework
145+ cd deepfense-framework
146+ pip install -e .
147+
148+ deepfense train --config deepfense/config/train.yaml</ code > </ pre >
133149 < button class ="copy-btn copy-btn-sm " aria-label ="Copy "> < i class ="far fa-copy "> </ i > </ button >
134150 </ div >
135151 </ div >
@@ -143,15 +159,22 @@ <h3>Partial deepfake</h3>
143159 < li > FramewiseCrossEntropy → score per frame</ li >
144160 < li > Metrics: FRAME_F1, < strong > Range EER</ strong > , Segment EER, MULTIRES_EER</ li >
145161 </ ul >
162+ < a href ="https://deepfense.readthedocs.io/en/deepfense-partial/ " target ="_blank " rel ="noopener " class ="mode-doc-link mode-doc-link-partial ">
163+ < i class ="fas fa-book "> </ i > Partial deepfake documentation
164+ </ a >
146165 < div class ="mode-code-block ">
147- < div class ="mode-code-header "> Train</ div >
148- < pre > < code class ="bash "> deepfense train --config deepfense/config/experiments/temporal_deepfake_example.yaml</ code > </ pre >
166+ < div class ="mode-code-header "> Install & train</ div >
167+ < pre > < code class ="bash "> git clone https://github.com/Yaselley/deepfense-framework
168+ cd deepfense-framework
169+ git fetch origin
170+ git checkout deepfense-partial
171+ pip install -e .
172+
173+ deepfense train --config deepfense/config/experiments/temporal_deepfake_example.yaml</ code > </ pre >
149174 < button class ="copy-btn copy-btn-sm " aria-label ="Copy "> < i class ="far fa-copy "> </ i > </ button >
150175 </ div >
151176 </ div >
152177 </ div >
153-
154- < p class ="partial-note text-center "> Partial deepfake configs and < code > TemporalDetector</ code > live on the < a href ="https://github.com/Yaselley/deepfense-framework/tree/deepfense-partial " target ="_blank " rel ="noopener "> < code > deepfense-partial</ code > branch</ a > . See the < a href ="https://deepfense.readthedocs.io/en/deepfense-partial/ " target ="_blank " rel ="noopener "> partial docs</ a > for parquet format and evaluation.</ p >
155178 </ div >
156179 </ section >
157180
@@ -416,10 +439,13 @@ <h2>Get Started</h2>
416439 < div class ="text-center mt-4 ">
417440 < p style ="margin-bottom: 1rem; color: var(--text-light); "> Full documentation with tutorials, config reference, and extension guides.</ p >
418441 < div style ="display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; ">
419- < a href ="https://github.com/Yaselley/deepfense-framework " target ="_blank " class ="btn btn-outline ">
420- < i class ="fab fa-github "> </ i > Documentation
442+ < a href ="https://deepfense.readthedocs.io/en/latest/ " target ="_blank " rel ="noopener " class ="btn btn-outline ">
443+ < i class ="fas fa-book "> </ i > Clip-level docs
444+ </ a >
445+ < a href ="https://deepfense.readthedocs.io/en/deepfense-partial/ " target ="_blank " rel ="noopener " class ="btn btn-outline ">
446+ < i class ="fas fa-book "> </ i > Partial deepfake docs
421447 </ a >
422- < a href ="https://pypi.org/project/deepfense/ " target ="_blank " class ="btn btn-outline ">
448+ < a href ="https://pypi.org/project/deepfense/ " target ="_blank " rel =" noopener " class ="btn btn-outline ">
423449 < i class ="fas fa-box "> </ i > PyPI
424450 </ a >
425451 </ div >
@@ -447,7 +473,8 @@ <h2>Open Source</h2>
447473 </ div >
448474 < div class ="footer-links ">
449475 < a href ="https://github.com/Yaselley/deepfense-framework "> GitHub</ a >
450- < a href ="https://github.com/Yaselley/deepfense-framework/tree/master/docs "> Documentation</ a >
476+ < a href ="https://deepfense.readthedocs.io/en/latest/ " target ="_blank " rel ="noopener "> Docs (clip-level)</ a >
477+ < a href ="https://deepfense.readthedocs.io/en/deepfense-partial/ " target ="_blank " rel ="noopener "> Docs (partial)</ a >
451478 < a href ="https://pypi.org/project/deepfense/ "> PyPI</ a >
452479 < a href ="https://huggingface.co/DeepFense "> HuggingFace</ a >
453480 </ div >
0 commit comments