Open brochero opened 1 year ago
Con respecto a tu error.... a mi me va bien. Podrias intentarlo de nuevo conectandote via login2
. Si sigue fallando, seguramente es un problema de acceso (para el grid
noi estas como CMS). Podrias abrir un ticket con el fallo. Para ello:
new ticket
con CMS
srun
que usas y el correspondiente error. En mi caso funciona sin problema:
[login1]:users/brochero$
srun --time=1:00:00 --ntasks 2 --nodes=1 --partition=cloudcms --mem-per-cpu=5G --pty /bin/sh -l
srun: job 1314680 queued and waiting for resources
srun: job 1314680 has been allocated resources
_ _ ___ ___ _
__ ___ __ __ _ _ __(_) __| |/ _ \ ( _ )/ |
\ \ /\ / / '_ \ / _` | '__| |/ _` | | | |/ _ \| |
\ V V /| | | | (_| | | | | (_| | |_| | (_) | |
\_/\_/ |_| |_|\__, |_| |_|\__,_|\___/ \___/|_|
|___/
[wngrid081]:users/brochero$
Permisos solucionados! ya logra crear el job
Se crean dos archivos en la ruta:
Se usa la misma arquitectura que en el caso con TMVA
Si, intenta:
root
------------------------------------------------------------------
| Welcome to ROOT 6.26/10 https://root.cern |
| (c) 1995-2021, The ROOT Team; conception: R. Brun, F. Rademakers |
| Built for linuxx8664gcc on Nov 16 2022, 10:42:54 |
| From tags/v6-26-10@v6-26-10 |
| With c++ (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0 |
| Try '.help', '.demo', '.license', '.credits', '.quit'/'.q' |
------------------------------------------------------------------
[0] TMVA::TMVAGui("TMVA_Keras.root")
In order to convert the weights file from Keras
to our standard TMVA
structure:
ClassificationKeras.py
file.From Conrado:
Lo he estado mirando. El problema es como le da las variables al training en la penúltima línea. Los X_train_val son los valores de las variables (mezclando señal y fondo), y los Y_train_val sería 1 si las variables son señal y 0 si son fondo. Pero nostros no tenemos así los datos organizados. Nosotros cargamos en un dataloader las branches para el tree de señal y las branches para el tree de fondo.
No sé como pasar de dataloader a esos numpy.arrays. Había pensado crearlos desde un inicio cuando hacemos los tress con señal y fondo, pero el numpy es de python y eso lo hacemos en c++. No sé si se pueden guardar matrices con root.
PD: usando la estructura de la red propuesta, y simplemente cambiando el training (la penúltima línea) por la forma con la que se entrena la red en el tutorial, el output vuelve a ser siempre 1. Además, siguiendo la forma de entrenar del tutorial, la última capa debe ser de dimensión 2, al tener señal y background como posibles respuestas. Digamos que la forma que propone Sergio devolvería un valor entre 0 y 1 indicando si es señal o fondo, y la forma del tutorial devolvería la probabilidad de que el evento señal y la de que sea fondo (en este caso son complementarias al haber solo dos categorías en la clasificación).
Novedades con el Keras. SOLUCIONADO. Ya puedo obtener las respuestas de la red entrenada, y son siempre diferentes de 1. El problema era con el archivo para el fondo de W. Como tengo dos redes, tenía dos funciones guess_digit, y entonces pensé en llamar a una guess_digit_Top y a la otra guess_digit_W. La del Top siempre fue bien, pero la del W, debe de haber algún problema con ese nombre en concreto, que no me devolvia más que 1 siempre, incluso poniendo en el archivo, en la parte del if (flag==0) return buffer_in[0]; poniendo if (flag==0) return 0.5; para comprobar si hacía lo que le pedía (aún así devolvía 1).
Ahora simplemente he llamado a la del Top igual que antes, pero la del W le he quitado el _W del nombre, y funciona. He obtenido una eficiencia para el Keras para todas las categorias juntas del 0.601556. Estoy corriendo ahora por categorías. Luego discutimos resultados.
Dale las gracias a Sergio de mi parte.
Any luck with this?
Now I can run the BDTValidation, but do you have an example of how the output should look like? Because I am running the following command:
./BDTNanoValidation.exe -i FNano2017-v7_TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8.files -o TestVal_1 -B DT ../TMVAClassification_BDT.weights.xml
and I am getting the following root file for both TMVA and Keras weights:
Keras
El tutorial que tienes que seguir es el:
https://root.cern.ch/doc/master/ClassificationKeras_8py.html
La estructura es similar. Simplemente cambia como adicionas las branches que quieres entrenar con el:
Para correr KERAS sin problema en
gridui
tienes que:login1
ologin2
Si se queja, sube a
--mem-per-cpu=10G
CMSSW_11_0_0/src
ClassificationKeras.py
(despues de borrar eltensorflow
del import)Nota Lo de borrar el
tensorflow
es cambiar (en todos los import):por