QBatchNormalization quantizers
I maintainer di solito rispondono entro 3 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- Mezza giornata
- Idoneità per principianti
- 38/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- machine-learning, python
- Ambito
- machine-learning
Direzione di ricerca
Start in hls4ml/converters/keras/qkeras_layers.py around the lines the issue links, to see whether the gamma, beta, mean and variance quantizer attributes are ever set or read. Then check BatchNormalization.initialize in hls4ml/model/layers.py, where scale and bias are computed from the unquantized weights. Done when you can say whether the quantizers are used and whether quantizing before the scale and bias calculation changes the output, with a converter test that shows it. The maintainers have not yet decided the approach, so confirm the direction in the thread first.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Hey, I have a question regarding the QBatchNorm implementation. I think I must be overlooking something, but are these used anywhere?
Perhaps the QBN parameters could be directly quantized here before scale and bias calculation?
class BatchNormalization(Layer):
_expected_attributes = [
Attribute('n_in'),
Attribute('n_filt', default=0),
WeightAttribute('scale'),
WeightAttribute('bias'),
TypeAttribute('scale'),
TypeAttribute('bias'),
]
def initialize(self):
inp = self.get_input_variable()
shape = inp.shape
dims = inp.dim_names
self.add_output_variable(shape, dims)
gamma = self.model.get_weights_data(self.name, 'gamma')
beta = self.model.get_weights_data(self.name, 'beta')
mean = self.model.get_weights_data(self.name, 'moving_mean')
var = self.model.get_weights_data(self.name, 'moving_variance')
if self.get_attr('gamma_quantizer'):
gamma = self.get_attr('gamma_quantizer')(gamma)
beta = self.get_attr('beta_quantizer')(beta)
mean = self.get_attr('mean_quantizer')(mean)
var = self.get_attr('variance_quantizer')(var)
scale = gamma / np.sqrt(var + self.get_attr('epsilon'))
bias = beta - mean * scale
self.add_weights_variable(name='scale', var_name='s{index}', data=scale)
self.add_weights_variable(name='bias', var_name='b{index}', data=bias)
- Lingua principale
- Python
- Stelle
- 2.2k
- Fork
- 605
- Merge medio
- 7g 35m
- PR unite (30g)
- 19
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di fastmachinelearning/hls4ml
-
vitis:fifo_depth_optimization fails for models with more than one input or outputForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertabug good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
fastmachinelearning/hls4ml#1582 ·
I maintainer di solito rispondono entro 3 giorni
-
bug Stale
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
fastmachinelearning/hls4ml#771 · 1 commento ·
I maintainer di solito rispondono entro 3 giorni
-
error while converting onnx model to hlsForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Apertabug Stale
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
fastmachinelearning/hls4ml#686 · 2 commenti ·
I maintainer di solito rispondono entro 3 giorni
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
fastmachinelearning/hls4ml#630 ·
I maintainer di solito rispondono entro 3 giorni
-
Stale
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
fastmachinelearning/hls4ml#297 · 4 commenti ·
I maintainer di solito rispondono entro 3 giorni
Tutte le issue di fastmachinelearning/hls4ml
Issue simili
-
mermaid_extract.py silently discards single-line state-diagram notes; sequence notes are keptAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
cathrynlavery/diagram-design#441 ·
I maintainer di solito rispondono entro 2 giorni
-
[Cleanup] Include the public header in work_split.cppForse già presa @blozano-tt l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
tenstorrent/tt-metal#60850 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
backend::sglang bug language::python observability
Difficoltà 2/5 Mezza giornata Idoneità per principianti 65/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 75/100
OpenShot/openshot-qt#6202 ·
I maintainer di solito rispondono entro 1 giorno