¿Cuáles son las buenas bibliotecas de código abierto en Python o R para los métodos de Tensor? ¿Su equipo mantiene alguna?

Existe la necesidad de un soporte de biblioteca más extenso para los tensores. Discutí esto en una de mis entrevistas anteriores aquí. Desde entonces, hemos lanzado algunos códigos para métodos tensoriales:

  • Código C ++ para factorización de tensor para modelado de temas.
  • Implementación en Spark para configuración distribuida.

Las bibliotecas de aprendizaje profundo como Tensorflow y Torch pueden manejar tensores, pero no están muy optimizadas para eso.

Por ejemplo, los tensores se tratan como matrices multidimensionales, que deben declararse. Pero esto rápidamente se vuelve inviable a medida que aumentamos la dimensionalidad. En muchas aplicaciones, como el método de los momentos, los tensores deben calcularse a partir de datos y no existen de antemano. En tales casos, calcular explícitamente los tensores es una mala estrategia. En cambio, necesitamos estrategias de reducción de dimensionalidad para hacer factible el cálculo. Implementamos uno de estos métodos conocido como blanqueamiento en nuestro código anterior. También hemos desarrollado otro método basado en bocetos, que puede mejorar aún más la eficiencia; mira aquí.

Otro problema que las bibliotecas de aprendizaje profundo no manejan es calcular las contracciones del tensor de manera eficiente sin transponer los datos. El acceso a los datos es costoso y tener operaciones en el lugar puede mejorar en gran medida la eficiencia. Para operaciones matriciales, estos problemas se manejan a través de primitivas BLAS. Extenderlos a tensores sería muy interesante.

También hay cajas de herramientas de matlab que pueden manejar cálculos de tensor a escalas pequeñas a moderadas:

  1. Laboratorio tensorial
  2. Caja de herramientas de tensor