El futuro de la programación


Muchas nuevas herramientas de IA serán capaces de escribir y depurar código de forma más rápida y eficiente que los humanos y a un coste menor. Si le preocupa la pérdida de puestos de trabajo y el fin de la profesión de programador, esperemos que no tenga razón , pues no estamos aqui para hacer predicciones catastrofistas, sino para intentar comprender la transcendencia de lo que la evolución de la tecnologia puede suponer , entre otras cosas porque dicen, que si no puedes contra tu enemigo, !Aliate con el! así que quizás sea el momento, querido lector, de explorar como podemos hacer nuestro aliada la IA ,puesto que las herramientas basadas en IA ya están listas para tomar el relevo, y las formas tradicionales de escribir código serán menos populares.

Según un estudio de OpenAI y la Universidad de Pensilvania, algunas profesiones corren el riesgo de verse afectadas por herramientas como ChatGPT. Según el estudio, aproximadamente el 80% de la mano de obra estadounidense podría ver afectado al menos el 10% de sus tareas laborales por la introducción de las GPT, mientras que alrededor del 19% de los trabajadores podría ver afectado al menos el 50% de sus tareas.

De hecho, las profesiones con mayor riesgo de verse afectadas por herramientas como ChatGPT por el momento no son profesionales que necesitan realizar labores artesanes, sino en realidad profesiones bien renumeradas por lo general con relativo alto nivel académico, como pueden ser:

  • Matemáticos.
  • Contables (calculadoras fiscales).
  • Analistas financieros cuantitativos.
  • Escritores y autores.
  • Diseñadores web y de interfaces digitales.
  • Taquígrafos judiciales.
  • Subtituladores simultáneos.
  • Correctores de redacción y estilo.

ChatGPT puede ser una herramienta valiosa para los programadores. Puede ayudar con tareas como añadir contenido de marcador de posición y contenido de relleno en varios formatos, generar algoritmos eficientes, traducir código a otro lenguaje de programación, formatear datos, optimizar bloques de código y escribir pruebas para el código.

Por ejemplo, ChatGPT puede generar contenido de relleno en SQL, JSON, CSV y docenas de formatos más. También puede crear matrices y listas en cualquier lenguaje de programación. Además, puede ayudar a los programadores a generar algoritmos eficientes diseñando un algoritmo con el menor número de operaciones para completar una función dada1.

¿Que puede hacer chatgbt por un programador?

En primer lugar, veamos todo lo que hacemos en nombre de la codificación, y luego veremos cómo todo ello se volverá irrelevante. Empecemos por el principio, porque cuando se esta aprendiendo a codificar en un lenguaje nos centramos en escribir código funcional , pero tal vez no hayamos aprendido a leerlo o entenderlo sobre todo cuando no lo hemos escrito nosotros. Y eso no es todo, a veces desde el esbozo al código final esta al tarea , ¿no?

Imagine que está en medio de un montón de trabajo, y quiere identificar rápidamente lo que hace esta función:

No se cargue: Lo único que hace esta función es:

  • Duplica una hoja de cálculo.
  • Lanza un error si no se guarda la hoja de cálculo original.
  • Añade «Copia de» al título de la nueva hoja de cálculo.
  • ¿Y ya está?

Bueno, hay una cosa más de la que puede que no se haya dado cuenta (¡buen trabajo si lo has hecho!) y es que esta función también cambia accidentalmente el título de la hoja de cálculo original. Errores como este ocurren todos los días.

La depuración es una habilidad infravalorada. Los programadores que son buenos depuradores trabajan más rápido, hacen más cosas y están menos estresados.

No se preocupe si no ha podido encontrar el error, ¡sólo significa que sacará el máximo partido a herramientas basadas en IA como chatGPT pues como se puede ver en la imagen el propio chatgbt ha encontrado el bug y nos da una forma de solucionar el problema!

Entendiendo el código ajeno

La mayoría de los desarrolladores trabajan en una base de código que normalmente no ha sido escrita por ellos. Es común que los desarrolladores empujen hacia fuera el código rápidamente que escribiendo limpio, código mantenible. Mientras tanto, a las pobres almas que vienen detrás de ellos les toca recoger los pedazos y tratar de dar sentido al desorden. Pasarían incontables horas intentando desenredar la retorcida telaraña de código, tratando de corregir errores y añadir nuevas funciones.Un ciclo interminable de frustración y desesperación.

Veamos un ejemplo de código escrito en C y la idea de cómo diablos alguien podría llegar a leer y entender este código (pero ya no).

En la vida real, es posible que no se encuentre con un código como este (si lo hace, vaya a buscar a la persona que lo escribió). Usar ChatGPT es mucho más rápido que intentar descifrar código enrevesado.

Imagínese cuánto más rápido se podría avanzar generando resúmenes de bases de código.

¿Qué más puede hacer ? Pues como vemos abajo podemos pedirle que mejore el código existente (o añadir funcionalidades)

¿Añadir funciones? Pues simplemente es cuestión de pedirlo:

Ahora que ha añadido algunas funciones y mejorado el código existente, decide ir un paso más allá y hacer que el código sea más legible.

El primer paso sería alinear el desorden de código existente con las convenciones de codificación, pues nuevamente es solo cuestión de pedírselo a chatgbt:

Además quien escribiera el código anterior venía de un entorno C y no puso interés en ser declarativo, así que es hora de corregirlo, ¿no?

Si sigue sin estar satisfecho, sobre todo después de descubrir que algunas partes del código son excesivamente complicadas, también podemos pedirle a chatgbt que simplifique esas partes del código :

Bueno ¿ y su hablamos del código nuevo? Quizás no este seguro de si el código que ha escrito duramente sea realmente eficaz..asi ¿Por qué no preguntárselo a chatgbt?.

Quizás no haya tenido tiempo para documentar el código así que ¿porque no pedirle a chatgbt que documente el código?.

Y para terminar , hay que asegurarse de que el código no sólo funcione, sino que funcione bien por lo que ante cualquier problema podemos pedirle a la IA que nos genere el código autoamticaemente con el lenguaje o tecnologia que deseemos

Y por cierto amigo lector , si es un entusiasta de Arduino sepa que también chatgbt puede generar todo el código que necesite automáticamente según los requisitos de la aplicación que tenga en mente. Por ejemplo pidamos a chat gbt que no cree el código para esp32 con el que hacer una carrera de luces de 8 leds (como las que llevaba el coche fantástico).

Esta es su repuesta:

Para hacer una carrera de luces de 8 LEDs con un ESP32, puedes utilizar el siguiente código:

C++Copy code// Incluye la librería de ESP32
#include <Arduino.h>

// Define las conexiones de los LEDS
#define LED1_PIN 2
#define LED2_PIN 4
#define LED3_PIN 5
#define LED4_PIN 12
#define LED5_PIN 13
#define LED6_PIN 14
#define LED7_PIN 15
#define LED8_PIN 16

// Define el tiempo de espera entre cada cambio de LED
#define DELAY_TIME 100

// Define la secuencia de encendido de los LEDs
int led_sequence[] = {LED1_PIN, LED2_PIN, LED3_PIN, LED4_PIN, LED5_PIN, LED6_PIN, LED7_PIN, LED8_PIN};

// Define el número de LEDs
int led_count = sizeof(led_sequence) / sizeof(int);

void setup() {
  // Configura los pines de los LEDS como salidas
  pinMode(LED1_PIN, OUTPUT);
  pinMode(LED2_PIN, OUTPUT);
  pinMode(LED3_PIN, OUTPUT);
  pinMode(LED4_PIN, OUTPUT);
  pinMode(LED5_PIN, OUTPUT);
  pinMode(LED6_PIN, OUTPUT);
  pinMode(LED7_PIN, OUTPUT);
  pinMode(LED8_PIN, OUTPUT);
}

void loop() {
  // Recorre la secuencia de encendido de los LEDS
  for (int i = 0; i < led_count; i++) {
    // Enciende el LED correspondiente
    digitalWrite(led_sequence[i], HIGH);
    // Espera un tiempo
    delay(DELAY_TIME);
    // Apaga el LED correspondiente
    digitalWrite(led_sequence[i], LOW);
  }
}

Este código configura los pines de los 8 LEDs como salidas, define una secuencia de encendido para los LEDs y luego recorre esta secuencia, encendiendo y apagando los LEDs en orden. También hay un tiempo de espera entre cada cambio de LED para que se vea la «carrera» de luces. Puedes ajustar el tiempo de espera cambiando el valor de DELAY_TIME.

Ideas finales

Nos guste o no, con herramientas como chatGPT, escribir código y los que sólo saben escribir código no servirán de nada. Sin embargo, al igual que los artesanos fueron capaces de adaptarse y aprender nuevas habilidades para seguir siendo competitivos, los programadores podrán hacer lo mismo aprendiendo más sobre cómo utilizar estas herramientas en su beneficio. Una vez que escribir código quede obsoleto, los solucionadores de problemas serán más valiosos. Los programadores del futuro serán mucho más productivos que los actuales, capaces de hazañas con las que sólo podemos soñar. Es fantástico que las tecnologías que utilizamos sean cada vez más inteligentes. Las herramientas que utilizamos están evolucionando a una velocidad de vértigo, asi que es hora de que también evolucionemos. Sí. Adaptarse a nuevas formas es doloroso, pero sólo los vivos pueden sentir el dolor – Los muertos ni siquiera sienten el fuego crematorio.

Fuente https://javascript.plainenglish.io/coding-wont-exist-in-5-years-this-is-why-6da748ba676c

Anuncio publicitario

Smarthand


En el impulso por desarrollar sistemas robóticos que puedan sentir e interactuar con su entorno, se han realizado enormes inversiones en visión artificial. Hemos visto los frutos de estas inversiones en una amplia gama de aplicaciones, desde automóviles autónomos hasta la automatización de robots industriales. Si bien estos esfuerzos han tenido mucho éxito, los sensores ópticos no son la solución ideal para todos los casos de uso. Las tareas de manipulación de objetos, por ejemplo, suelen requerir información táctil para manipular con precisión y seguridad los objetos de interés. Puede imaginar un enfoque híbrido en el que los métodos de visión por computadora localicen el objeto y dirijan un robot a la posición correcta. A partir de ahí, los sensores táctiles dentro de una mano robótica brindan información sobre la fragilidad o robustez del objeto y ayudan a crear un plan para llevar a cabo las intenciones del robot.

En comparación con la visión por computadora, se ha dedicado mucha menos atención al desarrollo de sensores táctiles, lo que los hace generalmente menos sofisticados que sus contrapartes ópticas. Esto ha dificultado el desarrollo de robots que sean capaces de generar una comprensión de alta resolución de su entorno mediante la integración de datos de múltiples tipos de sensores.

 En un esfuerzo por comenzar a abordar las deficiencias en la tecnología de detección táctil actual, un equipo de ingenieros de ETH Zürich ha desarrollado un dispositivo que llaman SmartHand .

 SmartHand es un sistema integrado de hardware y software creado para recopilar y procesar información táctil de alta resolución de una matriz de sensores múltiples en forma de mano en tiempo real.

System architecture (📷: X. Wang et al.)

Arquitectura del sistema (📷: X. Wang et al.)

El dispositivo SmartHand utiliza una rejilla sensora táctil resistiva de bajo costo, basada en un compuesto de polímero conductor, que se pega a un guante. Se adjunta una unidad de medición inercial (IMU) en la parte posterior del guante para proporcionar información adicional sobre el movimiento. Los datos de los 1024 sensores táctiles (dispuestos en una cuadrícula de 32 por 32) y la IMU se introducen en una placa de descubrimiento STM32F769NI conectada a la muñeca a través de una serie de cables. Esta placa contiene un núcleo Arm Cortex-M7 que funciona a 216 MHz, con 2 MB de memoria flash y 532 kB de RAM.

Para demostrar SmartHand, los investigadores querían poder detectar qué tipo de objeto sostenía la mano. Para ello, se creó y entrenó una red neuronal convolucional, basada en la arquitectura ResNet-18, para reconocer la relación entre los datos de los sensores y un conjunto de dieciséis objetos cotidianos. Se creó un conjunto de datos usando el dispositivo físico para que sirviera como datos de entrenamiento para el modelo. Recopilando mediciones a 100 cuadros por segundo (13,7 veces más rápido que el trabajo anterior), se generó un conjunto de datos táctiles que consta de 340.000 cuadros.

The sensor grid (📷: X. Wang et al.)

La red de sensores (📷: X. Wang et al.)

Al validar la red neuronal, se encontró que el modelo requiere un orden de magnitud menos de memoria y 15,6 veces menos cálculos, en comparación con los dispositivos actuales. Esto se logró manteniendo la red neuronal lo más compacta posible, sin sacrificar la precisión de las predicciones. Hablando de predicciones, se encontró que la precisión de clasificación top 1 del modelo alcanzó el 98,86% en el reconocimiento de objetos. Al mantener el procesamiento en el límite, el tiempo de inferencia se mantuvo en unos muy razonables 100 milisegundos.

Se observó que, debido a las propiedades inherentes de los materiales que componen la rejilla del sensor táctil, habrá cierto nivel de degradación con el uso repetido. Los primeros indicios sugieren que la degradación puede estabilizarse, lo que permitiría recalibrar el diseño actual después de un período de rodaje inicial sin ningún otro cambio. Actualmente están evaluando si este es el caso, o si la degradación del sensor continúa más allá de la meseta aparente, lo que requeriría más cambios de diseño antes de que sea posible el uso del dispositivo en el mundo real.

El equipo prevé que las técnicas de SmartHand se utilicen en futuras aplicaciones robóticas y protésicas de manos. Con un poco más de esfuerzo, este trabajo puede acercarnos a un mundo en el que los robots no parecen tan robóticos.

Fuente hackester.io

La desagregación busca ganar una parte del pastel de la eficiencia energética.


El mercado de la gestión de la energía en el hogar ha hecho muchas promesas, pero todavía tiene que ofrecer una visión profunda y reducciones significativas en el uso de energía en el hogar.

Microsoft intentó y fracasó con la plataforma de energía Hohm. Por su parte Google.org probó con el famos paquete de energía para el hogar PowerMeter, solo para luego abandonar el esfuerzo en su famosa primavera de limpieza para adquirir la marca de termostato Nest en su lugar.

 Las empresas de administración de energía centradas en hardware, como Tendril, EnergyHub y Onzo, han tenido que hacer cambios drásticos en la estrategia de productos y canales para mantenerse en la búsqueda del cliente. Encontrar un plan de negocios rentable que navegue por los ciclos de gasto de los servicios públicos, los cambios regulatorios y el comportamiento de los clientes de energía ha resultado ser un desafío.

Nest ha trasladado la tecnología de termostatos al año 2008, mientras que Opower, con destino a la oferta pública inicial, ahorra a los clientes de servicios públicos residenciales un promedio de 1,5 a 2,5 por ciento en su factura de electricidad. 

Pero «se acerca el tren de la desagregación», según el director general de Bidgely, Abhay Gupta. La desagregación podría ahorrarle al cliente dinero real y cantidades significativas de energía, cambiar la relación de la empresa de servicios públicos con su cliente e impulsar el mercado de administración de energía para el hogar.

Photo by Constantine Kim on Pexels.com

Datos de energía a nivel de electrodomésticos de Bidgely

El director ejecutivo de Bidgely afirma que su software de «reconocimiento de patrones profundos» puede brindar datos de consumo de energía a nivel de electrodomésticos, utilizando únicamente la señal del medidor inteligente de una casa.

Segun el CEO de Bidgely, Abhay Gupta, se debería mover la retroalimentación de energía de «un nivel de motivación como Opower a un nivel de empoderamiento.

Con datos de Green Button o AMI a intervalos de una hora, Bidgely puede identificar y detectar cargas de calefacción, refrigeración y bombas, así como energía solar en el techo. Los datos de la red de área doméstica del medidor inteligente pueden brindar suficiente información para identificar electrodomésticos adicionales, como calentadores de agua, estufas, secadoras, bañeras de hidromasaje o vehículos eléctricos.

El CEO dijo que «los servicios públicos nos están empujando hacia nuevos usos». Dio un ejemplo de un programa de bomba de piscina de servicios públicos donde Bidgely realiza la medición y verificación de los dispositivos. También sugirió que la empresa de servicios públicos podría identificar las casas en un territorio que tenía bombas de piscina ineficientes.

La empresa financiada por Khosla Ventures obtiene acceso a los datos de uso no de los sensores de nivel de enchufe, sino a través de grandes conjuntos de datos y análisis inteligentes (aunque se asocia con proveedores de hardware como Blue Line Innovations ). Si Bidgely realmente puede analizar los dispositivos individuales del flujo de datos, los consumidores realmente pueden comenzar a comprender su uso y comenzar a tomar decisiones energéticas más significativas. Las empresas de servicios públicos pueden segmentar el mercado como nunca antes. ¿La empresa de servicios públicos necesita apuntar a 1,500 hogares con bombas para piscinas para un programa de eficiencia energética? Bidgely podría identificar potencialmente a esos propietarios de bombas de piscina.

La firma ha trabajado con cinco empresas de servicios públicos no identificadas, y otras ahora están evaluando el software, que ofrece participación del cliente, gestión del lado de la demanda e inteligencia empresarial.

Preston Roper, director de marketing de la empresa, enfatizó el extremo de ventas del negocio y la necesidad de simplificar el despliegue de una solución de extremo a extremo para una empresa de servicios públicos. Roper describió que la empresa se encuentra en la etapa de comercialización y venta agresiva. Dijo que tiene «vendedores hambrientos y clientes hambrientos que quieren hacer más con los datos«. (Cabe destacar que Opower gastó 30,5 millones de dólares en ventas y marketing en 2013, su mayor gasto, justo por delante de I+D, según su S-1).

«Opower ha hecho un trabajo fantástico en eficiencia energética a través de las ciencias del comportamiento», dijo el CEO de Bidgely. Agregó que Opower había «abierto baldes de dólares y abrió el canal, pero lo estamos llevando al siguiente nivel».

PlotWatt desagrega en Wendy’s, KFC y Dunkin’ Donuts

PlotWatt tiene su propio giro en el software de desagregación basado en la nube. El director ejecutivo de la startup, Luke Fishback, le dijo a GTM que «la desagregación en sí misma es menos interesante que el tipo de inteligencia que podemos ofrecer en función de la desagregación».

«Una factura de electricidad detallada está bien, pero en nuestra experiencia, no es [suficiente]. Lo que realmente perturba al sector es toda la inteligencia genial y procesable que se puede derivar de los datos».

En teoría, los datos de un medidor inteligente o de un conjunto de datos de Green Button tienen el potencial de indicar si hay un segundo refrigerador ineficiente en el garaje o una bomba de piscina deshonesta que consume energía por la tarde, o detectar si un restaurante no está abierto. el congelador está a punto de fallar.

El director ejecutivo de PlotWatt nos dijo que la empresa «ya está generando un nivel increíble de ahorros» con «un nivel de compromiso» mucho más allá del estado de cuenta mensual de kilovatios-hora.

Según Fishback, «Opower ha hecho un trabajo brillante al abordar los puntos débiles de las empresas de servicios públicos». Pero mientras que Opower puede obtener ahorros del 2 por ciento, Fishback sugiere que la tecnología de su empresa puede acercarse a niveles de ahorro del 10 al 15 por ciento. Dijo: «No se ven muchos programas que brinden el nivel de eficiencia energética que nosotros podemos. Tal vez el 2 por ciento es la forma en que se incentivan de manera óptima las empresas de servicios públicos. No se les incentiva para brindar ahorros del 5 por ciento o del 10 por ciento».

Si bien Bidgely se enfoca en los servicios públicos, Fishback de PlotWatt habló de ir donde estaban los datos, y en una de las estrategias de mercado de la empresa, PlotWatt descubrió que los franquiciados de las cadenas de comida rápida Wendy’s, KFC y Dunkin’ Donuts son clientes entusiastas, dada la El ROI de un año reclamado por el producto y más del 10 por ciento de ahorro de electricidad. El servicio de suscripción que ofrece PlotWatt puede reducir las facturas, detectar electrodomésticos averiados y averiados, y proporcionar inteligencia comercial, como si una ubicación en particular cierra antes de tiempo o si las entregas se retrasan. PlotWatt utiliza hardware en la caja de interruptores como registrador de datos. No hay participación de las empresas de servicios públicos, según el CEO.

El CEO enfatizó que no son los datos sin procesar los que ahorran un 14 por ciento de electricidad en la ubicación de Wendy’s: es el correo electrónico enviado al gerente de la tienda que le notifica que el horno se dejó encendido a la hora de cerrar o que una cámara frigorífica está a punto de abrirse. fallar.

La estrategia de mercado de PlotWatt se dirige a cualquier nodo donde se agreguen datos de redes inteligentes. Entonces, además de los restaurantes, la empresa se enfoca en flujos de datos residenciales y de servicios públicos.

El CEO dijo que la parte residencial de este mercado es el «gigante dormido» y agregó: «Queremos construir un negocio para que cuando el gigante despierte o cuando sea provocado, estemos listos».

El líder del mercado Opower no se queda quieto

Opower, que domina el mercado, y su motor de participación del cliente con destino a la oferta pública inicial es una historia de éxito de una startup. La compañía de software financiada por VC creó un nuevo mercado con una inclinación de TI y escaló a lo grande y rápido.

Opower buscaba recaudar $110 millones a través de una oferta pública inicial. Como informó Stephen Lacey de GTM, los ingresos de Opower crecieron de $28,7 millones en 2011 a $88,7 millones en 2013. Más del 90 por ciento de sus ingresos en 2013 provinieron de suscripciones con los 93 clientes de servicios públicos de Opower. 

Lacey señala que los ciclos de ventas de Opower van desde tan solo seis meses hasta veinticuatro meses. Muchos de los clientes más importantes de Opower verán expirar sus contratos en 2014 o 2015. Opower identifica a sus competidores como Aclara, C3 Energy, Nest Labs, Oracle, SAP y Tendril, «así como muchos otros proveedores más pequeños». La firma tiene sus propias patentes sobre la desagregación de datos de carga.  

Opower sigue siendo la fuerza a tener en cuenta y probablemente insistiría en que este «Opower 2.0» del que sigo escuchando provendrá del mismo Opower.

Un negocio impulsado por programas de eficiencia de servicios públicos

Los contratos y los ingresos que obtiene Opower y que son el objetivo de Bidgely, PlotWatt y el resto de la industria de eficiencia energética generalmente provienen de programas de respuesta a la demanda o eficiencia energética de servicios públicos exigidos por la PUC de un estado. Estos programas brindan incentivos significativos para las reducciones en el consumo anual de energía, además de imponer sanciones por incumplimiento.

Los programas de eficiencia energética de las empresas de servicios públicos financiados por los contribuyentes se han más que duplicado entre 2006 y 2010 a $ 4.8 mil millones, y se espera que los programas se dupliquen nuevamente para 2025, según un estudio del Laboratorio Nacional Lawrence Berkeley.

Photo by Alex Azabache on Pexels.com

Comportamiento humano

Jeff St. John informó sobre los hallazgos de un estudio de EPRI que analizó cómo las tecnologías de desagregación de energía pueden producir niveles de precisión muy diferentes.  

«Comprender la parte del comportamiento humano y la ciencia humana es tan importante, si no más importante» que los desafíos técnicos involucrados en el desglose de energía, dijo Peter Porteous de Blue Line Innovations en el informe de St. John. «Las empresas que serán exitosos serán los que tengan ambos.”

“Creo que la credibilidad triunfa sobre la precisión” cuando se trata de datos detallados de desglose de viviendas, dijo Porteous. “Lo que quiero decir con eso es que si esta es tu casa, y estás conectado, y de repente los datos regresan y te dicen que estás gastando $10 al mes en un jacuzzi, y tú… Si no tienes un jacuzzi, bueno, nunca volverás a mirar los datos”. Esa comprensión fundamental de la naturaleza humana es la razón por la cual Bidgely o PlotWatt adoptan un «enfoque conservador y muy reacio al riesgo para revelar el uso».

Eso no solo es valioso para los propietarios de viviendas, señaló. “La respuesta de las empresas de servicios públicos, cuando ven que ahora pueden tener acceso a estos datos, realmente cambia las reglas del juego”, dijo. “Esa es su principal frustración: no tienen idea de lo que hacen sus clientes dentro de la casa y dedican grandes cantidades de investigación a tratar de averiguarlo”.

Opower ha tenido una gran ventaja y pronto tendrá acceso a capital público. Los programas de la empresa permiten que las empresas de servicios públicos cumplan con los mandatos de eficiencia sin amenazar el sustento de la empresa de servicios públicos. Como sugirió el director ejecutivo de PlotWatt, «tal vez el 2 por ciento es la forma óptima de incentivar a las empresas de servicios públicos», y un ahorro del 15 por ciento puede ser demasiado perturbador para alentarlo en este momento.

En cualquier caso, esté atento a la convergencia de la ciencia del comportamiento de Opower con la tecnología de los desagregadores en los próximos años. Si el genio de la desagregación es real, no se puede volver a poner en la botella.

Fuente https://www.greentechmedia.com/articles/read/Can-Bidgely-or-PlotWatt-Compte-With-Opower-in-Home-Energy-Engagement

¿Que significa MLE?


Las siglas MLE corresponden al algoritmo de estimación de máxima verosimilitud y se usa por ejemplo para la desagregación de energía.

Es responsable cuando se desea un solo aparato desagregado en lugar de desagregar muchos. Además, el aparato debe ser mayoritariamente resistivo para lograr precisión.

Se basa en eventos emparejados:

- OnPower: valor delta cuando el aparato está encendido. 
- OffPOwer: valor delta cuando el aparato está apagado. 
- Duración: duración entre encendido y apagado.

Además, para descartar muchos eventos poco probables, se establecen tres restricciones:

- PowerNoise: valor delta mínimo por debajo del cual el delta se considera ruido. 
- PowerPair: diferencia máxima entre OnPower y OffPower (considerando electrodomésticos con consumo de energía constante).
 - timeWindow: marco de tiempo máximo entre Onpower y Offpower.

Las características antes mencionadas se modelan con gaussianas, mezclas gaussianas o Poisson. Para cada evento emparejado entrante, el algoritmo extraerá estas tres características y evaluará la probabilidad de máxima verosimilitud de que ese evento emparejado sea un dispositivo determinado.

IMPORTACIONES

import numpy as np
import pandas as pd
from os.path import join
from pylab import rcParams
import matplotlib.pyplot as plt
%matplotlib inline
rcParams['figure.figsize'] = (13, 6)
#plt.style.use('ggplot')
from datetime import datetime as datetime2
from datetime import timedelta

import nilmtk
from nilmtk.disaggregate.maximum_likelihood_estimation import MLE
from nilmtk import DataSet, TimeFrame, MeterGroup, HDFDataStore
from scipy.stats import poisson, norm
from sklearn import mixture
import warnings
warnings.filterwarnings("ignore")

Funciones

def get_all_appliances(appliance):

    # Filtering by appliances: 
    print "Fetching " + appliance + " over data loaded to nilmtk."
    metergroup = nilmtk.global_meter_group.select_using_appliances(type=appliance)
    
    if len(metergroup.appliances) == 0: 
        print "None " + appliance + " found on memory."
        pass

    # Selecting only single meters: 
    print "Filtering to get one meter for each " + appliance

    meters = [meter for meter in metergroup.meters if (len(meter.appliances) == 1)]
    metergroup = MeterGroup(meters)
    print metergroup
    print "Found " + str(len(metergroup.meters)) + " " + appliance

    return metergroup


def get_all_trainings(appliance, train):

    # Filtering by appliances: 
    print "Fetching " + appliance + " over data train data."
    elecs = []
    for building in train.buildings: 
        print "Building " + str(building) + "..."
        elec = train.buildings[building].elec[appliance]
        if len(elec.appliances) == 1: 
            print elec
            print "Fetched elec."
            elecs.append(elec)

        else: 
            print elec
            print "Groundtruth does not exist. Many appliances or None"

    metergroup = MeterGroup(elecs)

    return metergroup

Cargando datos

path = '../../../nilmtk/data/ukdale'
ukdale = train = DataSet(join(path, 'ukdale.h5'))

Y dividir en datos de prueba y de entrenaminento

In [8]:train = DataSet(join(path, 'ukdale.h5'))
test = DataSet(join(path, 'ukdale.h5'))
train.set_window(end="17-5-2013")
test.set_window(start="17-5-2013")
#zoom.set_window(start="17-5-2013")
print('loaded ' + str(len(ukdale.buildings)) + ' buildings')

loaded 5 buildings

Obteniendo los datos de entrenamiento

Es posible que el dispositivo seleccionado no esté entrenado desde ElecMeters donde se presentan otros dispositivos, ya que podemos extraer la verdad básica

# Appliance to disaggregate: 
applianceName = 'kettle'
# Groundtruth from the training data: 
metergroup = get_all_trainings(applianceName,train)

Fetching kettle over data train data.
Building 1...
ElecMeter(instance=10, building=1, dataset='UK-DALE', appliances=[Appliance(type='kettle', instance=1), Appliance(type='food processor', instance=1), Appliance(type='toasted sandwich maker', instance=1)])
Groundtruth does not exist. Many appliances or None
Building 2...
ElecMeter(instance=8, building=2, dataset='UK-DALE', appliances=[Appliance(type='kettle', instance=1)])
Fetched elec.
Building 3...
ElecMeter(instance=2, building=3, dataset='UK-DALE', appliances=[Appliance(type='kettle', instance=1)])
Fetched elec.
Building 4...
ElecMeter(instance=3, building=4, dataset='UK-DALE', appliances=[Appliance(type='kettle', instance=1), Appliance(type='radio', instance=1)])
Groundtruth does not exist. Many appliances or None
Building 5...
ElecMeter(instance=18, building=5, dataset='UK-DALE', appliances=[Appliance(type='kettle', instance=1)])
Fetched elec.

Algoritmo MLE

Capacitación

Primero, creamos el modelo

mle = MLE()

Luego, actualizamos el parámetro del modelo con algunos valores de adivinación.

Primero adivine las características: mezclas gaussianas de encendido y apagado y poisson de duración.

# setting parameters in the model: 
mle.update(appliance=applianceName, resistive=True, units=('power','active'), thDelta= 1500, thLikelihood= 1e-10, powerNoise= 50, powerPair= 100, timeWindow= 400, sample_period= '10S', sampling_method='first')

# Settings the features parameters by guessing:  
mle.onpower = {'name':'gmm', 'model': mixture.GMM(n_components=2)}
mle.offpower = {'name':'gmm', 'model': mixture.GMM(n_components=2)}
mle.duration = {'name':'poisson', 'model': poisson(0)}

Updating model
{'resistive': True, 'appliance': 'kettle', 'sampling_method': 'first', 'sample_period': '10S', 'thLikelihood': 1e-10, 'timeWindow': 400, 'units': ('power', 'active'), 'thDelta': 1500, 'powerNoise': 50, 'powerPair': 100}

Entrenando el modelo

Entrenamos el modelo con todas las ocurrencias de ese modelo de dispositivo que se encuentran en los datos de entrenamiento.

mle.train(metergroup)

('kettle', 1)
Training on chunk
Samples of onpower: 214
Samples of offpower: 214
Samples of duration: 214
Training onpower
Training offpower
Training duration
('kettle', 2)
Training on chunk
Samples of onpower: 92
Samples of offpower: 92
Samples of duration: 92
Training onpower
Training offpower
Training duration
('kettle', 3)
Chunk empty

Y luego visualizamos características con featureHist_colors () para ver la distribución y cuántas muestras tenemos para cada dispositivo (el mismo modelo de diferentes casas).

mle.featuresHist_colors()


A veces, tenemos más eventos de algunas casas que de otras, como vemos en la figura de arriba. Por lo tanto, necesitamos recortar información para mantener el mismo número de muestras para cada casa.

mle.no_overfitting()

Retraining onpower
Retraining offpower
Retraining duration

In [15]:mle.featuresHist_colors()


Hay otra herramienta de visualización para ver cómo se ajustan las distribuciones del modelo a los datos:

mle.featuresHist()


Onpower y Offpower parecen encajar bien con los datos, pero necesitamos cambiar el modelo por duración

mle.duration = {'name':'gmm', 'model': mixture.GMM(n_components=10)}

Y luego volvemos a entrenar el modelo y usamos no_overfitting

mle.train(metergroup)
mle.no_overfitting()
mle.featuresHist()

('kettle', 1)
Training on chunk
Samples of onpower: 214
Samples of offpower: 214
Samples of duration: 214
Training onpower
Training offpower
Training duration
('kettle', 2)
Training on chunk
Samples of onpower: 92
Samples of offpower: 92
Samples of duration: 92
Training onpower
Training offpower
Training duration
('kettle', 3)
Chunk empty
Retraining onpower
Retraining offpower
Retraining duration

Una vez que tengamos la distribución del modelo final para cada característica. Necesitamos la integridad de cada distribución. Cada CDF debe estar delimitado por uno.

mle.check_cdfIntegrity(step=10)

Onpower cdf: 0.986177684776
Offpower cdf: 1.0
Duration cdf: 0.987375070732

Desagregación

# Building to disaggregate: 
building = 2
mains = test.buildings[building].elec.mains()

# File to store the disaggregation
filename= '/home/energos/Escritorio/ukdale-disag-ml.h5'
output = HDFDataStore(filename, 'w')

El siguiente paso tomará unos minutos.

mle.disaggregate(mains, output)

25656 events found.
12419 onEvents found
4244 onEvents no paired.
1 chunks disaggregated

También recibimos cierta información, como el número total de eventos, el número de eventos de encendido, el número de eventos que no se han emparejado y los fragmentos desglosados.

Comparando la desagregación con la verdad básica

## Groundtruth
kettle = test.buildings[building].elec.select_using_appliances(type=applianceName)
output.load(mains.key).next().plot()
kettle.plot()
output.close()

Conjuntos de datos públicos para NIALM


Es esencial utilizar datos del mundo real al comparar el rendimiento de las técnicas NIALM. Sin embargo, estos conjuntos de datos requieren mucho tiempo, son costosos y, a menudo, son incómodos de recopilar. Con este fin, los investigadores han comenzado a publicar sus conjuntos de datos, lo que permite a otros investigadores comparar sus enfoques con puntos de referencia comunes.

Photo by Constantine Kim on Pexels.com

 A continuación vamos a mostrar algunas descripciones breves de los conjuntos de datos ( DataSets) :

Conjunto de datos de almanaque de energía mínima (AMPds)

Stephen Makonin lanzó la primera versión del  conjunto de datos Almanac of Minutely Power . El conjunto de datos contiene lecturas de medidor agregadas de 1 minuto, así como lecturas submedidas de 19 circuitos individuales. Cada lectura incluye medidas de voltaje, corriente, frecuencia, factor de potencia, potencia real, potencia reactiva y potencia aparente. Además, el consumo total de gas y agua también se midió a intervalos de 1 minuto, además de 1 uso individual para cada servicio. El conjunto de datos abarca un año completo desde abril de 2012 hasta marzo de 2013 de un solo hogar en el área metropolitana de Vancouver, BC, Canadá.

El conjunto de datos está disponible para cualquier persona de forma gratuita, aunque los autores requieren que se solicite un nombre de usuario y una contraseña para realizar un seguimiento del uso.

Conjunto de datos de desagregación energética de Berkeley (BERDS)

La Universidad de California, Berkley, ha publicado datos de electricidad recopilados del Cory Hall en el campus de UC Berkeley. El conjunto de datos contiene datos recopilados de 4 categorías de cargas submedidas: iluminación, HVAC, receptáculo (enchufes) y otros, para los cuales hay muchas fuentes disponibles para cada categoría de carga.

 El conjunto de datos contiene mediciones de potencia activa, reactiva y aparente que se recopilaron a intervalos de 20 segundos. Los datos están disponibles de forma gratuita a través  del sitio web de Mehdi Maasoumy , y un  documento que  describe brevemente el conjunto de datos apareció en el  taller Big Learning en NIPS 2013 .

Un conjunto de datos de entorno de oficina a nivel de edificio de electrodomésticos típicos (BLOND)

Thomas Kriechbaumer y Hans-Arno Jacobsen de la Universidad Técnica de Munich (TUM) lanzaron recientemente el conjunto de datos BLOND, que contiene lecturas de voltaje y corriente para circuitos agregados y datos de verdad de tierra totalmente etiquetados (mediciones de aparatos individuales). El estudio cubre 53 aparatos (16 clases) en una red eléctrica trifásica en Alemania.

 Los autores han publicado dos versiones del conjunto de datos: 1) BLOND-50 contiene 213 días de mediciones muestreadas a 50 kHz (agregado) y 6.4 kHz (aparatos individuales), 2) BLOND-250 consta de la misma configuración: 50 días, 250 kHz (agregado), 50 kHz (aparatos individuales). El conjunto de datos también se describe con más detalle en el artículo de Datos científicos .

Conjunto de datos de desagregación de electricidad completamente etiquetado a nivel de edificio (BLUED)

El conjunto de datos BLUED contiene datos a nivel de hogar de alta frecuencia (12 kHz) de un solo hogar de EE. UU. Durante un período de aproximadamente 8 días. El conjunto de datos también contiene una lista de eventos de cada vez que un electrodoméstico dentro del hogar cambia de estado (por ejemplo, se enciende el microondas). 

Este conjunto de datos se recopiló principalmente para la evaluación de métodos NIALM basados ​​en eventos.  Los autores también tienen acceso protegido con contraseña al conjunto de datos para realizar un seguimiento de su uso.

Conjunto de datos de biblioteca de cargas controladas de encendido / apagado (COOLL)

El conjunto de datos COOLL fue publicado por investigadores del laboratorio PRISME de la Universidad de Orleans, que contiene alta frecuencia de 12 tipos diferentes de aparatos. De manera similar a los conjuntos de datos de tracebase y PLAID, se midieron varias instancias de cada tipo, y cada instancia se midió a lo largo de 20 operaciones. Durante cada operación controlada, se recopilaron datos de corriente y voltaje a una frecuencia de muestreo de 100 kHz. El conjunto de datos se resume en un  artículo académico y se puede  descargar de github  después de completar un formulario de registro.

Base de datos de  puerto de datos (anteriormente WikiEnergy)

Pecan Street Inc  ha publicado una gran cantidad de datos de electricidad doméstica a través de la  iniciativa Dataport.Al  momento de escribir este artículo, los datos contienen datos de 669 hogares, en los que tanto la demanda de energía agregada de los hogares como las demandas de energía de los electrodomésticos individuales se monitorean en intervalos de 1 minuto. Las instalaciones comenzaron en enero de 2011 y todavía se están recopilando datos para la mayoría de los edificios. 

Los datos están disponibles gratuitamente para los miembros de la Universidad de la comunidad WikiEnergy, y los detalles completos para el acceso a la base de datos se pueden encontrar en la  página de inicio de Dataport .

Conjunto de datos de demanda de electricidad doméstica de electrodomésticos individuales en Alemania (DEDDIAG)

Marc Wenninger, Andreas Maier y Jochen Schmidt han lanzado  DEDDIAG , un conjunto de datos de demanda de electricidad doméstica de electrodomésticos individuales en Alemania. El conjunto de datos contiene grabaciones de 15 hogares durante un período de hasta 3,5 años, en los que se han registrado 50 aparatos a una frecuencia de 1 Hz. El conjunto de datos se centra en electrodomésticos de importancia para fines de cambio de carga, como lavavajillas, lavadoras y refrigeradores. Una casa también incluye lecturas de red trifásica que se pueden utilizar para tareas de desagregación.

Además, DEDDIAG contiene anotaciones manuales de eventos de verdad en tierra para 14 dispositivos, que proporcionan marcas de tiempo precisas de inicio y parada. Los autores también han publicado el  código fuente del sistema de recopilación de datos., así como una  herramienta de línea de comandos de Python  para cargar los datos.

Conjunto de datos de energía residencial holandés (DRED)

La Universidad Tecnológica de Delft (TUDelft) ha publicado un conjunto de datos DRED, que contiene información sobre el consumo de energía tanto a nivel de la casa como del electrodoméstico. El despliegue en vivo consta de varios sensores que miden la electricidad, la ocupación de los ocupantes y los parámetros ambientales en un hogar.

 El conjunto de datos DRED incluye datos de electricidad (consumo de energía agregado y consumo de energía a nivel del aparato), información ambiental (temperatura interior a nivel de la habitación, temperatura exterior, parámetros ambientales), información de ocupación (información de ubicación de los ocupantes a nivel de la habitación, información de WiFi y BT RSSI para localización) e información del hogar (diseño de la casa, número de electrodomésticos monitoreados, mapeo de ubicación de electrodomésticos, etc.).

 El conjunto de datos está disponible públicamente y se puede obtener en el  sitio web de DRED..

Conjunto de datos de consumo y ocupación de electricidad (ECO)

El conjunto de datos ECO es un conjunto de datos para el monitoreo de carga no intrusivo y la investigación de detección de ocupación. Se recogió en 6 hogares suizos durante un período de 8 meses. Para cada uno de los hogares, el conjunto de datos ECO proporciona datos de consumo agregado de 1 Hz (corriente, voltaje y cambio de fase para cada una de las tres fases en el hogar) y también datos de nivel de enchufe de 1 Hz medidos de electrodomésticos seleccionados. 

Además, el conjunto de datos también incluye información de ocupación medida a través de una tableta (etiquetado manual) y un sensor de infrarrojos pasivo (en algunos hogares).

 El conjunto de datos se describe en detalle en un artículo publicado en BuildSys 2014.

Conjunto de datos GREEND

El conjunto de datos GREEND fue publicado por una colaboración entre investigadores de la  Alpen-Adria-Universität Klagenfurt  y  WiTiKee srl . 

El conjunto de datos contiene mediciones de potencia activa tomadas a intervalos de 1 segundo de 9 electrodomésticos individuales y la demanda de energía total de los hogares de 9 casas en Italia y Austria, durante un período de hasta un año. Se pueden encontrar más detalles en el  documento arXiv adjunto . 

Además,  también está disponible un  convertidor NILMTK para el conjunto de datos.

Estudio de uso de electricidad en el hogar (HES)

En 2012, el Energy Savings Trust del Reino Unido  , el  Departamento de Energía y Cambio Climático y el  Departamento de Medio Ambiente, Alimentación y Asuntos Rurales  publicaron un informe de 15 páginas llamado  Powering the Nation . Este informe resume el estudio completo de 600 páginas sobre el  uso de electricidad en el hogar., cuyo objetivo era comprender mejor cómo se consume la electricidad en los hogares del Reino Unido. 

Como parte de este estudio, se monitorearon 251 hogares ocupantes de propietarios en Inglaterra entre abril de 2010 y abril de 2011. De estos hogares, 26 fueron monitoreados durante 12 meses y 225 durante 1 mes. Para cada hogar, se controló el consumo de energía de 13-51 electrodomésticos a intervalos de 2 minutos.

 Actualmente se está desarrollando un portal de software para proporcionar acceso al conjunto de datos, aunque mientras tanto, los datos pueden solicitarse individualmente a  ICF International  contactando  [email protected]  y proporcionando una dirección postal y detalles del sistema operativo.

Conjunto de datos de energía del hogar IDEAL 

Publicado por investigadores de la Universidad de Edimburgo, el conjunto de datos de energía del hogar IDEAL comprende datos de 255 hogares del Reino Unido. Junto con los datos de electricidad y gas de cada hogar, el corpus contiene lecturas individuales de temperatura y humedad de la habitación y lecturas de temperatura de la caldera. Para 39 de los 255 hogares, se dispone de datos más detallados, incluidos datos sobre el uso de aparatos eléctricos individuales y datos sobre radiadores individuales. 

Los datos de los sensores se incrementan con datos de encuestas anonimizados y metadatos, incluidos los datos demográficos de los ocupantes, la conciencia y las actitudes energéticas autoinformadas, y las características del edificio, la habitación y los electrodomésticos.

Conjunto de datos de la India para el agua y la energía ambientales (iAWE)

El Instituto Indraprastha de Tecnología de la Información publicó recientemente el  conjunto de  datos iAWE , que contiene datos agregados y submedidos de electricidad y gas de 33 sensores domésticos con una resolución de 1 segundo. 

El conjunto de datos cubre 73 días de una sola casa en Delhi, India. Cada canal individual de datos se puede descargar por separado en formato SQL o CSV desde la sección de descarga en la parte inferior de la página web.

Conjunto de datos de consumo de energía eléctrica individual del hogar 

EDF Energy publicó un conjunto de datos en 2012 que contiene mediciones de energía realizadas en un solo hogar en Francia durante 4 años. Las mediciones promedio están disponibles a una resolución de 1 minuto de la potencia activa, la potencia reactiva, la tensión y la corriente agregadas del hogar, así como la potencia activa de 3 circuitos submedidos. 

Aunque cada circuito contiene algunos aparatos, este es el conjunto de datos más grande en términos de duración de la medición. 

El conjunto de datos completo está disponible de forma abierta en el Repositorio de aprendizaje automático de la  UCI .

Pecan Street Research Institute  (ya no está disponible)

Pecan Street Research Institute  anunció el lanzamiento de un nuevo conjunto de datos  diseñado específicamente para permitir la evaluación de la tecnología de desagregación de electricidad. Un conjunto de datos de muestra gratuito está disponible para los miembros de su consorcio de investigación, que ahora se ha abierto a los investigadores universitarios. El conjunto de datos de muestra contiene 7 días de datos de 10 casas en Austin, TX, EE. UU., Para los cuales también se encuentran disponibles datos agregados y de circuito que contienen lecturas de potencia en intervalos de 1 minuto. Además de las cargas domésticas comunes, 2 de las casas también tienen sistemas fotovoltaicos y 1 casa también tiene un vehículo eléctrico.

Conjunto de datos de desagregación energética de referencia (REDD)

REDD contiene datos tanto a nivel de hogar como a nivel de circuito de 6 hogares de EE. UU., Durante varias duraciones (entre unas pocas semanas y unos meses). Cada casa tiene una entrada de red bifásica y de 10 a 25 circuitos monitoreados individualmente.

 Los datos de corriente y voltaje de alta frecuencia  (kHz)  están disponibles para ambos circuitos de red, mientras que las mediciones de potencia de baja frecuencia (intervalos de 3-4 segundos) están disponibles para los circuitos del aparato.  

Este conjunto de datos se recopiló principalmente para la evaluación de métodos NIALM no basados ​​en eventos.  Los autores tienen acceso protegido con contraseña al conjunto de datos para realizar un seguimiento de su uso.

REFIT del conjunto de datos de medidas de carga eléctrica

El conjunto de datos REFIT fue publicado como parte del proyecto  Smart Home and Energy Demand Reduction  , por  David Murray  y  Lina Stankovic. en la Universidad de Strathclyde. El conjunto de datos contiene mediciones de potencia activa del agregado y 9 aparatos individuales de 20 hogares en el área de Loughborough del Reino Unido, con una resolución de 1 muestra cada 8 segundos. Esto convierte al REFIT en el único conjunto de datos del Reino Unido que contiene datos a nivel de electrodomésticos a una frecuencia de muestreo superior a una vez por minuto.

Además, los datos agregados de consumo de gas también se registraron a intervalos de 30 minutos. Sin embargo, debe tenerse en cuenta que los datos se comprimieron al eliminar muestras para las que la demanda de energía no había cambiado desde la última lectura.

Se pueden encontrar más detalles en una  presentación de la conferencia EEDAL 2015 ,  un informe técnico detallado y el archivo Léame del conjunto de datos  .. Además,  también está disponible un  convertidor NILMTK para el conjunto de datos.

Conjunto de datos de Smart * Home  (a través del UMassTraceRepository)

Aunque no se recopila específicamente para el desglose de energía, el conjunto de datos Smart * (Smart Star) proporciona datos de energía de 3 hogares reales submedidos. La granularidad de los datos recopilados para los monitores de nivel de circuito (conjunto de instalaciones y circuitos individuales) es de una lectura por segundo, mientras que las cargas de los enchufes individuales se miden aproximadamente cada pocos segundos. Cada casa contiene de 21 a 26 medidores de circuito y casi todos los electrodomésticos se miden con medidores de enchufe. Por el momento, los datos agregados, de circuitos y de electrodomésticos están disponibles para la casa A, pero solo los datos agregados están disponibles para las casas B y C.

Tracebase

El  repositorio de tracebase  contiene datos de dispositivos individuales con la intención de crear una base de datos para entrenar algoritmos NIALM. El repositorio contiene un total de 1883 días de lecturas de energía, tomadas a intervalos de 1 segundo, para 158 instancias de dispositivos, de 43 tipos de dispositivos diferentes. 

Dado que el objetivo es crear una base de datos de dispositivos, no se recopilan medidas agregadas. Los datos se introducen en  Reinhardt et al. 2012  y está disponible en el  repositorio de tracebase . 

Los archivos están protegidos con contraseña, pero se puede solicitar una contraseña a través de la  página de descarga .

Conjunto de datos de electricidad a nivel de electrodomésticos del Reino Unido (UK-DALE)

Jack Kelly lanzó la primera versión de UK-DALE en enero de 2015. El conjunto de datos contiene lecturas de medidores agregados de voltaje y corriente de 16 kHz y datos de energía submedidos de 6 segundos de electrodomésticos individuales en 3 hogares del Reino Unido, así como un agregado de 1 segundo y Datos de potencia submedidos de 6 segundos para 2 hogares adicionales. En agosto de 2015 se publicó una actualización del conjunto de datos que amplió los datos disponibles para la casa 1 a 2,5 años

 Los datos de baja frecuencia están disponibles para descargar en formato CSV o NILMTK HDF5, mientras que los datos de alta frecuencia se pueden descargar en formato de archivo FLAC.

Fuente https://blog.oliverparson.co.uk/2012/06/public-data-sets-for-nialm.html

Cómo crear un dataset en el formato H5


HDF5 es un formato de datos jerárquico que se usar en el NILMTK como fuente datos basado en HDF4 y NetCDF (otros dos formatos de datos jerárquicos).El formato de datos jerárquico, versión 5 (HDF5), es un formato de archivo de código abierto que admite datos grandes, complejos y heterogéneos. HDF5 utiliza una estructura similar a un «directorio de archivos» que le permite organizar los datos dentro del archivo de muchas formas estructuradas diferentes, como lo haría con los archivos en su computadora. El formato HDF5 también permite la incrustación de metadatos, lo que lo hace autodescriptivo .

El formato de archivo HDF5 es desarrollado por The HDF Group. Es un formato de archivo binario abierto con buen soporte en varios lenguajes de programación, incluido Python. En principio, podría usar cualquier lenguaje para crear su convertidor de conjuntos de datos, pero recomendamos el lenguaje Python y no hemos intentado escribir convertidores en otro idioma. Trabajar con archivos HDF5 es realmente fácil en Python usando Pandas (que, a su vez, usa el excelente paquete PyTables ).

Las organizaciones utilizan HDF5 para diversas necesidades de datos, acceso, informática y redes.

Estructura jerárquica: un directorio de archivos dentro de un archivo

El formato HDF5 se puede considerar como un sistema de archivos contenido y descrito en un solo archivo. Piense en los archivos y carpetas almacenados en su computadora. Es posible que tenga un directorio de datos con algunos datos de temperatura para varios sitios de campo. Estos datos de temperatura se recopilan cada minuto y se resumen cada hora, día y semana. Dentro de un archivo HDF5, puede almacenar un conjunto de datos similar organizado de la misma manera que podría organizar archivos y carpetas en su computadora. Sin embargo, en un archivo HDF5, lo que llamamos «directorios» o «carpetas» en nuestras computadoras, se llaman groupsy lo que llamamos archivos en nuestra computadora datasets.

2 Términos importantes de HDF5

  • Grupo: un elemento similar a una carpeta dentro de un archivo HDF5 que puede contener otros grupos O conjuntos de datos dentro de él.
  • Conjunto de datos: los datos reales contenidos en el archivo HDF5. Los conjuntos de datos se almacenan a menudo (pero no es necesario) dentro de grupos en el archivo.
Una ilustración de una estructura de archivo HDF5 que contiene grupos, conjuntos de datos y metadatos asociados
Un ejemplo de estructura de archivo HDF5 que contiene grupos, conjuntos de datos y metadatos asociados.

Un archivo HDF5 que contiene conjuntos de datos podría estructurarse así:

La ilustración HDF5 de arriba, pero los grupos son sitios NEON y los tipos de sensores y conjuntos de datos se incluyen en los tipos de sensores.
Un ejemplo de estructura de archivo HDF5 que contiene datos para varios sitios de campo y también contiene varios conjuntos de datos (promediados en diferentes intervalos de tiempo).

HDF5 es un formato autodescriptivo

El formato HDF5 es autodescriptivo. Esto significa que cada archivo, grupo y conjunto de datos puede tener metadatos asociados que describen exactamente cuáles son los datos. Siguiendo el ejemplo anterior, podemos incrustar información sobre cada sitio en el archivo, como por ejemplo:

  • El nombre completo y la ubicación X, Y del sitio.
  • Descripción del sitio.
  • Cualquier documentación de interés.

De manera similar, podríamos agregar información sobre cómo se recopilaron los datos en el conjunto de datos, como descripciones del sensor utilizado para recopilar los datos de temperatura. También podemos adjuntar información, a cada conjunto de datos dentro del grupo de sitios, sobre cómo se realizó el promedio y durante qué período de tiempo están disponibles los datos.

Un beneficio clave de tener metadatos adjuntos a cada archivo, grupo y conjunto de datos es que esto facilita la automatización sin la necesidad de un documento de metadatos separado (y adicional). Usando un lenguaje de programación, como R o Python, podemos obtener información de los metadatos que ya están asociados con el conjunto de datos y que podríamos necesitar para procesar el conjunto de datos.

Una ilustración de una estructura de archivos HDF5 con un grupo que contiene dos conjuntos de datos y todos los metadatos asociados
Los archivos HDF5 son autodescriptivos, lo que significa que todos los elementos (el archivo en sí, los grupos y los conjuntos de datos) pueden tener metadatos asociados que describen la información contenida en el elemento.

Subconjunto comprimido y eficiente

El formato HDF5 es un formato comprimido. El tamaño de todos los datos contenidos en HDF5 está optimizado, lo que reduce el tamaño general del archivo. Sin embargo, incluso cuando están comprimidos, los archivos HDF5 a menudo contienen grandes volúmenes de datos y, por lo tanto, pueden ser bastante grandes. Un atributo poderoso de HDF5 es data slicingmediante el cual se puede extraer un subconjunto particular de un conjunto de datos para su procesamiento. Esto significa que no es necesario leer el conjunto de datos completo en la memoria (RAM); muy útil para permitirnos trabajar de manera más eficiente con conjuntos de datos muy grandes (gigabytes o más).

Almacenamiento de datos heterogéneos

Los archivos HDF5 pueden almacenar muchos tipos diferentes de datos dentro del mismo archivo. Por ejemplo, un grupo puede contener un conjunto de conjuntos de datos para contener datos enteros (numéricos) y de texto (cadenas). O bien, un conjunto de datos puede contener tipos de datos heterogéneos (por ejemplo, tanto texto como datos numéricos en un conjunto de datos). Esto significa que HDF5 puede almacenar cualquiera de los siguientes (y más) en un archivo:

  • Datos de temperatura, precipitación y PAR (radiación fotosintética activa) para un sitio o para muchos sitios
  • Un conjunto de imágenes que cubren una o más áreas (cada imagen puede tener asociada información espacial específica, todo en el mismo archivo)
  • Un conjunto de datos espaciales multi o hiperespectral que contiene cientos de bandas.
  • Datos de campo para varios sitios que caracterizan insectos, mamíferos, vegetación y clima.
  • Un conjunto de imágenes que cubren una o más áreas (cada imagen puede tener asociada información espacial única)
  • ¡Y mucho más!

Formato abierto

El formato HDF5 es abierto y de uso gratuito. Las bibliotecas de apoyo (y un visor gratuito) se pueden descargar desde el sitio web de HDF Group . Como tal, HDF5 es ampliamente compatible con una gran cantidad de programas, incluidos lenguajes de programación de código abierto como R y Python, y herramientas de programación comerciales como MatlabIDL. Los datos espaciales que se almacenan en formato HDF5 se pueden utilizar en los programas de SIG y de imagen que incluyen QGISArcGISENVI.

Beneficios de HDF5

  • Autodescripción Los conjuntos de datos con un archivo HDF5 son autodescriptivos. Esto nos permite extraer metadatos de manera eficiente sin necesidad de un documento de metadatos adicional.
  • Admite datos heterogéneos : un archivo HDF5 puede contener diferentes tipos de conjuntos de datos.
  • Admite datos grandes y complejos : HDF5 es un formato comprimido que está diseñado para admitir conjuntos de datos grandes, heterogéneos y complejos.
  • Admite la división de datos: la «división de datos», o la extracción de partes del conjunto de datos según sea necesario para el análisis, significa que los archivos grandes no necesitan leerse por completo en la memoria o RAM de la computadora.
  • Formato abierto: soporte amplio en las muchas herramientas : debido a que el formato HDF5 es abierto, es compatible con una gran cantidad de lenguajes y herramientas de programación, incluidos lenguajes de código abierto como R y Pythonherramientas SIG abiertas como QGIS.E

Si desea contribuir con un nuevo convertidor de conjuntos de datos a H5 (o simplemente comprender mejor los convertidores existentes), probablemente la mejor manera de ponerse al día es leer este post pues vamos a ver el diseño de los datos en un archivo NILMTK HDF5. Asimismo se recomienda eche un vistazo al convertidor REDD para NILMTK (in nilmtk/nilmtk/dataset_converters/redd).

Los convertidores de conjuntos de datos NILMTK generan un archivo HDF5 que contiene tanto los datos de la serie temporal de cada medidor como todos los metadatos relevantes, veamos pues como crear uno nuevo.

Las organizaciones utilizan HDF5 para diversas necesidades de datos, acceso, informática y redes.

Datos de series de tiempo

Los datos de cada medidor físico se almacenan en su propia tabla (es decir, existe una relación de uno a uno entre las tablas del archivo HDF5 y los medidores físicos).

Ubicación de la mesa (llaves)

Las tablas en HDF5 se identifican mediante una clave jerárquica. Cada clave es una cuerda. Los niveles de la jerarquía están separados por un /carácter en la clave. NILMTK usa claves en la forma /building<i>/elec/meter<j>donde ijson números enteros que comienzan desde 1. ies la instancia del edificio y jes la instancia del medidor. Por ejemplo, la tabla que almacena datos de la instancia 1 del medidor en la instancia 1 del edificio tendría la clave /building1/elec/meter1. (Usamos elecen la jerarquía para permitirnos, en el futuro, agregar soporte para otros tipos de sensores como medidores de agua y gas).

Contenido de cada tabla

Ilustración

poderenergíaVoltaje
activoreactivo
2014-07-01T05: 00: 14 + 00: 000,10,01231.1
2014-07-01T05: 00: 15 + 00: 00100,510,5232,1

Columna de índice

La columna de índice es una fecha y hora representada en el disco como una marca de tiempo UNIX de precisión de nanosegundos (!) Almacenada como un int de 64 bits sin firmar. En Python, usamos un archivo con reconocimiento de zona horaria numpy.datetime64. El marco de datos debe ordenarse en orden ascendente en la columna de índice (marca de tiempo).

Para evitar problemas más adelante, la columna de índice debe tener valores únicos. Si hay duplicados, el convertidor debe eliminar uno de los elementos o eliminar la ambigüedad si es posible.

Columnas de medida

Cada columna, excepto la columna de índice, contiene una medida tomada por el medidor. Estas medidas pueden ser demanda de potencia, energía, energía acumulada, voltaje o corriente. Cada medición se representa como un número de coma flotante de 32 bits.

Siempre usamos unidades SI o unidades derivadas del SI y NILMTK asume que no se ha aplicado ningún prefijo de unidad (por ejemplo, ‘kilo-‘ o ‘mega-‘). En otras palabras, NILMTK asume un multiplicador de unidad de 1. Por ejemplo, siempre usamos vatios (no kW) para la potencia activa. Si el conjunto de datos de origen usa, digamos, kW, multiplique estos valores por 1000 en su convertidor.

Etiquetas de columna

Las etiquetas de columna son jerárquicas con 2 niveles ( las etiquetas jerárquicas son muy bien compatibles con Pandas ). El nivel superior describe lo que se physical_quantityestá midiendo. El nivel de segundos describe el typeque, en la actualidad, se usa para las columnas de energía y potencia para describir si la medición de corriente alterna es apparentactivereactive. Usamos un vocabulario controlado para ambos physical_quanititytype. Para los detalles completos de este vocabulario controlado, por favor consulte la documentación physical_quantitytypeen virtud de la measurementspropiedad para el objeto MeterDevice en NILM metadatos .

Compresión

Usamos zlibpara comprimir nuestros archivos HDF5. bzip2da como resultado archivos un poco más pequeños (261 MB bzip2frente a 273 MB zlibpara REDD) pero no parece ser compatible con HDFView .

Metadatos

Para que NILMTK pueda cargar el conjunto de datos, necesitamos agregar metadatos al archivo HDF5. NILMTK utiliza el esquema de metadatos de NILM .

Si el conjunto de datos ya está descrito en YAML usando el esquema de metadatos NILM, simplemente llame nilm_metadata.convert_yaml_to_hdf5().

Si el conjunto de datos aún no se describe mediante el esquema de metadatos de NILM, será necesario hacerlo. Si se trata de un conjunto de datos pequeño, puede escribir manualmente los archivos YAML y luego convertirlos a HDF5 (así es como funciona nuestro convertidor REDD). Si se trata de un conjunto de datos grande, sería mejor convertir mediante programación los propios metadatos del conjunto de datos en metadatos NILM y almacenar los metadatos directamente en el archivo HDF5. 

Los metadatos NILM nos permiten describir muchos de los objetos que normalmente encontramos en un conjunto de datos de energía desagregado. A continuación se muestra un diagrama de clases UML que muestra todas las clases y las relaciones entre clases:

_images / schema.svg

Un diamante negro oscuro indica una relación de «composición», mientras que un diamante hueco indica una «agregación». Por ejemplo, la relación entre DatasetBuildingse lee como ‘ cada conjunto de datos contiene cualquier número de edificios y cada edificio pertenece exactamente a un conjunto de datos ‘. Usamos diamantes huecos para indicar que los objetos de una clase se refieren a objetos de otra clase. Por ejemplo, cada Applianceobjeto se refiere exactamente a uno ApplianceType. Las instancias de las clases en el área sombreada de la izquierda están diseñadas para enviarse con cada conjunto de datos, mientras que los objetos de las clases de la derecha son comunes a todos los conjuntos de datos y se almacenan dentro del proyecto de metadatos NILM como los ‘metadatos centrales’. Algunos ApplianceTypescontienen Appliances, de ahí el cuadro que representa elAppliance class sobresale ligeramente en el área de ‘metadatos centrales’ a la derecha.

A continuación, usaremos ejemplos para ilustrar cómo crear un esquema de metadatos para un conjunto de datos.

Ejemplo simple

La siguiente ilustración muestra un diagrama de cableado de red de dibujos animados para un edificio doméstico. Las líneas negras indican cables de red. Esta casa tiene un suministro de red de fase dividida (común en América del Norte, por ejemplo). La lavadora extrae energía a través de ambas divisiones. Todos los demás electrodomésticos obtienen energía de una sola división._images / circuit_no_metadata.svg

El texto a continuación muestra una descripción minimalista (utilizando el esquema de metadatos NILM) del diagrama de cableado anterior. El YAML a continuación entraría en el archivo building1.yaml:

instancia :  1  # este es el primer edificio en el conjunto de datos 
elec_meters :  # un diccionario donde cada clave es un medidor instancia 
  1 : 
    site_meter :  true  # meter 1 mide el agregado de todo el edificio 
  2 : 
    site_meter :  true 
  3 : 
    submeter_of :  1  # meter 3 está directamente aguas abajo del medidor 1 
  4 : 
    submeter_of :  1 
  5 : 
    submeter_of :  2 
  6 : 
    submeter_of :  2 
  7 : 
    submeter_of:  6 
electrodomésticos : 
-  { tipo :  hervidor ,  instancia :  1 ,  sala :  cocina ,  medidores :  [ 3 ]} 
-  { tipo :  lavadora ,  instancia :  1 ,  medidores :  [ 4 , 5 ]} 
-  { tipo :  luz ,  instancia :  1 ,  sala :  cocina , metros :  [ 7 ]} 
-  { tipo :  luz ,  instancia :  2 ,  múltiple :  verdadero ,  metros :  [ 6 ]}

elec_meterscontiene un diccionario de diccionarios. Cada clave es una instancia de medidor (un identificador entero único dentro del edificio). Comenzamos a numerar desde 1 porque eso es común en los conjuntos de datos existentes. Cada valor del elec_metersdict es un diccionario que registra información sobre ese medidor específico (consulte la documentación sobre el esquema de ElecMeter para obtener información completa). site_meterse establece en truesi este medidor mide la demanda de energía agregada de todo el edificio. submeter_ofregistra la instancia de medidor del medidor aguas arriba. De esta forma, podemos especificar jerarquías de cableado de complejidad arbitraria.

applianceses una lista de diccionarios. Cada diccionario describe un solo dispositivo. El aparato type(por ejemplo, «hervidor» o «lavadora») se toma de un vocabulario controlado definido en los metadatos de NILM. Consulte el esquema del dispositivo para obtener más información.

Para cada aparato, también debemos especificar un instance(un número entero que, dentro de cada edificio, nos permite distinguir entre múltiples instancias de un aparato en particular type). También debemos especificar una lista de meters. Cada elemento de esta lista es un número entero que corresponde a un metro instance. De esta manera, podemos especificar qué medidor está directamente aguas arriba de este aparato. La gran mayoría de los electrodomésticos solo especificará un medidor. Usamos dos metros para los electrodomésticos norteamericanos que obtienen energía de ambas conexiones de red. Usamos tres metros para electrodomésticos trifásicos.

Representar a REDD utilizando metadatos de NILM

El conjunto de datos de referencia de desagregación de energía (REDD) ( Kolter & Johnson 2011 ) fue el primer conjunto de datos públicos que se publicó para la comunidad de desagregación de energía. Consta de seis viviendas. Se mide la demanda de energía agregada de cada hogar y también se miden sus circuitos. REDD proporciona datos de baja frecuencia (período de muestreo de 3 segundos) y de alta frecuencia. Solo especificaremos los datos de baja frecuencia en este ejemplo.

Los metadatos NILM se pueden especificar como YAML o como metadatos dentro de un archivo binario HDF5. YAML probablemente sea mejor para la distribución con un conjunto de datos. NILMTK utiliza HDF5 para almacenar tanto los datos como los metadatos. Las estructuras de datos son muy similares sin importar si los metadatos están representados en el disco como YAML o HDF5. La principal diferencia es dónde se almacenan los metadatos. En este ejemplo, solo consideraremos YAML. Los archivos YAML se almacenan en un metadatadirectorio incluido con el conjunto de datos. Para obtener detalles sobre dónde se almacena esta información dentro de HDF5, consulte las secciones relevantes de la página de metadatos del conjunto de datos .

Primero especificaremos los detalles del conjunto de datos, luego los detalles sobre cada edificio.

Conjunto de datos

Usaremos el esquema del conjunto de datos para describir el nombre del conjunto de datos, los autores, la ubicación geográfica, etc. Si desea crear una descripción mínima de metadatos de un conjunto de datos, no necesita especificar nada para el Dataset.

Esta información se almacenaría en formato dataset.yaml.

Primero, especifiquemos el nombre del conjunto de datos y los creadores:

name :  REDD 
long_name :  The Reference Energy 
Disaggregation Creadores del conjunto de datos : 
-  Kolter, Zico 
-  Johnson, Matthew 
publicación_fecha :  2011 
institución :  Massachusetts Institute of Technology (MIT) 
contacto :  [email protected]    # Zico se trasladó de MIT a CMU 
descripción :  Varias semanas de datos de energía para 6 hogares diferentes. 
Asunto :  Demanda de energía desagregada de los edificios domésticos. 
number_of_buildings :  6 
zona horaria :  EE . UU. / Este   # MIT está en la costa este 
geo_location : 
  localidad :  Massachusetts    # aldea, pueblo, ciudad o estado 
  país :  EE    . 
  UU . # Código de país estándar de dos letras definido por ISO 3166-1 alpha-2 latitud :  42.360091  # 
  Coorindates del MIT longitud :  -71.09416 
related_documents : 
-  http://redd.csail.mit.edu 
-  > 
  J. Zico Kolter y Matthew J. Johnson. 
  REDD: un conjunto de datos públicos para la investigación de desagregación de energía. 
  En actas del taller SustKDD sobre 
  aplicaciones de minería de datos en sostenibilidad, 2011.
  

Haz clic para acceder a kolter-kddsust11.pdf

esquema : https://github.com/nilmtk/nilm_metadata/tree/v0.2

La tensión nominal de la red se puede deducir del geo_location:countryvalor.

Dispositivos de medición

A continuación, describimos las características comunes de cada tipo de medidor utilizado para registrar los datos. Consulte la sección de documentación sobre MeterDevice para obtener detalles completos. Puede pensar en esto como la ‘hoja de especificaciones’ suministrada con cada modelo de medidor utilizado para registrar el conjunto de datos. Esta información se almacenaría en formato meter_devices.yaml.

Esta estructura de datos es un gran diccionario. Cada clave es un nombre de modelo. Cada valor es un diccionario que describe el medidor:

eMonitor : 
  modelo :  eMonitor 
  fabricante :  Powerhouse Dynamics 
  fabricante_url :  http://powerhousedynamics.com 
  descripción :  > 
    Mide la demanda de potencia a nivel de circuito. Viene con 24 CT. 
    Esta página de preguntas frecuentes sugiere que el eMonitor mide la 
    potencia 
    real (activa) : http://www.energycircle.com/node/14103 aunque el readme.txt de 
  REDD dice que todos los canales registran la potencia aparente. sample_period :  3    # el intervalo entre muestras. En segundos. 
  max_sample_period :  50    # Intervalo máximo permitido entre muestras. Segundos. 
  medidas :
  -  physical_quantity :  el poder    # potencia, la tensión, la energía, la corriente? 
    tipo :  activo    # activo (potencia real), reactivo o aparente? 
    Upper_limit :  5000 
    lower_limit :  0 
  inalámbrico :  falso

REDD_whole_house : 
  description :  > 
    Medidor de potencia de bricolaje de REDD que se utiliza para medir formas 
    de 
    onda de CA en toda la casa a alta frecuencia. Para citar su artículo: "TC de TED (http://www.theenergydetective.com) para medir la corriente en la 
    red eléctrica, una sonda de osciloscopio Pico TA041 
    (http://www.picotechnologies.com) para medir el voltaje de una de 
    las dos fases en el hogar, y un 
    conversor analógico a digital 
    NI-9239 de National Instruments para transformar ambas señales 
    analógicas en lecturas digitales.Este conversor A / D tiene una resolución de 
    24 bits con ruido de aproximadamente 70 µV, que determina el nivel de ruido de nuestras lecturas de corriente y voltaje: los TED CTs
    están clasificados para circuitos de 200 amperios y un máximo de 3 voltios, por lo que podemos 
    diferenciar entre corrientes de aproximadamente 
    ((200)) (70 × 10−6) / (3) = 4,66 mA, correspondientes a cambios 
    de 
    potencia de aproximadamente 0,5 vatios. Del mismo modo, puesto que utilizamos un 1: 100 de tensión de escalón de descenso en la sonda del osciloscopio, podemos detectar tensión 
    diferencias de unos 7mV ". 
  Sample_period :  1 
  max_sample_period :  30 
  mediciones : 
  -  physical_quantity :  potencia 
    tipo :  aparente 
    UPPER_LIMIT :  50000 
    LOWER_LIMIT :  0 
  inalámbrica :  falsa

Edificios, contadores de electricidad y electrodomésticos

Finalmente, necesitamos especificar metadatos para cada edificio en el conjunto de datos. La información sobre cada contador de electricidad y cada aparato se especifica junto con el edificio. Los metadatos de cada edificio entran donde i es un número entero que comienza en 1. Por ejemplo,building<i>.yamlbuilding1.yaml

Describiremos house_1desde REDD. Primero, describimos la información básica sobre el house_1uso del esquema de construcción :

instancia :  1    # este es el primer edificio en el conjunto de datos 
original_name :  house_1    # nombre original del conjunto de datos REDD 
elec_meters :    # ver abajo 
aparatos :    # ver abajo

Ahora sabemos la ubicación geográfica específica de house_1en REDD. Como tal, podemos asumir que house_1solo ‘heredará’ geo_locationtimezonede los datasetmetadatos. Si supiéramos la ubicación geográfica de house_1entonces podríamos especificarlo en building1.yaml.

A continuación, especificamos cada contador de electricidad y el cableado entre los contadores utilizando el esquema ElecMeter . elec_meterses un diccionario. Cada clave es una instancia de medidor. Cada valor es un diccionario que describe ese medidor. Para ser breve, no mostraremos todos los medidores:

elec_meters : 
  1 : 
    site_meter :  true 
    device_model :  REDD_whole_house   # claves en el diccionario 
    meter_devices data_location :  house_1 / channel_1.dat 
  2 : 
    site_meter :  true 
    device_model :  REDD_whole_house 
    data_location :  house_1 / channel_2.dat 
  3 : 
    submeter_of :  0  # '0' significa 'uno de los site_meters '. No sabemos 
                   # qué medidor de sitio alimenta qué dispositivo en REDD. 
    device_model :  eMonitor 
    data_location : house_1 / channel_3.dat 
  4 : 
    submeter_of :  0 
    device_model :  eMonitor 
    data_location :  house_4 ​​/ channel_4.dat

También podríamos especificar atributos como, pero ninguno de estos es relevante para REDD.room, floor, preprocessing_applied, statistics, upstream_meter_in_building

Ahora podemos especificar qué electrodomésticos se conectan a qué medidores.

Para referencia, aquí es el original labels.datde house_1REDD:

1 red 
2 red 
3 horno 
4 horno 
5 frigorífico 
6 lavavajillas 
7 salidas_cocina 
8 salidas_cocina 
9 iluminación 
10 lavadora_secadora 
11 microondas 
12 
baño_gfi 13 
calefacción_eléctrica 14 estufa 
15 salidas_cocina 
16 salidas_cocina 
17 iluminación 
18 iluminación 
19 lavadora_secadora 
20 lavadora_secadora

Usamos el esquema de dispositivo para especificar dispositivos. En REDD, todos los medidores miden circuitos usando pinzas de TC en la caja de fusibles de las casas. Algunos circuitos suministran energía a electrodomésticos individuales . Otros circuitos suministran energía a grupos de electrodomésticos.

appliances es una lista de diccionarios.

Comencemos demostrando cómo describimos los circuitos que suministran energía a un aparato individual:

electrodomésticos :

-  tipo :  nevera 
  instancia :  1 
  metros :  [ 5 ] 
  original_name :  nevera

Recuerde del ejemplo simple que el valor de dispositivo typese toma del vocabulario controlado por metadatos de NILM de tipos de dispositivo. original_namees el nombre utilizado en REDD, antes de la conversión al vocabulario controlado por metadatos NILM.

Ahora especificamos dos aparatos de 240 voltios. Los hogares norteamericanos tienen suministros de red de fase dividida. Cada división es de 120 voltios en relación con el neutro. Las dos divisiones son de 240 voltios entre sí. Los electrodomésticos grandes pueden conectarse a ambas divisiones para consumir mucha energía. REDD mide por separado ambas divisiones para estos electrodomésticos grandes, por lo que especificamos dos medidores por dispositivo de 240 voltios:

electrodomésticos :

-  Tipo :  horno eléctrico de 
  ejemplo :  1 
  metros :  [ 3 ,  4 ]    # el horno obtiene la energía de ambas piernas 120 voltios 
  original_name :  horno

-  original_name :  washer_dryer 
  tipo :  lavadora secadora 
  ejemplo :  1 
  metros :  [ 10 ,  20 ] 
  componentes :  # podemos especificar qué componentes se conectan a la que la pierna 
  -  Tipo :  motor 
    metros :  [ 10 ] 
  -  Tipo :  elemento de calentamiento eléctrico 
    metros :  [ 20 ]

Ahora especificamos cargas que no son dispositivos individuales sino que son categorías de dispositivos:

electrodomésticos :

-  original_name :  kitchen_outlets 
  room :  kitchen 
  type :  sockets    # sockets se trata como una 
  instancia de electrodoméstico :  1 
  multiple :  true    # probablemente más de 1 socket 
  metros :  [ 7 ]

-  original_name :  kitchen_outlets 
  habitación :  cocina 
  tipo :  sockets 
  instancia :  2    # 2da instancia de 'sockets' en este edificio 
  multiple :  true    # probablemente más de 1 socket 
  metros :  [ 8 ]

-  nombre_original :  tipo de iluminación 
  : instancia de luz : 1 múltiplo : verdadero # es probable que tenga más de 1 metro de luz : [ 9 ] 
   
      
   

-  nombre_original :  tipo de iluminación 
  : instancia de luz : 2 # 2da instancia de 'luz' en este edificio multiple : metros verdaderos : [ 17 ] 
      
   
   

-  nombre_original :  tipo de iluminación 
  : instancia de luz : 3 # 3ra instancia de 'luz' en este edificio multiple : metros verdaderos : [ 18 ] 
      
   
   

-  nombre_original :  baño_gfi    # interruptor de falla a tierra 
  habitación :  baño 
  tipo :  instancia desconocida 
  : 1 múltiplo : medidores verdaderos : [ 12 ] 
   
   

Tenga en cuenta que si tenemos varias instancias distintas del mismo tipo de dispositivo, entonces debemos usar objetos de dispositivo separados para cada instancia y no debemos agruparlos como un único objeto de dispositivo con varios meters. Solo especificamos múltiples meterspor appliancesi hay un solo aparato que obtiene energía de más de una fase o línea de alimentación.

En REDD, las casas 3, 5 y 6 también tienen un electronicscanal. ¿Cómo manejaríamos esto en NILM Metadata? Este es un medidor que no registra un solo aparato, pero registra una categoría de aparatos. Afortunadamente, debido a que NILM Metadata usa una estructura de herencia para los metadatos centrales, ya tenemos un (CE = Consumer Electronics). El objeto se construyó primero para actuar como una superclase abstracta para todos los objetos de electrónica de consumo, pero resulta útil para REDD:CE applianceCE appliance

-  nombre_original :  tipo de electrónica 
  : instancia de dispositivo CE : 1 múltiplo : medidores verdaderos : [ 6 ] 
   
   
   

Hemos visto cómo representar el conjunto de datos REDD utilizando Metadatos NILM. El ejemplo anterior muestra la mayor parte de la estructura del esquema de metadatos NILM para conjuntos de datos. Hay muchos más atributos que se pueden adjuntar a esta estructura básica. Consulte la documentación de metadatos del conjunto de datos para obtener detalles completos de todos los atributos y valores que se pueden usar.

Metadatos centrales

Una segunda parte del proyecto de metadatos NILM son los ‘metadatos centrales’. Estos ‘metadatos centrales’ se almacenan en el propio proyecto de metadatos NILM y consisten en información como la asignación del tipo de dispositivo a la categoría del dispositivo; y la asignación del código de país a los valores de voltaje nominal. 

Metadatos del conjunto de datos

Esta página describe el esquema de metadatos para describir un conjunto de datos.

Hay dos formatos de archivo para los metadatos: YAML y HDF5. Los archivos de metadatos YAML deben estar en una metadatacarpeta. Cada sección de este documento comienza describiendo dónde se almacenan los metadatos relevantes en ambos formatos de archivo.

Conjunto de datos

Este objeto describe aspectos sobre todo el conjunto de datos. Por ejemplo, el nombre del conjunto de datos, los autores, la ubicación geográfica de todo el conjunto de datos, etc.

  • Ubicación en YAML: dataset.yaml
  • Ubicación en HDF5: store.root._v_attrs.metadata

Atributos de metadatos (algunos de estos atributos están adaptados de Dublin Core Metadata Initiative (DCMI)):

nombre:(cadena) (obligatorio) Nombre corto del conjunto de datos. por ejemplo, ‘REDD’ o ‘UK-DALE’. El elemento DCMI equivalente es ‘título’. Si este conjunto de datos es el resultado de un algoritmo de desagregación, el nombre se establecerá en un nombre corto para el algoritmo; por ejemplo, ‘CO’ o ‘FHMM’.
nombre largo:(cadena) Nombre completo del conjunto de datos, p. ej. ‘Conjunto de datos de desagregación de energía de referencia’.
creadores:(lista de cadenas) en el formato ‘<Último nombre>, <Nombre inicial>’. Elemento DCMI.
zona horaria:(cadena) Utilice el nombre de TZ estándar de la base de datos de zona horaria de IANA (también conocida como Olson), por ejemplo, ‘América / New_York’ o ‘Europa / Londres’.
fecha:(cadena) Formato ISO 8601. por ejemplo, ‘2014-06-23’ Idéntico al elemento DCMI de ‘fecha’.
contacto:(cadena) Dirección de correo electrónico
institución:(cuerda)
descripción:(cadena) Elemento DCMI. Breve descripción legible por humanos. por ejemplo, describa la frecuencia de muestreo, la ubicación geográfica, etc.
número_de_edificios:
 (En t)
identificador:(cadena): un identificador de objeto digital (DOI) o URI para el conjunto de datos. Elemento DCMI.
tema:(cadena): Por ejemplo, ¿este conjunto de datos se refiere a edificios domésticos o comerciales? ¿Incluye datos desglosados ​​dispositivo por dispositivo o solo datos de todo el edificio? Elemento DCMI. Texto libre legible por humanos.
cobertura_espacial:
 (cadena): Cobertura espacial. por ejemplo, «Sur de Inglaterra». Relacionado con el elemento DCMI de ‘cobertura’. Texto libre legible por humanos.
periodo de tiempo:TimeFrame , ver más abajo) Fechas de inicio y finalización para todo el conjunto de datos.
fondos:(lista de cadenas) Una lista de todas las fuentes de financiación utilizadas para producir este conjunto de datos.
editor:(cadena) La entidad responsable de hacer que el recurso esté disponible. Los ejemplos de un editor incluyen una persona, una organización o un servicio. Elemento DCMI.
geo_location:(dictar)localidad:(cadena) aldea, pueblo, ciudad o estadopaís:(cadena) Utilice un código de país estándar de dos letras definido por ISO 3166-1 alpha-2 . por ejemplo, «GB» o «EE. UU.».latitud:(número)longitud:(número)
lista_derechos:(lista de dictados) Licencia (s) bajo las cuales este conjunto de datos esliberado. Relacionado con el elemento DCMI de ‘derechos’. Cada elemento tiene estos atributos:uri:(cadena) URI de licencianombre:(cadena) Nombre de la licencia
description_of_subjects:
 (cadena) Una breve descripción de cómo se reclutaron los sujetos. ¿Son todos estudiantes de doctorado, por ejemplo? ¿Fueron incentivados a reducir su consumo de energía? ¿Cómo fueron elegidos?
documentos relacionados:
 (lista de cadenas) Referencias sobre este conjunto de datos (por ejemplo, referencias a artículos académicos o páginas web). También describa brevemente el contenido de cada referencia (por ejemplo, ¿contiene una descripción de la configuración de medición? ¿O un análisis de los datos?) Relacionado con el elemento DCMI de ‘relación’.
esquema:(cadena) La URL de la versión (etiqueta) de NILM_metadata con la que se validan estos metadatos. por ejemplo, https://github.com/nilmtk/nilm_metadata/tree/v0.2

MeterDevice

Metadatos que describen cada modelo de medidor utilizado en el conjunto de datos. (Tenga en cuenta que ElecMeter se usa para representar instancias individuales de medidores en un edificio, mientras que MeterDevicese usa para representar información común a todas las instancias de una marca y modelo específico de medidor). Piense en esta sección como un catálogo de modelos de medidores utilizados en el conjunto de datos.

  • Ubicación en YAML: meter_devices.yaml
  • Ubicación en HDF5: store.root._v_attrs.metadataenmeter_devices

Un gran dict. Las claves son nombres de modelo de dispositivo (por ejemplo, ‘EnviR’). El propósito es registrar información sobre modelos específicos de medidor. Los valores son dictados con estas claves:

modelo:(cadena) (obligatorio) El nombre del modelo de este dispositivo medidor.
model_url:(cadena) La URL con más información sobre este modelo de medidor.
fabricante:(cuerda)
fabricante_url:
 (cuerda)
sample_period:(número) (obligatorio) El período de muestreo nominal del medidor (es decir, el período de tiempo entre muestras consecutivas) en segundos.
período_máximo_muestra:
 (número) (obligatorio) El tiempo máximo permitido entre muestras consecutivas. Suponemos que el medidor está apagado durante cualquier intervalo superior a max_sample_period. En otras palabras, definimos un «espacio» como dos muestras cualesquiera que estén más que max_sample_periodseparadas.
mediciones:(lista) (obligatorio) El orden es el orden de las columnas en la tabla de datos.cantidad física: (cadena) (obligatorio) Uno de {‘potencia’, ‘energía’, ‘energía acumulada’, ‘voltaje’, ‘corriente’, ‘frecuencia’, ‘factor de potencia’, ‘estado’, ‘ángulo de fase’, ‘total distorsión armónica ‘,’ temperatura ‘}. Las columnas de ‘estado’ almacenan un ID de estado entero donde 0 está apagado y> 0 se refiere a estados definidos. (TODO: almacenar el mapeo de la identificación del estado por dispositivo al nombre del estado). Unidades: ángulo de fase: grados; potencia: vatios; energía: kWh; voltaje: voltios; corriente: amperios; temperatura: grados centígrados.escribe:(cadena) (requerido para ‘potencia’ y ‘energía’) Tipo de corriente alternativa (CA). Uno de {‘reactivo’, ‘activo’, ‘aparente’}.limite superior:(número)límite inferior:(número)
descripción:(cuerda)
pagar por adelantado:(booleano) ¿Es este un medidor de prepago?
inalámbrico:(booleano)
configuración_inalámbrica:
 (dict) Todas las cadenas son texto libre legible por humanos:base:(cadena) Descripción de la estación base utilizada. Fabricante, modelo, versión, etc.protocolo:(cadena) por ejemplo, ‘zibgee’, ‘WiFi’, ‘personalizado’. Si es personalizado, agregue un enlace a la documentación si está disponible.Frecuencia de carga: (número) MHz
registrador de datos:(cadena) Descripción del registrador de datos utilizado

Edificio

  • Ubicación en YAML: building<I>.yaml
  • Ubicación en HDF5: store.root.building<I>._v_attrs.metadata
ejemplo:(int) (obligatorio) La instancia de construcción en este conjunto de datos, comenzando desde 1
nombre original:(cadena) Nombre original del edificio a partir de metadatos antiguos (metadatos anteriores a NILM).
medidores_electricos:(dictado de dictados) (obligatorio) Cada clave es un número entero (> = 1) que representa la instancia del medidor en este edificio. Cada valor es un ElecMeter. Consulte la sección a continuación sobre ElecMeter .
accesorios:(lista de dictados) (obligatorio) Consulte la sección a continuación sobre el aparato .
medidores de agua:(dictado de dictados) Misma estructura que elec_meters.
medidores_gás:(dictado de dictados) Misma estructura que elec_meters.
descripción:(cuerda)
habitaciones:(lista de dictados):nombre:(cadena) (obligatorio) uno de {‘salón’, ‘cocina’, ‘dormitorio’, ‘lavadero’, ‘garaje’, ‘sótano’, ‘baño’, ‘estudio’, ‘guardería’, ‘pasillo’, ‘ comedor ‘,’ al aire libre ‘}ejemplo:(int) (opcional. Empieza desde 1. Si está ausente, se supone que es 1.)descripción:(cuerda)suelo:(int) La planta baja es el piso 0.
n_ocupantes:(int) Modo número de ocupantes.
description_of_occupants:
 (cadena) texto libre que describe a los ocupantes. ¿Número de niños, adolescentes, adultos, jubilados? ¿Demografía? ¿Estuvieron todos los ocupantes fuera de la casa durante todos los días de la semana?
periodo de tiempo:TimeFrame , ver más abajo)
periodos_unoccupied:
 (lista de objetos TimeFrame , ver más abajo) Períodos en los que este edificio estuvo vacío durante más de un día (por ejemplo, días festivos)
año de construcción:
 (int) Año calendario de construcción de cuatro dígitos.
mejoras_energéticas:
 (lista de cadenas) ¿Alguna modificación posterior a la construcción? Alguna combinación de {‘fotovoltaica’, ‘solar térmica’, ‘aislamiento de paredes huecas’, ‘aislamiento de loft’, ‘aislamiento de paredes sólidas’, ‘doble acristalamiento’, ‘acristalamiento secundario’, ‘triple acristalamiento’}
calefacción:(lista ordenada de cadenas, con el combustible más dominante primero) Alguna combinación de {‘gas natural’, ‘electricidad’, ‘carbón’, ‘madera’, ‘biomasa’, ‘petróleo’, ‘GLP’}
caldera_comunal:
 booleano (establecido en verdadero si la calefacción es proporcionada por una caldera compartida para los apartamentos)
propiedad:(cadena) uno de {‘alquilado’, ‘comprado’}
tipo de construcción:(cadena) uno de {‘bungalow’, ‘casa de campo’, ‘independiente’, ‘final de la terraza’, ‘plano’, ‘adosado’, ‘terraza intermedia’, ‘residencias de estudiantes’, ‘fábrica’, ‘ oficina ‘,’ universidad ‘}

Construyendo metadatos que se heredan de Dataset pero que pueden ser anulados por Building:

  • geo_location
  • zona horaria
  • periodo de tiempo

ElecMeter

Los ElecMeters son los valores del elec_metersdictado de cada edificio (consulte la sección sobre metadatos del edificio más arriba).

device_model:(cadena) (obligatorio) modelque ingresameter_devices
submeter_of:(int) (requerido) la instancia de medidor del medidor aguas arriba. O configúrelo para 0que signifique » uno de los site_meters «. En la práctica, 0se interpretará como “aguas abajo de un ‘Grupo de medidores’ que representa todos los medidores del sitio sumados”.
submeter_of_is_uncertain:
 (booleano) Se establece en verdadero si el valor de submeter_of es incierto.
upstream_meter_in_building:
 (int) Si el medidor de aguas arriba está en un edificio diferente, especifique aquí esa instancia de edificio. Si se deja en blanco, asumimos que el medidor de aguas arriba está en el mismo edificio que este medidor.
site_meter:(booleano): requerido y establecido en Verdadero si se trata de un medidor de sitio (es decir, el medidor más alejado aguas arriba) de lo contrario no es necesario. Si hay varias fases de red (por ejemplo, red trifásica) o múltiples ‘divisiones’ de red (por ejemplo, en América del Norte, donde hay dos divisiones de 120 voltios), configure site_meter=trueen cada medidor del sitio. Se deben configurar todos los medidores que no sean del sitio directamente aguas abajo de los medidores del sitio submeter_of=0. Opcionalmente, utilice también phasepara describir qué fase mide este medidor. ¿Qué sucede si hay varios medidores de sitio en paralelo?(es decir, hay contadores redundantes)? Por ejemplo, tal vez haya un medidor de sitio instalado por la empresa de servicios públicos que proporciona lecturas poco frecuentes; y también hay un elegante medidor de sitio digital que mide en el mismo punto en el árbol de cableado y, por lo tanto, en cierto sentido, el medidor de servicios públicos puede considerarse ‘redundante’ pero se incluye en el conjunto de datos para la comparación). En esta situación, configure site_meter=trueen cada medidor de sitio. A continuación, configure disabled=truetodos menos el medidor de sitio «favorecido» (que normalmente sería el medidor de sitio que proporciona las «mejores» lecturas). Es importante configurarlo de disabled=truemanera que NILMTK no sume los medidores de sitios paralelos. Los medidores de sitio deshabilitados también deben configurarse submeter_ofcon el ID del medidor de sitio habilitado. Se deben configurar todos los medidores que no sean del sitio directamente aguas abajo de los medidores del sitio submeter_of=0.
medidor_de_servicio:(booleano) requerido y establecido en Verdadero si este medidor fue instalado por la empresa de servicios públicos. De lo contrario, no es necesario.
periodo de tiempo:( Objeto TimeFrame )
nombre:(cadena) (opcional) p. ej., ‘total del primer piso’.
fase:(int o string) (opcional) Se usa en configuraciones de múltiples fases.
habitación:(cuerda) . por ejemplo, «cocina» o «dormitorio, 2». Si no se especifica (p. Ej., ‘Habitación: cocina’, se asume que es ‘cocina, 1’ (es decir, instancia de cocina 1). Si los metadatos del edificio especifican un conjunto de , la habitación especificada aquí se introducirá en la del edificio (pero no en todos). Los conjuntos de datos enumeran todas las habitaciones de cada edificio).<room name>[,<instance>]instanceroomsrooms
suelo:(int) No es necesario si roomse especifica. Planta baja es 0.
ubicación_de_datos:(cadena) (obligatorio) Ruta relativa al directorio raíz del conjunto de datos. ej house1/channel_2.dat. Tablas de referencia y columnas dentro de un archivo jerárquico, por ejemplo data.h5?table=/building1/elec/meter1, o, si estos metadatos se almacenan en el mismo archivo HDF que los datos del sensor, simplemente use la clave, por ejemplo /building1/elec/meter1.
discapacitado:(bool): se establece en verdadero si NILMTK debe ignorar este canal. Esto es útil si, por ejemplo, este canal es un site_meter redundante.
preprocessing_applied:
 (dict): cada tecla es opcional y solo está presente si se ha ejecutado esa función de preprocesamiento.acortar:(dictar)límite inferior:limite superior:
Estadísticas:(lista de dictados): cada dictado describe estadísticas para un conjunto de períodos de tiempo. Cada dictado tiene:marcos de tiempo:(lista de objetos TimeFrame ) (obligatorio) Los plazos sobre los que se calcularon estas estadísticas. Si las estadísticas se refieren a la serie temporal completa, ingrese el inicio y el final de la serie temporal como el único TimeFrame.buenas_secciones:(lista de objetos TimeFrame )contiguous_sections: (lista de objetos TimeFrame )energía_total:(dic) kWhactivo:(número)reactivo:(número)aparente:(número)Tenga en cuenta que algunas de estas estadísticas se almacenan en caché por NILMTK en building<I>/elec/cache/meter<K>/<statistic_name>. Para obtener más detalles, consulte la cadena de documentación de nilmtk.ElecMeter._get_stat_from_cache_or_compute().

WaterMeter y GasMeter

Mismos atributos que ElecMeter .

Aparato

Cada dictado de aparato tiene:

escribe:(cadena) (obligatorio) tipo de aparato (p. ej., «hervidor»). Utilice vocabulario controlado por metadatos NILM. Consulte nilm_metadata / central_metadata / appliance_types / *. Yaml . Cada *.yamlarchivo nilm_metadata/central_metadata/appliance_typeses un diccionario grande. Cada clave de estos diccionarios es un dispositivo legal type.
ejemplo:(int a partir de 1) (obligatorio) instancia de este electrodoméstico dentro del edificio.
metros:(lista de ints) (requerido) instancias de medidor directamente aguas arriba de este aparato. Esta es una lista para manejar el caso en el que algunos electrodomésticos obtienen energía de ambas patas de 120 voltios en una casa de América del Norte. O electrodomésticos trifásicos.
dispositivo_dominante:
 (booleano) (obligatorio si hay varios aparatos conectados a un medidor). ¿Este aparato es responsable de la mayor parte de la demanda de energía en este medidor?
on_power_threshold:
 (número) vatios. No requerido. El valor predeterminado se toma del tipo de dispositivo . El umbral (en vatios) que se utiliza para decidir si el dispositivo está encendido o apagado .
máximo poder:(número) vatios. No requerido.
min_off_duration:
 (número) (segundos) No es necesario.
min_on_duration:
 (número) (segundos) No es necesario.
habitación:ver ElecMeter-room
múltiple:(booleano) Verdadero si hay más de uno de estos dispositivos representados por este único applianceobjeto. Si hay exactamente un dispositivo, no lo especifique multiple.
contar:(int) Si hay más de uno de estos dispositivos representados por este applianceobjeto y si se conoce el número exacto de dispositivos, especifique ese número aquí.
control:(lista de cadenas) Proporcione una lista de todos los métodos de control que se aplican. Por ejemplo, una grabadora de video sería tanto «manual» como «temporizador». El vocabulario es: {‘temporizador’, ‘manual’, ‘movimiento’, ‘luz del sol’, ‘termostato’, ‘siempre encendido’}
clasificación_eficiencia:
 (dic):Nombre de certificacion: (cadena) por ejemplo, ‘SEDBUK’ o ‘Energy Star 5.0’clasificación:(cadena) por ejemplo, ‘A +’
consumo_nominal:
 (dict): Especificaciones informadas por el fabricante.en el poder:(número) potencia activa en vatios cuando está encendido.energía de reserva:(número) potencia activa en vatios cuando está en espera.energía_por_año: (número) kWh por añoenergía_por_ciclo: (número) kWh por ciclo
componentes:(lista de dictados): componentes de este aparato. Cada dict es un dict de Appliance.
modelo:(cuerda)
fabricante:(cuerda)
marca:(cuerda)
nombre original:(cuerda)
model_url:(cadena) URL para este modelo de dispositivo
fabricante_url:
 (cadena) URL del fabricante
fechas_activas:(lista de objetos TimeFrame , ver más abajo) Puede usarse para especificar un cambio en el dispositivo a lo largo del tiempo (por ejemplo, si un dispositivo se reemplaza por otro).
año_de_compra:
 (int) Año de cuatro dígitos.
año de fabricación:
 (int) Año de cuatro dígitos.
subtipo:(cuerda)
número de pieza:(cuerda)
gtin:(int) http://en.wikipedia.org/wiki/Global_Trade_Item_Number
versión:(cuerda)
portátil:(booleano)

Se especifican propiedades adicionales para algunos tipos de dispositivos. Busque objetos en nilm_metadata/central_metadata/appliances/*.yamlpara obtener más detalles.

Cuando un objeto Appliance se usa como componente de un ApplianceType, entonces el objeto Appliance puede tener un distributionsdict (ver ApplianceType:distributionsen Metadatos del dispositivo central ) especificado y también puede usar una propiedad que evita que el sistema fusione categorías del componente en el dispositivo contenedor.do_not_merge_categories: true

Periodo de tiempo

Representa un marco de tiempo arbitrario. Si el inicio o el final están ausentes, suponga que es igual al inicio o al final del conjunto de datos, respectivamente. Utilice el formato ISO 8601 para fechas o fechas (por ejemplo, 2014-03-17 o 2014-03-17T21: 00: 52 + 00: 00)

comienzo:(cuerda)
fin:(cuerda)

Metadatos del dispositivo central

Herencia

  • herencia protípica; como JavaScript
  • los dictados se actualizan; las listas se amplían; otras propiedades se sobrescriben
  • profundidad de herencia arbitraria

Componentes

  • recursivo
  • Las categorías de dispositivo contenedor se actualizan con categorías de cada componente (a menos que se establezca en el componente)do_not_merge_categories: true

Subtipos frente a un nuevo objeto secundario

Los objetos de especificación de dispositivo pueden tomar una propiedad de ‘subtipo’. ¿Por qué no utilizar la herencia para todos los subtipos? La regla general es que si un subtipo es funcionalmente diferente a su padre, entonces debe especificarse como un objeto independiente o secundario (por ejemplo, una encimera de gas y una encimera eléctrica claramente tienen perfiles de consumo de electricidad radicalmente diferentes) pero si las diferencias son menor (por ejemplo, una radio digital frente a una radio analógica), los aparatos deben especificarse como subtipos del mismo objeto.

Convenciones de nombres

  • las propiedades están en minúsculas con guiones bajos, por ejemplo, subtipo
  • los nombres de los objetos (no marcas y modelos específicos) están en minúsculas con espacios, a menos que sean acrónimos, en cuyo caso están en mayúsculas (por ejemplo, ‘LED’)
  • los nombres de las categorías están en minúsculas con espacios

Ejemplo

Para demostrar el sistema de herencia, veamos cómo especificar una caldera.

Primero, NILM Metadata especifica un objeto de ‘aparato de calefacción’, que se puede considerar la ‘clase base’:

aparato de calefacción : 
  padre :  categorías de aparato 
  : tradicional : tamaño de calefacción : grande
     
     

A continuación, especificamos un objeto ‘caldera’, que hereda de ‘aparato de calefacción’:

# ------------- CALDERAS ------------------------

caldera :  # todas las calderas excepto las calderas eléctricas

  padre :  aparato de calefacción

  sinónimos :  [ horno ]

  # Las categorías del objeto hijo se agregan 
  # a las categorías existentes en el padre. 
  categorías : 
    google_shopping : 
      -  climatización 
      -  hornos y calderas

  # Aquí especificamos que las calderas tienen un componente 
  # que es en sí mismo un objeto cuyo padre 
  # es "bomba de agua". 
  componentes : 
    -  tipo :  bomba de agua

  # Las calderas tienen una propiedad que la mayoría de los demás aparatos 
  # no tienen: una fuente de combustible. Especificamos 
  propiedades # 
  adicionales usando la sintaxis de esquema JSON. additional_properties : 
    fuel : 
      enum :  [ gas natural ,  carbón ,  madera ,  petróleo ,  GLP ]

  subtipos : 
    -  combi 
    -  regular

  # Podemos especificar los diferentes mecanismos que 
  # controlan la caldera. Esto es útil, por ejemplo, 
  # si queremos encontrar todos los aparatos que 
  # deben controlarse manualmente (por ejemplo, tostadoras) 
  control :  [ manual ,  temporizador ,  termostato ]

  # También podemos declarar conocimientos previos sobre calderas. 
  # Por ejemplo, sabemos que las calderas tienden a estar en 
  # baños, lavaderos o cocinas 
  distribuciones : 
    habitación : 
      distribución_de_datos : 
        categorías :  [ baño ,  servicios públicos ,  cocina ] 
        valores :  [ 0.3 ,  0.2 ,  0.2 ] 
        # Si los valores no suman a 1 entonces el supuesto 
        # es que la masa de probabilidad restante se distribuye igualmente a 
        # todas las demás habitaciones. 
      fuente :  subjetivo # ¡Estos valores son básicamente conjeturas!

Finalmente, en los metadatos del conjunto de datos en sí, podemos hacer:

tipo :  caldera 
fabricante :  Worcester 
modelo :  Greenstar 30CDi convencional de gas natural 
habitación :  baño 
year_of_purchase :  2011 
combustible :  gas natural 
subtipo :  regulares 
part_number :  41-311-71 
efficiency_rating : 
  certification_name :  SEDBUK 
  calificación :  Un 
nominal_consumption : 
  on_power :  70

Detalles del esquema

A continuación se muestra un diagrama de clases UML que muestra todas las clases y las relaciones entre clases:

_images / schema.svg

A continuación describimos todas las clases y sus atributos y posibles valores.

ApplianceType

Tiene muchos de los atributos que tiene Appliance , además de:

  • on_power_threshold
  • min_off_duration
  • min_on_duration
  • control
  • componentes
padre:(cadena) Nombre del objeto ApplianceType principal del que hereda este objeto.
categorías:(dictar)tradicional:(enumeración) uno de {húmedo, frío, electrónica de consumo, TIC, cocina, calefacción}Talla:(enumeración) uno de {small, large}eléctrico:(lista de cadenas) Cualquier combinación de:iluminación, incandescente, fluorescente, compacta, lineal, LEDresistadorelectrónica de potenciaSMPS, sin PFC, PFC pasivo, PFC activomotor de inducción monofásico, arranque-marcha del condensador, par constantemisceláneo:(enumeración) uno de {misc, sockets}google_shopping: (lista de cadenas) cualquier cosa del esquema de Google Shopping. por ejemplo: control de clima ‘,’ hornos y calderas ‘,’ energía renovable ‘,’ energía solar ‘,’ paneles solares ‘,’ computadoras ‘,’ electrónica ‘,’ computadoras portátiles ‘,’ impresoras y fotocopiadoras ‘,’ impresión, copia, escanear y enviar por fax ‘,’ impresoras ‘,’ aparatos de lavandería ‘,’ cocina y comedor ‘,’ aparatos de cocina ‘,’ panificadoras ‘
subtipos:(lista de cadenas) Una lista de todos los subtipos válidos.
propiedades_adicionales:
 (dict) Se utiliza para especificar propiedades adicionales que se pueden especificar para dispositivos de este tipo de dispositivo. Cada llave es una propiedad. Cada valor es una definición de esquema JSON de la propiedad.
do_not_inherit:(lista de cadenas) propiedades que no deben heredarse del padre.
sinónimos:(lista de cadenas)
componentes_usuales:
 (lista de cadenas) Solo una lista de sugerencias para lectores humanos.
n_ancestros:(int) Completado por _concatenate_complete_object.
distribuciones:(dict) Distribución de variables aleatorias.en el poder:(lista de objetos anteriores ) bin_edges en unidades de vatioson_duration:(lista de objetos anteriores ) bin_edges en unidades de segundosoff_duration:(lista de objetos anteriores ) bin_edges en unidades de segundosuso_hora_por_día: (lista de objetos anteriores ) bin_edges = [0,1,2,…, 24]uso_día_por_semana: (lista de objetos anteriores ) categorías = [‘mon’, ‘tue’,…, ‘sun’]use_month_per_year: (lista de objetos anteriores ) bin_edges están en unidades de días (necesitamos los bordes de bin porque los meses no tienen la misma longitud). El primer contenedor representa enero.habitaciones:(lista de objetos anteriores ) Distribución categórica en las habitaciones donde es probable que se utilice este aparato. Por ejemplo, para un frigorífico, podría ser «cocina: 0,9, garaje: 0,1». Utilice los nombres de habitación estándar definidos en room.json (los nombres de categoría en las distribuciones no se validan automáticamente).subtipos:(lista de objetos anteriores ) Distribución categórica sobre los subtipos.correlaciones_de_dispositivo: (lista de objetos anteriores ) lista de otros aparatos. Probabilidad de que este aparato esté encendido dado que el otro aparato está encendido. Por ejemplo, ‘ tv: 0.1 , amp: 0.4,…’ significa que hay un 10% de probabilidad de que este aparato esté encendido si el televisor está encendido. El nombre de cada categoría puede ser solo un nombre de dispositivo (p. Ej., ‘Nevera’) o <nombre de dispositivo>, <instancia de dispositivo> p. Ej., ‘Nevera, 1’propiedad_por_país: (lista de objetos anteriores ) Probabilidad de que este electrodoméstico sea propiedad de un hogar en cada país (es decir, una distribución categórica donde las categorías son el código de país estándar de dos letras definido por ISO 3166-1 alfa-2. Por ejemplo, ‘GB’ o ‘EE. UU.’ . http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2&nbsp;). Si la probabilidad se refiere a todo el mundo, utilice «GLOBAL» como código de país.propiedad_por_continente: (lista de objetos anteriores ) Probabilidad de que este electrodoméstico sea propiedad de un hogar en cada país (es decir, una distribución categórica donde las categorías son el código de continente estándar de dos letras definido en http://en.wikipedia.org/wiki/List_of_sovereign_states_and_dependent_territories_by_continent_%28data_file% 29

País

Un gran dict que especifica información específica del país. Especificado ennilm_metadata/central_metadata/country.yaml

Cada clave es un ‘país’ (cadena). Utilice un código de país estándar de dos letras definido por ISO 3166-1 alpha-2 . por ejemplo, «GB» o «EE. UU.».

Cada valor es un dict con los siguientes atributos:

tensión_de_ red:(dic):nominal:(número) (requerido) voltioslimite superior:(número) voltioslímite inferior:(número) voltiosdocumentos relacionados: (lista de cadenas)

Previo

Representar conocimientos previos. Para las variables continuas, especifique la distribución de los datos (es decir, los datos representados en un histograma) o una estimación de densidad (un modelo ajustado a los datos), o ambos. Para las variables categóricas, especifique la distribución categórica.

distribución_de_datos:
 (dict) Distribución de los datos expresados ​​comofrecuencias normalizadas por intervalo discreto (para variables continuas) o por categoría (para variables categóricas). Se puede usar ‘categorías’ en lugar de ‘bin_edges’ para variables continuas donde tenga sentido; por ejemplo, donde cada contenedor representa un día de la semanabin_edges:(lista de números de lista de cadenas) (obligatorio) | bin_edges | == | valores | + 1categorías:(lista de cadenas) (obligatorio) | bin_edges | == | valores |valores:(lista de números) (obligatorio) Las frecuencias normalizadas. Para variables continuas, en integral sobre el rango debe ser 1. Para variables categóricas, la suma de frecuencias puede ser <= 1. Si <1, el sistema asumirá que la masa restante se distribuye equitativamente en todas las demás categorías. Por ejemplo, para la probabilidad de que un frigorífico esté en una habitación específica, basta con indicar que la probabilidad de que un frigorífico esté en la cocina es 0,9.
modelo:(dict) Un modelo ajustado para describir la densidad de probabilidadfunción (para variables continuas) o la función de masa de probabilidad (para variables discretas). Use propiedades adicionales para los parámetros relevantes, escritas como letras griegas en inglés en minúsculas, por ejemplo, ‘mu’ y ‘lambda’, excepto para las estadísticas de resumen donde usamos alguna combinación de ‘min’, ‘max’, ‘mean’, ‘mode’ .nombre_distribucion: (enumeración) uno de {‘normal’, ‘gaussiano inverso’, ‘resumen de estadísticas’}sum_of_squared_error: (número)
n_datapoints:(En t)
Fecha Preparada:(cadena) Formato de fecha ISO 8601
fuente:(enumeración) uno de {‘subjetivo’, ‘empírico a partir de datos’, ‘empírico a partir de publicación’}. ¿Cuál es la fuente de este previo? Si es de publicación, utilice related_documentspara proporcionar referencias. Si procede de datos, proporcione detalles mediante las propiedades softwaretraining_data.
documentos relacionados:
 (lista de cadenas) Si ‘fuente == empírica de la publicación’ entonces ingrese la (s) referencia (s) aquí.
software:(cadena) el software utilizado para generar el anterior a partir de los datos.
específico a:(dic):país:(cadena) código de país estándar de dos letras definido por ISO 3166-1 alpha-2, por ejemplo, ‘GB’ o ‘US’.continente:(cadena) código continente estándar de dos letras definido en WikiPedia
distancia:(int) esto se completa con la concatenate_complete_objectfunción e informa la distancia (en número de generaciones) entre este objeto anterior y el más derivado. En otras palabras, cuanto mayor sea este número, menos específico del objeto es este anterior. Si no se establece, el anterior se aplica al objeto actual.
from_appliance_type:
 (cadena) esto lo completa la concatenate_complete_objectfunción e informa el nombre del tipo de dispositivo de la jerarquía del ancestro de donde proviene esta distribución.
descripción:(cuerda)
datos de entrenamiento:(conjunto de dictados). Cada elemento es un dictado con estas propiedades:conjunto de datos:(cadena) Nombre corto del conjunto de datosedificios:(lista de dictados):building_id:(En t)fechas:(lista de objetos de esquema de intervalo )país:(cadena) código de país estándar de dos letras definido por ISO 3166-1 alpha-2, por ejemplo, ‘GB’ o ‘US’.

DesgloseModelo

Esto aún no está especialmente bien definido. Solo un boceto inicial. La idea básica es que podríamos especificar modelos para cada tipo de aparato.

tipo_de_dispositivo:(cadena) Referencia al ApplianceType específico que estamos modelando.
tipo de modelo:(enumeración) uno de {‘HMM’, ‘FHMM’, ‘optimización para gobernador’}
parámetros:(dict) Parámetros específicos de cada tipo de modelo.

DisaggregationModel reutiliza varias propiedades de Prior :

  • datos de entrenamiento
  • específico a
  • software
  • documentos relacionados
  • Fecha Preparada
  • descripción

Cómo seleccionar columnas con Pandas


Mientras trabaja en proyectos de ciencia de datos, generalmente obtiene una gran cantidad de datos. Pero es posible que deba trabajar solo con un subconjunto de columnas de los datos. Esta selección de datos necesarios se realiza para simplificar las tareas. Además, las velocidades de cálculo también se mejoran al trabajar con un conjunto de datos más pequeño. Hay varias maneras de seleccionar columnas de trama de datos, incluyendo locilocfilter, etc. Este post cubre todos los métodos con ejemplos.

Crear un conjunto de datos de muestra

Comience creando un marco de datos de pandas simple como se muestra a continuación. Tiene 6 columnas.

# Import packages
import pandas as pd

# Create a dataframe
df = pd.DataFrame(
                   data= [['HR', 'Orange', 'Wheat', 30, 165, 4.6],
                        ['DL', 'Purple', 'Flour', 2, 70, 8.3],
                        ['MH', 'Red', 'Mango', 12, 120, 9.0],
                        ['AS', 'Black', 'Apple', 4, 80, 3.3],
                        ['GJ', 'Blue', 'Milk', 32, 180, 1.8],
                        ['KL', 'Green', 'Melon', 33, 172, 9.5],
                        ['PB', 'Magenta', 'Beans', 69, 150, 2.2]],

                    columns=['State', 'Color', 'Food', 'Average Age', 'Average Height', 'Score']
                )
df

Crear marco de datos

1. Selección de columna básica

Una de las formas más básicas en pandas para seleccionar columnas del marco de datos es pasando la lista de columnas al operador de indexación del objeto del marco de datos.

# Selecting columns by passing a list of desired columns
df[['Color', 'Score']]

Columna de selección de pandas

2. Selección de columnas mediante la lista de columnas

El dataframe_name.columnsdevuelve la lista de todas las columnas de la trama de datos. Puede usar esto como una de las formas de acceder a múltiples columnas en pandas. Debe pasar la lista modificada de columnas en el operador de indexación del marco de datos. Este método se puede realizar de dos formas:

A. Pasando la lista de columnas divididas

Puede dividir los nombres de columna deseados de la lista de todas las columnas devueltas dataframe_name.columnspor indexación.

# slicing df.columns to access the last two columns of the dataframe

df[df.columns[-2:]]
Pandas Seleccionar columna usando la lista

B. Búsqueda de columnas deseadas usando isin()

La función se usa para verificar si un elemento está presente en la lista. Aquí, la función se puede usar para verificar si el nombre de una columna está presente en la lista, así como la lista de columnas deseadas. Esto ayuda a seleccionar varias columnas de la lista de todas las columnas. La función devuelve una matriz booleana, donde valor denota que el nombre de la columna estaba presente en ambas listas.isin(), the isin()df.columnsTrue

# Creating the boolean mask
booleanMask = df.columns.isin(['State', 'Food'])

# saving the selected columns 
selectedCols = df.columns[booleanMask]

# selecting the desired columns
df[selectedCols]

Pandas Seleccionar columna usando la función isin

3. Usar .loc y .iloc para seleccionar columnas por nombre o posición

Los pandas y los indexadores se pueden usar con el marco de datos de pandas para reducir un marco de datos grande en un marco de datos pequeño. Estos indexadores se pueden utilizar para la selección de filas y columnas..loc.iloc

A. Usando indexador.loc

The loctoma nombres de columnas o listas de columnas y devuelve una fila o un marco de datos. El indexador toma tanto filas como columnas. Por lo tanto, para seleccionar solo columnas del marco de datos, puede dejar la división de filas como :, lo que seleccionará todas las filas del marco de datos.

Para la división de columnas, puede pasar el nombre de la columna que se seleccionará.

# .loc single column selection 
df.loc[:, 'Food' ]

0    Wheat
1    Flour
2    Mango
3    Apple
4     Milk
5    Melon
6    Beans
Name: Food, dtype: object

Si desea seleccionar varias columnas, pase una lista de columnas.

# .loc multiple column selection
df.loc[:, ['State', 'Food'] ]
Pandas Seleccionar columna usando loc

B. Usando indexador.iloc

The ilocindexador es similar al indexador. La única diferencia es que toma índices de columnas o índices de listas de columnas y devuelve una fila o marco de datos..lociloc

Aquí también, puede dejar la división de filas :para seleccionar todas las filas y para la división de columnas, puede pasar los índices de la columna o una lista de índices de las columnas que se seleccionarán.

# .iloc single column selection 
df.iloc[:, 0]

0    HR
1    DL
2    MH
3    AS
4    GJ
5    KL
6    PB
Name: State, dtype: object

# .iloc single column selection 
df.iloc[:, [0, 2, 3] ]
Pandas Seleccionar columna usando iloc

4. Usar métodos de filtro para seleccionar columnas que contienen ciertas palabras.

Puede usar la función de filtro del marco de datos de pandas para seleccionar columnas que contengan una cadena específica en los nombres de las columnas.

El parámetro likede la función define esta cadena específica. Si el nombre de una columna contiene la cadena especificada, esa columna se seleccionará y se devolverá el marco de datos..filter

# selecting columns where column name contains 'Average' string
df.filter(like='Average')

5. Pandas Selecciona columnas según su tipo de datos.

El marco de datos de Pandas tiene la función select_dtypes, que tiene un includeparámetro. Especifique el tipo de datos de las columnas que desea seleccionar usando este parámetro. Esto puede resultarle útil si desea seleccionar solo columnas de tipos de datos específicos del marco de datos.

# selecting integer valued columns
df.select_dtypes(include=['int64'])
Selección basada en el tipo de datos

Consejos prácticos

  • También puede seleccionar columnas basadas en reglas de expresiones regulares. Utilice el regexparámetro en la función de filtro para obtener columnas donde los nombres de columna se evalúan como Verdadero en una expresión dada.
  • La selección de columnas según los tipos de datos puede resultar útil al realizar un análisis exploratorio de datos. Tendrá diferentes tipos de datos separados, lo que eliminará el proceso de crear manualmente la lista de columnas para diferentes tipos de datos.

Keras


El aprendizaje profundo es uno de los principales subcampos del marco de aprendizaje automático. El aprendizaje automático es el estudio del diseño de algoritmos, inspirado en el modelo del cerebro humano. El aprendizaje profundo se está volviendo más popular en los campos de la ciencia de datos como la robótica, la inteligencia artificial (IA), el reconocimiento de audio y video y el reconocimiento de imágenes. La red neuronal artificial es el núcleo de las metodologías de aprendizaje profundo. El aprendizaje profundo es compatible con varias bibliotecas como Theano, TensorFlow, Caffe, Mxnet, etc., Keras es una de las bibliotecas de Python más potentes y fáciles de usar, que se basa en bibliotecas populares de aprendizaje profundo como TensorFlow, Theano, etc. , para crear modelos de aprendizaje profundo.

Descripción general de Keras

Keras se ejecuta sobre bibliotecas de máquinas de código abierto como TensorFlow, Theano o Cognitive Toolkit (CNTK). Theano es una biblioteca de Python que se utiliza para tareas de cálculo numérico rápido. TensorFlow es la biblioteca matemática simbólica más famosa que se utiliza para crear redes neuronales y modelos de aprendizaje profundo. TensorFlow es muy flexible y el beneficio principal es la computación distribuida. CNTK es un marco de aprendizaje profundo desarrollado por Microsoft. Utiliza bibliotecas como Python, C #, C ++ o kits de herramientas de aprendizaje automático independientes. Theano y TensorFlow son bibliotecas muy poderosas pero difíciles de entender para crear redes neuronales.

Keras se basa en una estructura mínima que proporciona una forma limpia y sencilla de crear modelos de aprendizaje profundo basados ​​en TensorFlow o Theano. Keras está diseñado para definir rápidamente modelos de aprendizaje profundo. Bueno, Keras es una opción óptima para aplicaciones de aprendizaje profundo.

Características

Keras aprovecha varias técnicas de optimización para hacer que la API de red neuronal de alto nivel sea más fácil y más eficiente. Es compatible con las siguientes funciones:

  • API consistente, simple y extensible.
  • Estructura mínima: fácil de lograr el resultado sin lujos.
  • Es compatible con múltiples plataformas y backends.
  • Es un marco fácil de usar que se ejecuta tanto en CPU como en GPU.
  • Gran escalabilidad de la computación.

Beneficios

Keras es un marco muy potente y dinámico y ofrece las siguientes ventajas:

  • Mayor apoyo de la comunidad.
  • Fácil de probar.
  • Las redes neuronales de Keras están escritas en Python, lo que simplifica las cosas.
  • Keras admite redes convolucionales y recurrentes.
  • Los modelos de aprendizaje profundo son componentes discretos, por lo que puede combinarlos de muchas formas.

mo instalar Keras en su máquina. Antes de pasar a la instalación, repasemos los requisitos básicos de Keras.

Prerrequisitos

Debe cumplir los siguientes requisitos:

  • Cualquier tipo de sistema operativo (Windows, Linux o Mac)
  • Python versión 3.5 o superior.

Python

Keras es una biblioteca de redes neuronales basada en Python, por lo que Python debe estar instalado en su máquina. Si python está instalado correctamente en su máquina, abra su terminal y escriba python, podría ver la respuesta similar a la que se especifica a continuación,

Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 17:00:18) 
[MSC v.1900 64 bit (AMD64)] on win32 
Type "help", "copyright", "credits" or "license" for more information. 
>>>

A partir de ahora, la última versión es ‘3.7.2’. Si Python no está instalado, visite el enlace oficial de Python – www.python.org y descargue la última versión basada en su sistema operativo e instálela inmediatamente en su sistema.

Pasos de instalación de Keras

La instalación de Keras es bastante sencilla. Siga los pasos a continuación para instalar correctamente Keras en su sistema.

Paso 1: Crear un entorno virtual

Virtualenv se utiliza para administrar paquetes de Python para diferentes proyectos. Esto será útil para evitar romper los paquetes instalados en los otros entornos. Por lo tanto, siempre se recomienda utilizar un entorno virtual al desarrollar aplicaciones Python.

Linux / Mac OS

Usuarios de Linux o Mac OS, vaya al directorio raíz de su proyecto y escriba el siguiente comando para crear un entorno virtual,

python3 -m venv kerasenv

Después de ejecutar el comando anterior, se crea el directorio «kerasenv» con bin, lib e incluye carpetas en su ubicación de instalación.

Ventanas

El usuario de Windows puede usar el siguiente comando,

py -m venv keras

Paso 2: Activa el medio

Este paso configurará los ejecutables de python y pip en su ruta de shell.

Linux / Mac OS

Ahora hemos creado un entorno virtual llamado «kerasvenv». Vaya a la carpeta y escriba el siguiente comando,

$ cd kerasvenv kerasvenv $ source bin/activate

Ventanas

Los usuarios de Windows se mueven dentro de la carpeta «kerasenv» y escriben el siguiente comando,

.\env\Scripts\activate

Paso 3: Bibliotecas de Python

Keras depende de las siguientes bibliotecas de Python.

  • Numpy
  • Pandas
  • Scikit-aprender
  • Matplotlib
  • Scipy
  • Seaborn

Con suerte, ha instalado todas las bibliotecas anteriores en su sistema. Si estas bibliotecas no están instaladas, utilice el siguiente comando para instalarlas una por una.

numpy

pip install numpy

podrías ver la siguiente respuesta,

Collecting numpy 
   Downloading 
https://files.pythonhosted.org/packages/cf/a4/d5387a74204542a60ad1baa84cd2d3353c330e59be8cf2d47c0b11d3cde8/ 
   numpy-3.1.1-cp36-cp36m-macosx_10_6_intel.
macosx_10_9_intel.macosx_10_9_x86_64. 
   macosx_10_10_intel.macosx_10_10_x86_64.whl (14.4MB) 
      |████████████████████████████████| 14.4MB 2.8MB/s

pandas

pip install pandas

Pudimos ver la siguiente respuesta,

Collecting pandas 
   Downloading 
https://files.pythonhosted.org/packages/cf/a4/d5387a74204542a60ad1baa84cd2d3353c330e59be8cf2d47c0b11d3cde8/ 
pandas-3.1.1-cp36-cp36m-macosx_10_6_intel.
macosx_10_9_intel.macosx_10_9_x86_64. 
   macosx_10_10_intel.macosx_10_10_x86_64.whl (14.4MB) 
      |████████████████████████████████| 14.4MB 2.8MB/s

matplotlib

pip install matplotlib

Pudimos ver la siguiente respuesta,

Collecting matplotlib 
   Downloading 
https://files.pythonhosted.org/packages/cf/a4/d5387a74204542a60ad1baa84cd2d3353c330e59be8cf2d47c0b11d3cde8/ 
matplotlib-3.1.1-cp36-cp36m-macosx_10_6_intel.
macosx_10_9_intel.macosx_10_9_x86_64. 
   macosx_10_10_intel.macosx_10_10_x86_64.whl (14.4MB) 
      |████████████████████████████████| 14.4MB 2.8MB/s

scipy

pip install scipy

Pudimos ver la siguiente respuesta,

Collecting scipy 
   Downloading 
https://files.pythonhosted.org/packages/cf/a4/d5387a74204542a60ad1baa84cd2d3353c330e59be8cf2d47c0b11d3cde8 
/scipy-3.1.1-cp36-cp36m-macosx_10_6_intel.
macosx_10_9_intel.macosx_10_9_x86_64. 
   macosx_10_10_intel.macosx_10_10_x86_64.whl (14.4MB) 
      |████████████████████████████████| 14.4MB 2.8MB/s

scikit-learn

Es una biblioteca de aprendizaje automático de código abierto. Se utiliza para algoritmos de clasificación, regresión y agrupamiento. Antes de pasar a la instalación, se requiere lo siguiente:

  • Python versión 3.5 o superior
  • NumPy versión 1.11.0 o superior
  • SciPy versión 0.17.0 o superior
  • joblib 0.11 o superior.

Ahora, instalamos scikit-learn usando el siguiente comando:

pip install -U scikit-learn

Seaborn

Seaborn es una biblioteca increíble que le permite visualizar fácilmente sus datos. Utilice el siguiente comando para instalar:

pip install seaborn

Puede ver un mensaje similar al que se especifica a continuación:

Collecting seaborn 
   Downloading 
https://files.pythonhosted.org/packages/a8/76/220ba4420459d9c4c9c9587c6ce607bf56c25b3d3d2de62056efe482dadc 
/seaborn-0.9.0-py3-none-any.whl (208kB) 100% 
   |████████████████████████████████| 215kB 4.0MB/s 
Requirement already satisfied: numpy> = 1.9.3 in 
./lib/python3.7/site-packages (from seaborn) (1.17.0) 
Collecting pandas> = 0.15.2 (from seaborn) 
   Downloading 
https://files.pythonhosted.org/packages/39/b7/441375a152f3f9929ff8bc2915218ff1a063a59d7137ae0546db616749f9/ 
pandas-0.25.0-cp37-cp37m-macosx_10_9_x86_64.
macosx_10_10_x86_64.whl (10.1MB) 100% 
   |████████████████████████████████| 10.1MB 1.8MB/s 
Requirement already satisfied: scipy>=0.14.0 in 
./lib/python3.7/site-packages (from seaborn) (1.3.0) 
Collecting matplotlib> = 1.4.3 (from seaborn) 
   Downloading 
https://files.pythonhosted.org/packages/c3/8b/af9e0984f
5c0df06d3fab0bf396eb09cbf05f8452de4e9502b182f59c33b/ 
matplotlib-3.1.1-cp37-cp37m-macosx_10_6_intel.
macosx_10_9_intel.macosx_10_9_x86_64 
.macosx_10_10_intel.macosx_10_10_x86_64.whl (14.4MB) 100% 
   |████████████████████████████████| 14.4MB 1.4MB/s 
...................................... 
...................................... 
Successfully installed cycler-0.10.0 kiwisolver-1.1.0 
matplotlib-3.1.1 pandas-0.25.0 pyparsing-2.4.2 
python-dateutil-2.8.0 pytz-2019.2 seaborn-0.9.0

Instalación de Keras usando Python

A partir de ahora, hemos completado los requisitos básicos para la instalación de Kera. Ahora, instale Keras usando el mismo procedimiento que se especifica a continuación:

pip install keras

Salir del entorno virtual

Después de finalizar todos los cambios en su proyecto, simplemente ejecute el siguiente comando para salir del entorno:

deactivate

Nube Anaconda

Creemos que ha instalado anaconda cloud en su máquina. Si anaconda no está instalado, visite el enlace oficial, www.anaconda.com/distribution y elija descargar según su sistema operativo.

Crear un nuevo entorno de conda

Inicie el indicador de anaconda, esto abrirá el entorno base de Anaconda. Creemos un nuevo entorno de conda. Este proceso es similar al virtualenv. Escriba el siguiente comando en su terminal conda –

conda create --name PythonCPU

Si lo desea, también puede crear e instalar módulos utilizando GPU. En este tutorial, seguimos las instrucciones de la CPU.

Activar entorno conda

Para activar el entorno, use el siguiente comando:

activate PythonCPU

Instalar spyder

Spyder es un IDE para ejecutar aplicaciones de Python. Instalemos este IDE en nuestro entorno conda usando el siguiente comando:

conda install spyder

Instalar bibliotecas de Python

Ya conocemos las bibliotecas de python numpy, pandas, etc., necesarias para keras. Puede instalar todos los módulos utilizando la siguiente sintaxis:

Sintaxis

conda install -c anaconda <module-name>

Por ejemplo, desea instalar pandas:

conda install -c anaconda pandas

Como el mismo método, pruébelo usted mismo para instalar los módulos restantes.

Instalar Keras

Ahora, todo se ve bien, por lo que puede iniciar la instalación de keras usando el siguiente comando:

conda install -c anaconda keras

Lanzar spyder

Finalmente, inicie spyder en su terminal conda usando el siguiente comando:

spyder

Para asegurarse de que todo se instaló correctamente, importe todos los módulos, agregará todo y, si algo salió mal, obtendrá un mensaje de error de módulo no encontrado .

TensorFlow

TensorFlow es una biblioteca de aprendizaje automático de código abierto que se utiliza para tareas computacionales numéricas desarrolladas por Google. Keras es una API de alto nivel construida sobre TensorFlow o Theano. Ya sabemos cómo instalar TensorFlow usando pip.

Si no está instalado, puede instalar usando el siguiente comando:

pip install TensorFlow

Una vez que ejecutamos keras, podríamos ver que el archivo de configuración está ubicado en su directorio de inicio dentro y vamos a .keras / keras.json.

keras.json

{ 
   "image_data_format": "channels_last", 
   "epsilon": 1e-07, "floatx": "float32", "backend": "tensorflow" 
}

Aquí,

  • image_data_format representan el formato de datos.
  • épsilon representa una constante numérica. Se utiliza para evitar el error DivideByZero .
  • float x representa el tipo de datos predeterminado float32 . También puede cambiarlo a float16 o float64 usando el método set_floatx () .
  • image_data_format representan el formato de datos.

Supongamos que, si el archivo no se crea, muévase a la ubicación y cree siguiendo los pasos a continuación:

> cd home 
> mkdir .keras 
> vi keras.json

Recuerde, debe especificar .keras como su nombre de carpeta y agregar la configuración anterior dentro del archivo keras.json. Podemos realizar algunas operaciones predefinidas para conocer las funciones de backend.

Theano

Theano es una biblioteca de aprendizaje profundo de código abierto que le permite evaluar matrices multidimensionales de manera efectiva. Podemos instalar fácilmente usando el siguiente comando:

pip install theano

De forma predeterminada, keras usa el backend de TensorFlow. Si desea cambiar la configuración de backend de TensorFlow a Theano, simplemente cambie backend = theano en el archivo keras.json. Se describe a continuación:

keras.json

{ 
   "image_data_format": "channels_last", 
   "epsilon": 1e-07, 
   "floatx": "float32", 
   "backend": "theano" 
}

Ahora guarde su archivo, reinicie su terminal e inicie keras, se cambiará su backend.

>>> import keras as k 
using theano backend.

El aprendizaje profundo es un subcampo en evolución del aprendizaje automático. El aprendizaje profundo implica analizar la entrada capa por capa, donde cada capa extrae progresivamente información de nivel superior sobre la entrada.

Tomemos un escenario simple de analizar una imagen. Supongamos que su imagen de entrada está dividida en una cuadrícula rectangular de píxeles. Ahora, la primera capa abstrae los píxeles. La segunda capa comprende los bordes de la imagen. La siguiente capa construye nodos a partir de los bordes. Luego, el siguiente encontraría ramas de los nodos. Finalmente, la capa de salida detectará el objeto completo. Aquí, el proceso de extracción de características va desde la salida de una capa hasta la entrada de la siguiente capa subsiguiente.

Al utilizar este enfoque, podemos procesar una gran cantidad de funciones, lo que hace que el aprendizaje profundo sea una herramienta muy poderosa. Los algoritmos de aprendizaje profundo también son útiles para el análisis de datos no estructurados. Repasemos los conceptos básicos del aprendizaje profundo en este capítulo.

Redes neuronales artificiales

El enfoque más popular y principal del aprendizaje profundo es el uso de una «red neuronal artificial» (ANN). Están inspirados en el modelo del cerebro humano, que es el órgano más complejo de nuestro cuerpo. El cerebro humano está formado por más de 90 mil millones de células diminutas llamadas «neuronas». Las neuronas están interconectadas a través de fibras nerviosas llamadas «axones» y «dendritas». La función principal del axón es transmitir información de una neurona a otra a la que está conectada.

Del mismo modo, la función principal de las dendritas es recibir la información que transmiten los axones de otra neurona a la que están conectadas. Cada neurona procesa una pequeña información y luego pasa el resultado a otra neurona y este proceso continúa. Este es el método básico utilizado por nuestro cerebro humano para procesar una gran cantidad de información como el habla, visual, etc., y extraer información útil de ella.

Basado en este modelo, la primera Red Neural Artificial (ANN) fue inventada por el psicólogo Frank Rosenblatt , en el año de 1958. Las ANN están formadas por múltiples nodos que son similares a las neuronas. Los nodos están estrechamente interconectados y organizados en diferentes capas ocultas. La capa de entrada recibe los datos de entrada y los datos pasan por una o más capas ocultas secuencialmente y finalmente la capa de salida predice algo útil sobre los datos de entrada. Por ejemplo, la entrada puede ser una imagen y la salida puede ser la cosa identificada en la imagen, digamos un «gato».

Una sola neurona (llamada perceptrón en ANN) se puede representar como se muestra a continuación:

Redes neuronales artificiales

Aquí,

  • La entrada múltiple junto con el peso representan dendritas.
  • La suma de la entrada junto con la función de activación representa las neuronas. En realidad, la suma significa que el valor calculado de todas las entradas y la función de activación representan una función, que modifica el valor de la suma en 0, 1 o 0 a 1.
  • La salida real representa el axón y la salida será recibida por la neurona en la siguiente capa.

Entendamos los diferentes tipos de redes neuronales artificiales en esta sección.

Perceptrón multicapa

El perceptrón multicapa es la forma más simple de ANN. Consiste en una sola capa de entrada, una o más capas ocultas y finalmente una capa de salida. Una capa consta de una colección de perceptrón. La capa de entrada es básicamente una o más características de los datos de entrada. Cada capa oculta consta de una o más neuronas y procesa cierto aspecto de la característica y envía la información procesada a la siguiente capa oculta. El proceso de la capa de salida recibe los datos de la última capa oculta y finalmente genera el resultado.

Perceptrón multicapa

Red neuronal convolucional (CNN)

La red neuronal convolucional es una de las ANN más populares. Es ampliamente utilizado en los campos del reconocimiento de imágenes y video. Se basa en el concepto de convolución, un concepto matemático. Es casi similar al perceptrón multicapa, excepto que contiene una serie de capas de convolución y una capa de agrupación antes de la capa de neuronas ocultas completamente conectadas. Tiene tres capas importantes:

  • Capa de convolución : es el bloque de construcción principal y realiza tareas computacionales basadas en la función de convolución.
  • Capa de agrupación : se organiza junto a la capa de convolución y se utiliza para reducir el tamaño de las entradas eliminando información innecesaria para que el cálculo se pueda realizar más rápido.
  • Capa completamente conectada : se organiza junto a una serie de capas de convolución y agrupación y clasifica la entrada en varias categorías.

Una CNN simple se puede representar de la siguiente manera:

CNN

Aquí,

  • Se utilizan 2 series de capas de convolución y agrupación, que reciben y procesan la entrada (por ejemplo, la imagen).
  • Se utiliza una única capa completamente conectada y se utiliza para generar los datos (por ejemplo, clasificación de la imagen)

Red neuronal recurrente (RNN)

Las redes neuronales recurrentes (RNN) son útiles para abordar la falla en otros modelos de ANN. Bueno, la mayoría de la RNA no recuerda los pasos de situaciones anteriores y aprendió a tomar decisiones basadas en el contexto en el entrenamiento. Mientras tanto, RNN almacena la información pasada y todas sus decisiones se toman de lo que ha aprendido del pasado.

Este enfoque es principalmente útil en la clasificación de imágenes. A veces, es posible que necesitemos mirar hacia el futuro para arreglar el pasado. En este caso, la RNN bidireccional es útil para aprender del pasado y predecir el futuro. Por ejemplo, tenemos muestras escritas a mano en múltiples entradas. Supongamos que tenemos confusión en una entrada y luego tenemos que volver a comprobar otras entradas para reconocer el contexto correcto que toma la decisión del pasado.

Flujo de trabajo de ANN

Primero entendamos las diferentes fases del aprendizaje profundo y luego, aprendamos cómo Keras ayuda en el proceso de aprendizaje profundo.

Recopile los datos requeridos

El aprendizaje profundo requiere una gran cantidad de datos de entrada para aprender y predecir con éxito el resultado. Por lo tanto, primero recopile la mayor cantidad de datos posible.

Analizar datos

Analice los datos y adquiera una buena comprensión de los datos. Se requiere una mejor comprensión de los datos para seleccionar el algoritmo ANN correcto.

Elija un algoritmo (modelo)

Elija un algoritmo que se adapte mejor al tipo de proceso de aprendizaje (por ejemplo, clasificación de imágenes, procesamiento de texto, etc.) y los datos de entrada disponibles. El algoritmo está representado por Model en Keras. El algoritmo incluye una o más capas. Cada capa en ANN puede ser representada por Keras Layer en Keras.

  • Preparar datos : procese, filtre y seleccione solo la información requerida de los datos.
  • Dividir datos : divida los datos en conjuntos de datos de entrenamiento y de prueba. Los datos de prueba se utilizarán para evaluar la predicción del algoritmo / modelo (una vez que la máquina aprenda) y para verificar la eficiencia del proceso de aprendizaje.
  • Compile el modelo : compile el algoritmo / modelo, de modo que se pueda usar más para aprender mediante el entrenamiento y finalmente hacer la predicción. Este paso nos obliga a elegir la función de pérdida y el Optimizador. La función de pérdida y el Optimizador se utilizan en la fase de aprendizaje para encontrar el error (desviación de la salida real) y realizar la optimización para minimizar el error.
  • Ajustar el modelo : el proceso de aprendizaje real se realizará en esta fase utilizando el conjunto de datos de entrenamiento.
  • Predecir el resultado para el valor desconocido : predice la salida para los datos de entrada desconocidos (que no sean los datos de prueba y entrenamiento existentes)
  • Evaluar modelo : evalúe el modelo mediante la predicción de la salida de los datos de prueba y la comparación cruzada de la predicción con el resultado real de los datos de prueba.
  • Congelar, modificar o elegir un nuevo algoritmo : compruebe si la evaluación del modelo es correcta. En caso afirmativo, guarde el algoritmo para fines de predicción futura. Si no es así, modifique o elija un nuevo algoritmo / modelo y, finalmente, entrene, prediga y evalúe nuevamente el modelo. Repita el proceso hasta encontrar el mejor algoritmo (modelo).


Los pasos anteriores se pueden representar utilizando el siguiente diagrama de flujo:

ANA

Arquitectura de Keras

La API de Keras se puede dividir en tres categorías principales:

  • Modelo
  • Capa
  • Módulos centrales

En Keras, cada RNA está representada por Keras Models . A su vez, cada modelo de Keras es una composición de capas de Keras y representa capas de ANN como entrada, capa oculta, capas de salida, capa de convolución, capa de agrupación, etc., el modelo de Keras y la capa de acceso a los módulos de Keras para función de activación, función de pérdida, función de regularización, etc., utilizando el modelo de Keras, la capa de Keras y los módulos de Keras, cualquier algoritmo ANN (CNN, RNN, etc.) se puede representar de una manera simple y eficiente.

El siguiente diagrama muestra la relación entre el modelo, la capa y los módulos centrales:

Arquitectura de Keras

Veamos la descripción general de los modelos de Keras, las capas de Keras y los módulos de Keras.

Modelo

Los modelos Keras son de dos tipos, como se menciona a continuación:

Modelo secuencial: el modelo secuencial es básicamente una composición lineal de capas de Keras. El modelo secuencial es sencillo, mínimo y tiene la capacidad de representar casi todas las redes neuronales disponibles.

Un modelo secuencial simple es el siguiente:

from keras.models import Sequential 
from keras.layers import Dense, Activation 

model = Sequential()  
model.add(Dense(512, activation = 'relu', input_shape = (784,)))

Dónde,

  • La línea 1 importa el modelo secuencial de los modelos de Keras

  • La línea 2 importa la capa densa y el módulo de activación

  • Line 4 crea un nuevo modelo secuencial usando API secuencial

  • La línea 5 agrega una capa densa (API densa) con la función de activación relu (usando el módulo de activación).

El modelo secuencial expone la clase Model para crear modelos personalizados también. Podemos utilizar el concepto de subclasificación para crear nuestro propio modelo complejo.

API funcional: la API funcional se utiliza básicamente para crear modelos complejos.

Capa

Cada capa de Keras en el modelo de Keras representa la capa correspondiente (capa de entrada, capa oculta y capa de salida) en el modelo de red neuronal propuesto. Keras proporciona muchas capas preconstruidas para que cualquier red neuronal compleja se pueda crear fácilmente. Algunas de las capas importantes de Keras se especifican a continuación,

  • Capas centrales
  • Capas de convolución
  • Capas de agrupación
  • Capas recurrentes

Un código Python simple para representar un modelo de red neuronal usando un modelo secuencial es el siguiente:

from keras.models import Sequential 
from keras.layers import Dense, Activation, Dropout model = Sequential() 

model.add(Dense(512, activation = 'relu', input_shape = (784,))) 
model.add(Dropout(0.2)) 
model.add(Dense(512, activation = 'relu')) model.add(Dropout(0.2)) 
model.add(Dense(num_classes, activation = 'softmax'))

Dónde,

  • La línea 1 importa el modelo secuencial de los modelos de Keras

  • La línea 2 importa la capa densa y el módulo de activación

  • Line 4 crea un nuevo modelo secuencial usando API secuencial

  • La línea 5 agrega una capa densa (API densa) con la función de activación relu (usando el módulo de activación).

  • La línea 6 agrega una capa de abandono (API de abandono) para manejar el sobreajuste.

  • La línea 7 agrega otra capa densa (API densa) con la función de activación relu (usando el módulo de activación).

  • La línea 8 agrega otra capa de abandono (API de abandono) para manejar el sobreajuste.

  • La línea 9 agrega una capa densa final (API densa) con la función de activación softmax (usando el módulo de activación).

Keras también ofrece opciones para crear nuestras propias capas personalizadas. La capa personalizada se puede crear subclasificando la clase Keras.Layer y es similar a la subclasificación de modelos Keras.

Módulos centrales

Keras también proporciona muchas funciones integradas relacionadas con la red neuronal para crear correctamente el modelo de Keras y las capas de Keras. Algunas de las funciones son las siguientes:

  • Módulo de activaciones: la función de activación es un concepto importante en ANN y los módulos de activación proporcionan muchas funciones de activación como softmax, relu, etc.

  • Módulo de pérdida: el módulo de pérdida proporciona funciones de pérdida como mean_squared_error, mean_absolute_error, poisson, etc.

  • Módulo optimizador: el módulo optimizador proporciona una función de optimización como adam, sgd, etc.

  • Regularizadores : el módulo Regularizador proporciona funciones como regularizador L1, regularizador L2, etc.

Mas información en https://www.tutorialspoint.com/keras/

scikit-learn: Guardar y restaurar modelos


En muchas ocasiones, mientras trabaja con la biblioteca scikit-learn , deberá guardar sus modelos de predicción en un archivo y luego restaurarlos para reutilizar su trabajo anterior para: probar su modelo con datos nuevos, comparar varios modelos o Algo más. Este procedimiento de guardado también se conoce como serialización de objetos: representa un objeto con un flujo de bytes para almacenarlo en el disco, enviarlo a través de una red o guardarlo en una base de datos, mientras que el procedimiento de restauración se conoce como deserialización. En este artículo, analizamos tres formas posibles de hacer esto en Python y scikit-learn, cada una presentada con sus pros y sus contras.

Herramientas para guardar y restaurar modelos

La primera herramienta que describimos es Pickle , la herramienta estándar de Python para la (des) serialización de objetos. Luego, miramos la biblioteca Joblib que ofrece (des) serialización fácil de objetos que contienen matrices de datos grandes, y finalmente presentamos un enfoque manual para guardar y restaurar objetos hacia / desde JSON (JavaScript Object Notation). Ninguno de estos enfoques representa una solución óptima, pero se debe elegir el ajuste correcto de acuerdo con las necesidades de su proyecto.

Inicialización del modelo

Inicialmente, creemos un modelo de scikit-learn. En nuestro ejemplo usaremos un modelo de regresión logística y el conjunto de datos Iris . 

Vamos a importar las bibliotecas necesarias, cargar los datos y dividirlos en conjuntos de prueba y entrenamiento.

from sklearn.linear_model import LogisticRegression
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split

# Load and split data
data = load_iris()
Xtrain, Xtest, Ytrain, Ytest = train_test_split(data.data, data.target, test_size=0.3, random_state=4)

Ahora creemos el modelo con algunos parámetros no predeterminados y ajustémoslo a los datos de entrenamiento. Suponemos que ha encontrado previamente los parámetros óptimos del modelo, es decir, los que producen la mayor precisión estimada.

# Create a model
model = LogisticRegression(C=0.1, 
                           max_iter=20, 
                           fit_intercept=True, 
                           n_jobs=3, 
                           solver='liblinear')
model.fit(Xtrain, Ytrain)

Y nuestro modelo resultante:

LogisticRegression(C=0.1, class_weight=None, dual=False, fit_intercept=True,
    intercept_scaling=1, max_iter=20, multi_class='ovr', n_jobs=3,
    penalty='l2', random_state=None, solver='liblinear', tol=0.0001,
    verbose=0, warm_start=False)

Usando el fitmétodo, el modelo ha aprendido sus coeficientes que están almacenados en model.coef_. El objetivo es guardar los parámetros y los coeficientes del modelo en un archivo, por lo que no es necesario repetir el entrenamiento del modelo y los pasos de optimización de los parámetros nuevamente con datos nuevos.

Módulo pickle

En las siguientes líneas de código, el modelo que creamos en el paso anterior se guarda en un archivo y luego se carga como un nuevo objeto llamado pickled_model. A continuación, el modelo cargado se utiliza para calcular la puntuación de precisión y predecir los resultados sobre nuevos datos no vistos (de prueba).

import pickle

#
# Create your model here (same as above)
#

# Save to file in the current working directory
pkl_filename = "pickle_model.pkl"
with open(pkl_filename, 'wb') as file:
    pickle.dump(model, file)

# Load from file
with open(pkl_filename, 'rb') as file:
    pickle_model = pickle.load(file)
    
# Calculate the accuracy score and predict target values
score = pickle_model.score(Xtest, Ytest)
print("Test score: {0:.2f} %".format(100 * score))
Ypredict = pickle_model.predict(Xtest)

La ejecución de este código debería generar su puntuación y guardar el modelo a través de Pickle:

$ python save_model_pickle.py
Test score: 91.11 %

Lo mejor de usar Pickle para guardar y restaurar nuestros modelos de aprendizaje es que es rápido: puede hacerlo en dos líneas de código. Es útil si ha optimizado los parámetros del modelo en los datos de entrenamiento, por lo que no necesita repetir este paso nuevamente. De todos modos, no guarda los resultados de la prueba ni ningún dato. Aún así, puede hacer esto guardando una tupla, o una lista, de varios objetos (y recuerde qué objeto va a dónde), de la siguiente manera:

tuple_objects = (model, Xtrain, Ytrain, score)

# Save tuple
pickle.dump(tuple_objects, open("tuple_model.pkl", 'wb'))

# Restore tuple
pickled_model, pickled_Xtrain, pickled_Ytrain, pickled_score = pickle.load(open("tuple_model.pkl", 'rb'))

Módulo Joblib

La biblioteca Joblib está destinada a ser un reemplazo de Pickle, para objetos que contienen datos grandes. Repetiremos el procedimiento de guardar y restaurar como con Pickle.

from sklearn.externals import joblib

# Save to file in the current working directory
joblib_file = "joblib_model.pkl"
joblib.dump(model, joblib_file)

# Load from file
joblib_model = joblib.load(joblib_file)

# Calculate the accuracy and predictions
score = joblib_model.score(Xtest, Ytest)
print("Test score: {0:.2f} %".format(100 * score))
Ypredict = pickle_model.predict(Xtest)
$ python save_model_joblib.py
Test score: 91.11 %

Como se ve en el ejemplo, la biblioteca Joblib ofrece un flujo de trabajo un poco más simple en comparación con Pickle. Si bien Pickle requiere que se pase un objeto de archivo como argumento, Joblib funciona tanto con objetos de archivo como con nombres de archivo de cadena. En caso de que su modelo contenga grandes conjuntos de datos, cada conjunto se almacenará en un archivo separado, pero el procedimiento de guardar y restaurar seguirá siendo el mismo. Joblib también permite diferentes métodos de compresión, como ‘zlib’, ‘gzip’, ‘bz2’ y diferentes niveles de compresión.

Guardar y restaurar manualmente a JSON

Dependiendo de su proyecto, muchas veces encontrará Pickle y Joblib como soluciones inadecuadas. De todos modos, siempre que desee tener un control total sobre el proceso de guardar y restaurar, la mejor manera es crear sus propias funciones manualmente.

A continuación, se muestra un ejemplo de cómo guardar y restaurar objetos manualmente mediante JSON. Este enfoque nos permite seleccionar los datos que deben guardarse, como los parámetros del modelo, los coeficientes, los datos de entrenamiento y cualquier otra cosa que necesitemos.

Dado que queremos guardar todos estos datos en un solo objeto, una forma posible de hacerlo es crear una nueva clase que herede de la clase modelo, que en nuestro ejemplo es LogisticRegression. La nueva clase, llamada MyLogReg, implementa los métodos save_jsonload_json para guardar y restaurar a / desde un archivo JSON, respectivamente.

Para simplificar, guardaremos solo tres parámetros del modelo y los datos de entrenamiento. Algunos datos adicionales que podríamos almacenar con este enfoque son, por ejemplo, una puntuación de validación cruzada en el conjunto de entrenamiento, datos de prueba, puntuación de precisión en los datos de prueba, etc.

import json
import numpy as np

class MyLogReg(LogisticRegression):
    
    # Override the class constructor
    def __init__(self, C=1.0, solver='liblinear', max_iter=100, X_train=None, Y_train=None):
        LogisticRegression.__init__(self, C=C, solver=solver, max_iter=max_iter)
        self.X_train = X_train
        self.Y_train = Y_train
        
    # A method for saving object data to JSON file
    def save_json(self, filepath):
        dict_ = {}
        dict_['C'] = self.C
        dict_['max_iter'] = self.max_iter
        dict_['solver'] = self.solver
        dict_['X_train'] = self.X_train.tolist() if self.X_train is not None else 'None'
        dict_['Y_train'] = self.Y_train.tolist() if self.Y_train is not None else 'None'
        
        # Creat json and save to file
        json_txt = json.dumps(dict_, indent=4)
        with open(filepath, 'w') as file:
            file.write(json_txt)
    
    # A method for loading data from JSON file
    def load_json(self, filepath):
        with open(filepath, 'r') as file:
            dict_ = json.load(file)
            
        self.C = dict_['C']
        self.max_iter = dict_['max_iter']
        self.solver = dict_['solver']
        self.X_train = np.asarray(dict_['X_train']) if dict_['X_train'] != 'None' else None
        self.Y_train = np.asarray(dict_['Y_train']) if dict_['Y_train'] != 'None' else None
        

Ahora probemos la MyLogRegclase. Primero creamos un objeto mylogreg, le pasamos los datos de entrenamiento y lo guardamos en un archivo. Luego creamos un nuevo objeto json_mylogregy llamamos al métod load_json para cargar los datos del archivo.

filepath = "mylogreg.json"

# Create a model and train it
mylogreg = MyLogReg(X_train=Xtrain, Y_train=Ytrain)
mylogreg.save_json(filepath)

# Create a new object and load its data from JSON file
json_mylogreg = MyLogReg()
json_mylogreg.load_json(filepath)
json_mylogreg

Al imprimir el nuevo objeto, podemos ver nuestros parámetros y datos de entrenamiento según sea necesario.

MyLogReg(C=1.0,
     X_train=array([[ 4.3,  3. ,  1.1,  0.1],
       [ 5.7,  4.4,  1.5,  0.4],
       ...,
       [ 7.2,  3. ,  5.8,  1.6],
       [ 7.7,  2.8,  6.7,  2. ]]),
     Y_train=array([0, 0, ..., 2, 2]), class_weight=None, dual=False,
     fit_intercept=True, intercept_scaling=1, max_iter=100,
     multi_class='ovr', n_jobs=1, penalty='l2', random_state=None,
     solver='liblinear', tol=0.0001, verbose=0, warm_start=False)

Dado que la serialización de datos usando JSON realmente guarda el objeto en un formato de cadena, en lugar de un flujo de bytes, el archivo ‘mylogreg.json’ podría abrirse y modificarse con un editor de texto. Aunque este enfoque sería conveniente para el desarrollador, es menos seguro ya que un intruso puede ver y modificar el contenido del archivo JSON. Además, este enfoque es más adecuado para objetos con una pequeña cantidad de variables de instancia, como los modelos scikit-learn, porque cualquier adición de nuevas variables requiere cambios en los métodos de guardar y restaurar.

Problemas de compatibilidad

Si bien algunos de los pros y los contras de cada herramienta se cubrieron en el texto hasta ahora, probablemente el mayor inconveniente de las herramientas Pickle y Joblib es su compatibilidad con diferentes modelos y versiones de Python.

Compatibilidad con la versión de Python : la documentación de ambas herramientas indica que no se recomienda (des) serializar objetos en diferentes versiones de Python, aunque podría funcionar con cambios menores de versión.

Compatibilidad del modelo : uno de los errores más frecuentes es guardar su modelo con Pickle o Joblib y luego cambiar el modelo antes de intentar restaurar desde un archivo. La estructura interna del modelo debe permanecer sin cambios entre guardar y recargar.

Un último problema con Pickle y Joblib está relacionado con la seguridad. Ambas herramientas pueden contener código malicioso, por lo que no se recomienda restaurar datos de fuentes no confiables o no autenticadas.

Conclusiones

En esta publicación describimos tres herramientas para guardar y restaurar modelos de scikit-learn. Las bibliotecas Pickle y Joblib son rápidas y fáciles de usar, pero tienen problemas de compatibilidad en diferentes versiones de Python y cambios en el modelo de aprendizaje. Por otro lado, el enfoque manual es más difícil de implementar y debe modificarse con cualquier cambio en la estructura del modelo, pero en el lado positivo podría adaptarse fácilmente a varias necesidades y no tiene problemas de compatibilidad.

Instalacion juniper notebook en Ubuntu 20.0.4


Anaconda es una distribución gratuita, de código abierto y una de las distribuciones más populares del lenguaje de programación Python y R. Generalmente, se usa para computación científica, análisis predictivo, aprendizaje automático y procesamiento de datos a gran escala. Es una distribución multiplataforma y se puede instalar en Linux, Windows y Mac OS.

En este post le mostraremos cómo instalar y usar Anaconda en un VPS Ubuntu 20.04.

Prerrequisitos

Acceso a la cuenta de usuario root (o acceso a una cuenta de administrador con privilegios de root)

Eliminar cualquier instalacion anterior

sudo rm -R /root/anaconda3

Inicie sesión en el servidor y actualice los paquetes del sistema operativo del servidor

Primero, inicie sesión en su servidor Ubuntu 20.04 a través de SSH como usuario root

Antes de comenzar, debe asegurarse de que todos los paquetes del sistema operativo Ubuntu instalados en el servidor estén actualizados. Puede hacer esto ejecutando los siguientes comandos:

apt-get update -y

apt-get upgrade -y

Descarga de Anaconda

Primero, visite la página de descarga de Anaconda y descargue la última versión del script de instalación de Anaconda con el siguiente comando:

wget https://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh

Una vez completada la descarga, verifique la integridad de los datos del script mediante el comando sha256sum:

sha256sum Anaconda3-2020.11-Linux-x86_64.sh

Debería obtener el siguiente resultado:

cf2ff493f11eaad5d09ce2b4feaa5ea90db5174303d5b3fe030e16d29aeef7de Anaconda3-2020.11-Linux-x86_64.sh

A continuación, vaya a la página hash de Anaconda y haga coincidir el hash anterior como se muestra a continuación:

instalando anaconda en ubuntu 20.04

Una vez que haya terminado, puede proceder e instalar Anaconda.

Instalación de Anaconda

Ahora, ejecute el script de instalación de Anaconda para iniciar la instalación:

bash Anaconda3-2020.11-Linux-x86_64.sh

Debería ver el siguiente resultado:

Bienvenido a Anaconda3 2020.11

Para continuar con el proceso de instalación, revise la licencia
convenio.
Por favor presione ENTER para continuar
>>> 

Presione Enter para iniciar la instalación. Se le pedirá que acepte la licencia y elija el directorio de instalación como se muestra a continuación:

¿Aceptas los términos de la licencia? [si | no] si

Anaconda3 ahora se instalará en esta ubicación:
/ root / anaconda3

  - Presione ENTER para confirmar la ubicación
  - Presione CTRL-C para cancelar la instalación
  - O especifique una ubicación diferente a continuación

[/ root / anaconda3] >>> 

Presione Entrar para confirmar la ubicación y continuar con el proceso de instalación. Una vez completada la instalación, debería obtener el siguiente resultado:

¿Desea que el instalador inicialice Anaconda3
ejecutando conda init? [si | no]
[no] >>> si

Escriba sí y presione Entrar para inicializar la Anaconda. Debería obtener el siguiente resultado:

==> Para que los cambios surtan efecto, cierre y vuelva a abrir su shell actual. <==

Si prefiere que el entorno base de conda no se active al inicio, 
   establezca el parámetro auto_activate_base en falso: 

conda config --set auto_activate_base false

¡Gracias por instalar Anaconda3!

================================================ =========================

Trabajar con portátiles Python y Jupyter es muy sencillo con PyCharm Pro,
diseñado para ser utilizado con Anaconda. Descarga ahora y ten los mejores datos
herramientas a su alcance.

PyCharm Pro para Anaconda está disponible en: https://www.anaconda.com/pycharm

A continuación, active la variable de entorno Anaconda con el siguiente comando:

fuente ~ / .bashrc

Ahora puede verificar la instalación usando el siguiente comando:

conda info

Debería obtener el siguiente resultado:

    ubicación de entorno activo: / root / anaconda3
            nivel de cáscara: 1
       archivo de configuración de usuario: /root/.condarc
 archivos de configuración poblados: 
          versión conda: 4.9.2
    versión conda-build: 3.20.5
         versión de Python: 3.8.5.final.0
       paquetes virtuales: __glibc = 2.31 = 0
                          __unix = 0 = 0
                          __archspec = 1 = x86_64
       entorno base: / root / anaconda3 (escribible)
           URL de canal: https://repo.anaconda.com/pkgs/main/linux-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/linux-64
                          https://repo.anaconda.com/pkgs/r/noarch
          caché del paquete: / root / anaconda3 / pkgs
                          /root/.conda/pkgs
       Directorios envs: / root / anaconda3 / envs
                          /root/.conda/envs
               plataforma: linux-64
             user-agent: conda / 4.9.2 solicitudes / 2.24.0 CPython / 3.8.5 Linux / 5.4.0-29-generic ubuntu / 20.04 glibc / 2.31
                UID: GID: 0: 0
             archivo netrc: Ninguno
           modo fuera de línea: falso

Actualización Anaconda

Se recomienda actualizar Anaconda con regularidad. Para actualizar Anaconda, primero actualice la conda con el siguiente comando:

conda update conda

A continuación, actualice Anaconda con el siguiente comando:

conda update anaconda

Puede crear un entorno Python 3 para Anaconda usando el siguiente comando:

Crear un entorno Anaconda

conda create --name my_env

A continuación, active el entorno con el siguiente comando:

conda activate my_env

Debería obtener el siguiente resultado:

(mi_env) root @ ubuntu2004: ~ # 


Abra una nueva ventana de Terminal yendo a «Mostrar aplicaciones» y seleccionando la Terminal .

Escriba el comando para verificar que se instaló Anaconda.(base) nombre de usuario @ ubuntu: ~ $ python –version
Python 3.8.5

Escriba el comando para actualizar Anaconda.(base) username @ ubuntu: ~ $ conda update –all –yes

Iniciar Jupyter Notebook

Escriba el comando para iniciar Jupyter Notebook.nombre de usuario @ ubuntu: ~ $ jupyter notebook

Ejemplo de todos los comandos lanzados :

[email protected]:~/Descargas$ wget https://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh
--2021-09-06 10:21:36--  https://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh
Resolviendo repo.anaconda.com (repo.anaconda.com)... 104.16.130.3, 104.16.131.3, 2606:4700::6810:8303, ...
Conectando con repo.anaconda.com (repo.anaconda.com)[104.16.130.3]:443... conectado.
Petición HTTP enviada, esperando respuesta... 200 OK
Longitud: 554535580 (529M) [application/x-sh]
Guardando como: “Anaconda3-2020.11-Linux-x86_64.sh”

Anaconda3-2020.11-L 100%[===================>] 528,85M  3,04MB/s    en 2m 56s  

2021-09-06 10:24:32 (3,00 MB/s) - “Anaconda3-2020.11-Linux-x86_64.sh” guardado [554535580/554535580]

[email protected]:~/Descargas$ sha256sum Anaconda3-2020.11-Linux-x86_64.sh
cf2ff493f11eaad5d09ce2b4feaa5ea90db5174303d5b3fe030e16d29aeef7de  Anaconda3-2020.11-Linux-x86_64.sh
[email protected]:~/Descargas$ bash Anaconda3-2020.11-Linux-x86_64.sh

Welcome to Anaconda3 2020.11

In order to continue the installation process, please review the license
agreement.
Please, press ENTER to continue
>>> 
===================================
End User License Agreement - Anaconda Individual Edition
===================================

Copyright 2015-2020, Anaconda, Inc.

All rights reserved under the 3-clause BSD License:

This End User License Agreement (the "Agreement") is a legal agreement between y
ou and Anaconda, Inc. ("Anaconda") and governs your use of Anaconda Individual E
dition (which was formerly known as Anaconda Distribution).

Subject to the terms of this Agreement, Anaconda hereby grants you a non-exclusi
ve, non-transferable license to:

  * Install and use the Anaconda Individual Edition (which was formerly known as
 Anaconda Distribution),
  * Modify and create derivative works of sample source code delivered in Anacon
da Individual Edition from Anaconda's repository; and
  * Redistribute code files in source (if provided to you by Anaconda as source)
 and binary forms, with or without modification subject to the requirements set 
forth below.

Anaconda may, at its option, make available patches, workarounds or other update
s to Anaconda Individual Edition. Unless the updates are provided with their sep
arate governing terms, they are deemed part of Anaconda Individual Edition licen
sed to you as provided in this Agreement.  This Agreement does not entitle you t
o any support for Anaconda Individual Edition.

Anaconda reserves all rights not expressly granted to you in this Agreement.

Redistribution and use in source and binary forms, with or without modification,
 are permitted provided that the following conditions are met:

  * Redistributions of source code must retain the above copyright notice, this 
list of conditions and the following disclaimer.
  * Redistributions in binary form must reproduce the above copyright notice, th
is list of conditions and the following disclaimer in the documentation and/or o
ther materials provided with the distribution.
  * Neither the name of Anaconda nor the names of its contributors may be used t
o endorse or promote products derived from this software without specific prior 
written permission.

You acknowledge that, as between you and Anaconda, Anaconda owns all right, titl
e, and interest, including all intellectual property rights, in and to Anaconda 
Individual Edition and, with respect to third-party products distributed with or
 through Anaconda Individual Edition, the applicable third-party licensors own a
ll right, title and interest, including all intellectual property rights, in and
 to such products.  If you send or transmit any communications or materials to A
naconda suggesting or recommending changes to the software or documentation, inc
luding without limitation, new features or functionality relating thereto, or an
y comments, questions, suggestions or the like ("Feedback"), Anaconda is free to
 use such Feedback. You hereby assign to Anaconda all right, title, and interest
 in, and Anaconda is free to use, without any attribution or compensation to any
 party, any ideas, know-how, concepts, techniques or other intellectual property
 rights contained in the Feedback, for any purpose whatsoever, although Anaconda
 is not required to use any Feedback.

THIS SOFTWARE IS PROVIDED BY ANACONDA AND ITS CONTRIBUTORS "AS IS" AND ANY EXPRE
SS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EV
ENT SHALL ANACONDA BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEM
PLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF S
UBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUP
TION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT O
F THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

TO THE MAXIMUM EXTENT PERMITTED BY LAW, ANACONDA AND ITS AFFILIATES SHALL NOT BE
 LIABLE FOR ANY SPECIAL, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL DAMAGES, OR ANY L
OST PROFITS, LOSS OF USE, LOSS OF DATA OR LOSS OF GOODWILL, OR THE COSTS OF PROC
URING SUBSTITUTE PRODUCTS, ARISING OUT OF OR IN CONNECTION WITH THIS AGREEMENT O
R THE USE OR PERFORMANCE OF ANACONDA INDIVIDUAL EDITION, WHETHER SUCH LIABILITY 
ARISES FROM ANY CLAIM BASED UPON BREACH OF CONTRACT, BREACH OF WARRANTY, TORT (I
NCLUDING NEGLIGENCE), PRODUCT LIABILITY OR ANY OTHER CAUSE OF ACTION OR THEORY O
F LIABILITY. IN NO EVENT WILL THE TOTAL CUMULATIVE LIABILITY OF ANACONDA AND ITS
 AFFILIATES UNDER OR ARISING OUT OF THIS AGREEMENT EXCEED US0.00.

If you want to terminate this Agreement, you may do so by discontinuing use of A
naconda Individual Edition.  Anaconda may, at any time, terminate this Agreement
 and the license granted hereunder if you fail to comply with any term of this A
greement.   Upon any termination of this Agreement, you agree to promptly discon
tinue use of the Anaconda Individual Edition and destroy all copies in your poss
ession or control. Upon any termination of this Agreement all provisions survive
 except for the licenses granted to you.

This Agreement is governed by and construed in accordance with the internal laws
 of the State of Texas without giving effect to any choice or conflict of law pr
ovision or rule that would require or permit the application of the laws of any 
jurisdiction other than those of the State of Texas. Any legal suit, action, or 
proceeding arising out of or related to this Agreement or the licenses granted h
ereunder by you must be instituted exclusively in the federal courts of the Unit
ed States or the courts of the State of Texas in each case located in Travis Cou
nty, Texas, and you irrevocably submit to the jurisdiction of such courts in any
 such suit, action, or proceeding.


Notice of Third Party Software Licenses
=======================================

Anaconda Individual Edition provides access to a repository which contains softw
are packages or tools licensed on an open source basis from third parties and bi
nary packages of these third party tools. These third party software packages or
 tools are provided on an "as is" basis and are subject to their respective lice
nse agreements as well as this Agreement and the Terms of Service for the Reposi
tory located at https://know.anaconda.com/TOS.html; provided, however, no restri
ction contained in the Terms of Service shall be construed so as to limit your a
bility to download the packages contained in Anaconda Individual Edition provide
d you comply with the license for each such package.  These licenses may be acce
ssed from within the Anaconda Individual Edition software or at https://docs.ana
conda.com/anaconda/pkg-docs. Information regarding which license is applicable i
s available from within many of the third party software packages and tools and 
at https://repo.anaconda.com/pkgs/main/ and https://repo.anaconda.com/pkgs/r/. A
naconda reserves the right, in its sole discretion, to change which third party 
tools are included in the repository accessible through Anaconda Individual Edit
ion.

Intel Math Kernel Library
-------------------------

Anaconda Individual Edition provides access to re-distributable, run-time, share
d-library files from the Intel Math Kernel Library ("MKL binaries").

Copyright 2018 Intel Corporation.  License available at https://software.intel.c
om/en-us/license/intel-simplified-software-license (the "MKL License").

You may use and redistribute the MKL binaries, without modification, provided th
e following conditions are met:

  * Redistributions must reproduce the above copyright notice and the following 
terms of use in the MKL binaries and in the documentation and/or other materials
 provided with the distribution.
  * Neither the name of Intel nor the names of its suppliers may be used to endo
rse or promote products derived from the MKL binaries without specific prior wri
tten permission.
  * No reverse engineering, decompilation, or disassembly of the MKL binaries is
 permitted.

You are specifically authorized to use and redistribute the MKL binaries with yo
ur installation of Anaconda Individual Edition subject to the terms set forth in
 the MKL License. You are also authorized to redistribute the MKL binaries with 
Anaconda Individual Edition or in the Anaconda package that contains the MKL bin
aries. If needed, instructions for removing the MKL binaries after installation 
of Anaconda Individual Edition are available at https://docs.anaconda.com.

cuDNN Software
--------------

Anaconda Individual Edition also provides access to cuDNN software binaries ("cu
DNN binaries") from NVIDIA Corporation. You are specifically authorized to use t
he cuDNN binaries with your installation of Anaconda Individual Edition subject 
to your compliance with the license agreement located at https://docs.nvidia.com
/deeplearning/sdk/cudnn-sla/index.html. You are also authorized to redistribute 
the cuDNN binaries with an Anaconda Individual Edition package that contains the
 cuDNN binaries. You can add or remove the cuDNN binaries utilizing the install 
and uninstall features in Anaconda Individual Edition.

cuDNN binaries contain source code provided by NVIDIA Corporation.


Export; Cryptography Notice
===========================

You must comply with all domestic and international export laws and regulations 
that apply to the software, which include restrictions on destinations, end user
s, and end use.  Anaconda Individual Edition includes cryptographic software. Th
e country in which you currently reside may have restrictions on the import, pos
session, use, and/or re-export to another country, of encryption software. BEFOR
E using any encryption software, please check your country's laws, regulations a
nd policies concerning the import, possession, or use, and re-export of encrypti
on software, to see if this is permitted. See the Wassenaar Arrangement http://w
ww.wassenaar.org/ for more information.

Anaconda has self-classified this software as Export Commodity Control Number (E
CCN) 5D992.c, which includes mass market information security software using or 
performing cryptographic functions with asymmetric algorithms. No license is req
uired for export of this software to non-embargoed countries.

The Intel Math Kernel Library contained in Anaconda Individual Edition is classi
fied by Intel as ECCN 5D992.c with no license required for export to non-embargo
ed countries.

The following packages are included in the repository accessible through Anacond
a Individual Edition that relate to cryptography:

openssl
    The OpenSSL Project is a collaborative effort to develop a robust, commercia
l-grade, full-featured, and Open Source toolkit implementing the Transport Layer
 Security (TLS) and Secure Sockets Layer (SSL) protocols as well as a full-stren
gth general purpose cryptography library.

pycrypto
    A collection of both secure hash functions (such as SHA256 and RIPEMD160), a
nd various encryption algorithms (AES, DES, RSA, ElGamal, etc.).

pyopenssl
    A thin Python wrapper around (a subset of) the OpenSSL library.

kerberos (krb5, non-Windows platforms)
    A network authentication protocol designed to provide strong authentication 
for client/server applications by using secret-key cryptography.

cryptography
    A Python library which exposes cryptographic recipes and primitives.

pycryptodome
    A fork of PyCrypto. It is a self-contained Python package of low-level crypt
ographic primitives.

pycryptodomex
    A stand-alone version of pycryptodome.

libsodium
    A software library for encryption, decryption, signatures, password hashing 
and more.

pynacl
    A Python binding to the Networking and Cryptography library, a crypto librar
y with the stated goal of improving usability, security and speed.


Last updated September 28, 2020


Do you accept the license terms? [yes|no]
[no] >>> 
Please answer 'yes' or 'no':'
>>> 
Please answer 'yes' or 'no':'
>>> 
Please answer 'yes' or 'no':'
>>> 
Please answer 'yes' or 'no':'
>>> 
Please answer 'yes' or 'no':'
>>> 
Please answer 'yes' or 'no':'
>>> 
Please answer 'yes' or 'no':'
>>> 
Please answer 'yes' or 'no':'
>>> 
Please answer 'yes' or 'no':'
>>> 
Please answer 'yes' or 'no':'
>>> 
Please answer 'yes' or 'no':'
>>> 
Please answer 'yes' or 'no':'
>>> 
Please answer 'yes' or 'no':'
>>> yes

Anaconda3 will now be installed into this location:
/home/soloelectronicos/anaconda3

  - Press ENTER to confirm the location
  - Press CTRL-C to abort the installation
  - Or specify a different location below

[/home/soloelectronicos/anaconda3] >>> 
PREFIX=/home/soloelectronicos/anaconda3
Unpacking payload ...
Collecting package metadata (current_repodata.json): done                       
Solving environment: done

## Package Plan ##

  environment location: /home/soloelectronicos/anaconda3

  added / updated specs:
    - _ipyw_jlab_nb_ext_conf==0.1.0=py38_0
    - _libgcc_mutex==0.1=main
    - alabaster==0.7.12=py_0
    - anaconda-client==1.7.2=py38_0
    - anaconda-navigator==1.10.0=py38_0
    - anaconda-project==0.8.4=py_0
    - anaconda==2020.11=py38_0
    - argh==0.26.2=py38_0
    - argon2-cffi==20.1.0=py38h7b6447c_1
    - asn1crypto==1.4.0=py_0
    - astroid==2.4.2=py38_0
    - astropy==4.0.2=py38h7b6447c_0
    - async_generator==1.10=py_0
    - atomicwrites==1.4.0=py_0
    - attrs==20.3.0=pyhd3eb1b0_0
    - autopep8==1.5.4=py_0
    - babel==2.8.1=pyhd3eb1b0_0
    - backcall==0.2.0=py_0
    - backports.functools_lru_cache==1.6.1=py_0
    - backports.shutil_get_terminal_size==1.0.0=py38_2
    - backports.tempfile==1.0=py_1
    - backports.weakref==1.0.post1=py_1
    - backports==1.0=py_2
    - beautifulsoup4==4.9.3=pyhb0f4dca_0
    - bitarray==1.6.1=py38h27cfd23_0
    - bkcharts==0.2=py38_0
    - blas==1.0=mkl
    - bleach==3.2.1=py_0
    - blosc==1.20.1=hd408876_0
    - bokeh==2.2.3=py38_0
    - boto==2.49.0=py38_0
    - bottleneck==1.3.2=py38heb32a55_1
    - brotlipy==0.7.0=py38h7b6447c_1000
    - bzip2==1.0.8=h7b6447c_0
    - ca-certificates==2020.10.14=0
    - cairo==1.14.12=h8948797_3
    - certifi==2020.6.20=pyhd3eb1b0_3
    - cffi==1.14.3=py38he30daa8_0
    - chardet==3.0.4=py38_1003
    - click==7.1.2=py_0
    - cloudpickle==1.6.0=py_0
    - clyent==1.2.2=py38_1
    - colorama==0.4.4=py_0
    - conda-build==3.20.5=py38_1
    - conda-env==2.6.0=1
    - conda-package-handling==1.7.2=py38h03888b9_0
    - conda-verify==3.4.2=py_1
    - conda==4.9.2=py38h06a4308_0
    - contextlib2==0.6.0.post1=py_0
    - cryptography==3.1.1=py38h1ba5d50_0
    - curl==7.71.1=hbc83047_1
    - cycler==0.10.0=py38_0
    - cython==0.29.21=py38he6710b0_0
    - cytoolz==0.11.0=py38h7b6447c_0
    - dask-core==2.30.0=py_0
    - dask==2.30.0=py_0
    - dbus==1.13.18=hb2f20db_0
    - decorator==4.4.2=py_0
    - defusedxml==0.6.0=py_0
    - diff-match-patch==20200713=py_0
    - distributed==2.30.1=py38h06a4308_0
    - docutils==0.16=py38_1
    - entrypoints==0.3=py38_0
    - et_xmlfile==1.0.1=py_1001
    - expat==2.2.10=he6710b0_2
    - fastcache==1.1.0=py38h7b6447c_0
    - filelock==3.0.12=py_0
    - flake8==3.8.4=py_0
    - flask==1.1.2=py_0
    - fontconfig==2.13.0=h9420a91_0
    - freetype==2.10.4=h5ab3b9f_0
    - fribidi==1.0.10=h7b6447c_0
    - fsspec==0.8.3=py_0
    - future==0.18.2=py38_1
    - get_terminal_size==1.0.0=haa9412d_0
    - gevent==20.9.0=py38h7b6447c_0
    - glib==2.66.1=h92f7085_0
    - glob2==0.7=py_0
    - gmp==6.1.2=h6c8ec71_1
    - gmpy2==2.0.8=py38hd5f6e3b_3
    - graphite2==1.3.14=h23475e2_0
    - greenlet==0.4.17=py38h7b6447c_0
    - gst-plugins-base==1.14.0=hbbd80ab_1
    - gstreamer==1.14.0=hb31296c_0
    - h5py==2.10.0=py38h7918eee_0
    - harfbuzz==2.4.0=hca77d97_1
    - hdf5==1.10.4=hb1b8bf9_0
    - heapdict==1.0.1=py_0
    - html5lib==1.1=py_0
    - icu==58.2=he6710b0_3
    - idna==2.10=py_0
    - imageio==2.9.0=py_0
    - imagesize==1.2.0=py_0
    - importlib-metadata==2.0.0=py_1
    - importlib_metadata==2.0.0=1
    - iniconfig==1.1.1=py_0
    - intel-openmp==2020.2=254
    - intervaltree==3.1.0=py_0
    - ipykernel==5.3.4=py38h5ca1d4c_0
    - ipython==7.19.0=py38hb070fc8_0
    - ipython_genutils==0.2.0=py38_0
    - ipywidgets==7.5.1=py_1
    - isort==5.6.4=py_0
    - itsdangerous==1.1.0=py_0
    - jbig==2.1=hdba287a_0
    - jdcal==1.4.1=py_0
    - jedi==0.17.1=py38_0
    - jeepney==0.5.0=pyhd3eb1b0_0
    - jinja2==2.11.2=py_0
    - joblib==0.17.0=py_0
    - jpeg==9b=h024ee3a_2
    - json5==0.9.5=py_0
    - jsonschema==3.2.0=py_2
    - jupyter==1.0.0=py38_7
    - jupyter_client==6.1.7=py_0
    - jupyter_console==6.2.0=py_0
    - jupyter_core==4.6.3=py38_0
    - jupyterlab==2.2.6=py_0
    - jupyterlab_pygments==0.1.2=py_0
    - jupyterlab_server==1.2.0=py_0
    - keyring==21.4.0=py38_1
    - kiwisolver==1.3.0=py38h2531618_0
    - krb5==1.18.2=h173b8e3_0
    - lazy-object-proxy==1.4.3=py38h7b6447c_0
    - lcms2==2.11=h396b838_0
    - ld_impl_linux-64==2.33.1=h53a641e_7
    - libarchive==3.4.2=h62408e4_0
    - libcurl==7.71.1=h20c2e04_1
    - libedit==3.1.20191231=h14c3975_1
    - libffi==3.3=he6710b0_2
    - libgcc-ng==9.1.0=hdf63c60_0
    - libgfortran-ng==7.3.0=hdf63c60_0
    - liblief==0.10.1=he6710b0_0
    - libllvm10==10.0.1=hbcb73fb_5
    - libpng==1.6.37=hbc83047_0
    - libsodium==1.0.18=h7b6447c_0
    - libspatialindex==1.9.3=he6710b0_0
    - libssh2==1.9.0=h1ba5d50_1
    - libstdcxx-ng==9.1.0=hdf63c60_0
    - libtiff==4.1.0=h2733197_1
    - libtool==2.4.6=h7b6447c_1005
    - libuuid==1.0.3=h1bed415_2
    - libxcb==1.14=h7b6447c_0
    - libxml2==2.9.10=hb55368b_3
    - libxslt==1.1.34=hc22bd24_0
    - llvmlite==0.34.0=py38h269e1b5_4
    - locket==0.2.0=py38_1
    - lxml==4.6.1=py38hefd8a0e_0
    - lz4-c==1.9.2=heb0550a_3
    - lzo==2.10=h7b6447c_2
    - markupsafe==1.1.1=py38h7b6447c_0
    - matplotlib-base==3.3.2=py38h817c723_0
    - matplotlib==3.3.2=0
    - mccabe==0.6.1=py38_1
    - mistune==0.8.4=py38h7b6447c_1000
    - mkl-service==2.3.0=py38he904b0f_0
    - mkl==2020.2=256
    - mkl_fft==1.2.0=py38h23d657b_0
    - mkl_random==1.1.1=py38h0573a6f_0
    - mock==4.0.2=py_0
    - more-itertools==8.6.0=pyhd3eb1b0_0
    - mpc==1.1.0=h10f8cd9_1
    - mpfr==4.0.2=hb69a4c5_1
    - mpmath==1.1.0=py38_0
    - msgpack-python==1.0.0=py38hfd86e86_1
    - multipledispatch==0.6.0=py38_0
    - navigator-updater==0.2.1=py38_0
    - nbclient==0.5.1=py_0
    - nbconvert==6.0.7=py38_0
    - nbformat==5.0.8=py_0
    - ncurses==6.2=he6710b0_1
    - nest-asyncio==1.4.2=pyhd3eb1b0_0
    - networkx==2.5=py_0
    - nltk==3.5=py_0
    - nose==1.3.7=py38_2
    - notebook==6.1.4=py38_0
    - numba==0.51.2=py38h0573a6f_1
    - numexpr==2.7.1=py38h423224d_0
    - numpy-base==1.19.2=py38hfa32c7d_0
    - numpy==1.19.2=py38h54aff64_0
    - numpydoc==1.1.0=pyhd3eb1b0_1
    - olefile==0.46=py_0
    - openpyxl==3.0.5=py_0
    - openssl==1.1.1h=h7b6447c_0
    - packaging==20.4=py_0
    - pandas==1.1.3=py38he6710b0_0
    - pandoc==2.11=hb0f4dca_0
    - pandocfilters==1.4.3=py38h06a4308_1
    - pango==1.45.3=hd140c19_0
    - parso==0.7.0=py_0
    - partd==1.1.0=py_0
    - patchelf==0.12=he6710b0_0
    - path.py==12.5.0=0
    - path==15.0.0=py38_0
    - pathlib2==2.3.5=py38_0
    - pathtools==0.1.2=py_1
    - patsy==0.5.1=py38_0
    - pcre==8.44=he6710b0_0
    - pep8==1.7.1=py38_0
    - pexpect==4.8.0=py38_0
    - pickleshare==0.7.5=py38_1000
    - pillow==8.0.1=py38he98fc37_0
    - pip==20.2.4=py38h06a4308_0
    - pixman==0.40.0=h7b6447c_0
    - pkginfo==1.6.1=py38h06a4308_0
    - pluggy==0.13.1=py38_0
    - ply==3.11=py38_0
    - prometheus_client==0.8.0=py_0
    - prompt-toolkit==3.0.8=py_0
    - prompt_toolkit==3.0.8=0
    - psutil==5.7.2=py38h7b6447c_0
    - ptyprocess==0.6.0=py38_0
    - py-lief==0.10.1=py38h403a769_0
    - py==1.9.0=py_0
    - pycodestyle==2.6.0=py_0
    - pycosat==0.6.3=py38h7b6447c_1
    - pycparser==2.20=py_2
    - pycurl==7.43.0.6=py38h1ba5d50_0
    - pydocstyle==5.1.1=py_0
    - pyflakes==2.2.0=py_0
    - pygments==2.7.2=pyhd3eb1b0_0
    - pylint==2.6.0=py38_0
    - pyodbc==4.0.30=py38he6710b0_0
    - pyopenssl==19.1.0=py_1
    - pyparsing==2.4.7=py_0
    - pyqt==5.9.2=py38h05f1152_4
    - pyrsistent==0.17.3=py38h7b6447c_0
    - pysocks==1.7.1=py38_0
    - pytables==3.6.1=py38h9fd0a39_0
    - pytest==6.1.1=py38_0
    - python-dateutil==2.8.1=py_0
    - python-jsonrpc-server==0.4.0=py_0
    - python-language-server==0.35.1=py_0
    - python-libarchive-c==2.9=py_0
    - python==3.8.5=h7579374_1
    - pytz==2020.1=py_0
    - pywavelets==1.1.1=py38h7b6447c_2
    - pyxdg==0.27=pyhd3eb1b0_0
    - pyyaml==5.3.1=py38h7b6447c_1
    - pyzmq==19.0.2=py38he6710b0_1
    - qdarkstyle==2.8.1=py_0
    - qt==5.9.7=h5867ecd_1
    - qtawesome==1.0.1=py_0
    - qtconsole==4.7.7=py_0
    - qtpy==1.9.0=py_0
    - readline==8.0=h7b6447c_0
    - regex==2020.10.15=py38h7b6447c_0
    - requests==2.24.0=py_0
    - ripgrep==12.1.1=0
    - rope==0.18.0=py_0
    - rtree==0.9.4=py38_1
    - ruamel_yaml==0.15.87=py38h7b6447c_1
    - scikit-image==0.17.2=py38hdf5156a_0
    - scikit-learn==0.23.2=py38h0573a6f_0
    - scipy==1.5.2=py38h0b6359f_0
    - seaborn==0.11.0=py_0
    - secretstorage==3.1.2=py38_0
    - send2trash==1.5.0=py38_0
    - setuptools==50.3.1=py38h06a4308_1
    - simplegeneric==0.8.1=py38_2
    - singledispatch==3.4.0.3=py_1001
    - sip==4.19.13=py38he6710b0_0
    - six==1.15.0=py38h06a4308_0
    - snowballstemmer==2.0.0=py_0
    - sortedcollections==1.2.1=py_0
    - sortedcontainers==2.2.2=py_0
    - soupsieve==2.0.1=py_0
    - sphinx==3.2.1=py_0
    - sphinxcontrib-applehelp==1.0.2=py_0
    - sphinxcontrib-devhelp==1.0.2=py_0
    - sphinxcontrib-htmlhelp==1.0.3=py_0
    - sphinxcontrib-jsmath==1.0.1=py_0
    - sphinxcontrib-qthelp==1.0.3=py_0
    - sphinxcontrib-serializinghtml==1.1.4=py_0
    - sphinxcontrib-websupport==1.2.4=py_0
    - sphinxcontrib==1.0=py38_1
    - spyder-kernels==1.9.4=py38_0
    - spyder==4.1.5=py38_0
    - sqlalchemy==1.3.20=py38h7b6447c_0
    - sqlite==3.33.0=h62c20be_0
    - statsmodels==0.12.0=py38h7b6447c_0
    - sympy==1.6.2=py38h06a4308_1
    - tbb==2020.3=hfd86e86_0
    - tblib==1.7.0=py_0
    - terminado==0.9.1=py38_0
    - testpath==0.4.4=py_0
    - threadpoolctl==2.1.0=pyh5ca1d4c_0
    - tifffile==2020.10.1=py38hdd07704_2
    - tk==8.6.10=hbc83047_0
    - toml==0.10.1=py_0
    - toolz==0.11.1=py_0
    - tornado==6.0.4=py38h7b6447c_1
    - tqdm==4.50.2=py_0
    - traitlets==5.0.5=py_0
    - typing_extensions==3.7.4.3=py_0
    - ujson==4.0.1=py38he6710b0_0
    - unicodecsv==0.14.1=py38_0
    - unixodbc==2.3.9=h7b6447c_0
    - urllib3==1.25.11=py_0
    - watchdog==0.10.3=py38_0
    - wcwidth==0.2.5=py_0
    - webencodings==0.5.1=py38_1
    - werkzeug==1.0.1=py_0
    - wheel==0.35.1=py_0
    - widgetsnbextension==3.5.1=py38_0
    - wrapt==1.11.2=py38h7b6447c_0
    - wurlitzer==2.0.1=py38_0
    - xlrd==1.2.0=py_0
    - xlsxwriter==1.3.7=py_0
    - xlwt==1.3.0=py38_0
    - xmltodict==0.12.0=py_0
    - xz==5.2.5=h7b6447c_0
    - yaml==0.2.5=h7b6447c_0
    - yapf==0.30.0=py_0
    - zeromq==4.3.3=he6710b0_3
    - zict==2.0.0=py_0
    - zipp==3.4.0=pyhd3eb1b0_0
    - zlib==1.2.11=h7b6447c_3
    - zope.event==4.5.0=py38_0
    - zope.interface==5.1.2=py38h7b6447c_0
    - zope==1.0=py38_1
    - zstd==1.4.5=h9ceee32_0


The following NEW packages will be INSTALLED:

  _ipyw_jlab_nb_ext~ pkgs/main/linux-64::_ipyw_jlab_nb_ext_conf-0.1.0-py38_0
  _libgcc_mutex      pkgs/main/linux-64::_libgcc_mutex-0.1-main
  alabaster          pkgs/main/noarch::alabaster-0.7.12-py_0
  anaconda           pkgs/main/linux-64::anaconda-2020.11-py38_0
  anaconda-client    pkgs/main/linux-64::anaconda-client-1.7.2-py38_0
  anaconda-navigator pkgs/main/linux-64::anaconda-navigator-1.10.0-py38_0
  anaconda-project   pkgs/main/noarch::anaconda-project-0.8.4-py_0
  argh               pkgs/main/linux-64::argh-0.26.2-py38_0
  argon2-cffi        pkgs/main/linux-64::argon2-cffi-20.1.0-py38h7b6447c_1
  asn1crypto         pkgs/main/noarch::asn1crypto-1.4.0-py_0
  astroid            pkgs/main/linux-64::astroid-2.4.2-py38_0
  astropy            pkgs/main/linux-64::astropy-4.0.2-py38h7b6447c_0
  async_generator    pkgs/main/noarch::async_generator-1.10-py_0
  atomicwrites       pkgs/main/noarch::atomicwrites-1.4.0-py_0
  attrs              pkgs/main/noarch::attrs-20.3.0-pyhd3eb1b0_0
  autopep8           pkgs/main/noarch::autopep8-1.5.4-py_0
  babel              pkgs/main/noarch::babel-2.8.1-pyhd3eb1b0_0
  backcall           pkgs/main/noarch::backcall-0.2.0-py_0
  backports          pkgs/main/noarch::backports-1.0-py_2
  backports.functoo~ pkgs/main/noarch::backports.functools_lru_cache-1.6.1-py_0
  backports.shutil_~ pkgs/main/linux-64::backports.shutil_get_terminal_size-1.0.0-py38_2
  backports.tempfile pkgs/main/noarch::backports.tempfile-1.0-py_1
  backports.weakref  pkgs/main/noarch::backports.weakref-1.0.post1-py_1
  beautifulsoup4     pkgs/main/noarch::beautifulsoup4-4.9.3-pyhb0f4dca_0
  bitarray           pkgs/main/linux-64::bitarray-1.6.1-py38h27cfd23_0
  bkcharts           pkgs/main/linux-64::bkcharts-0.2-py38_0
  blas               pkgs/main/linux-64::blas-1.0-mkl
  bleach             pkgs/main/noarch::bleach-3.2.1-py_0
  blosc              pkgs/main/linux-64::blosc-1.20.1-hd408876_0
  bokeh              pkgs/main/linux-64::bokeh-2.2.3-py38_0
  boto               pkgs/main/linux-64::boto-2.49.0-py38_0
  bottleneck         pkgs/main/linux-64::bottleneck-1.3.2-py38heb32a55_1
  brotlipy           pkgs/main/linux-64::brotlipy-0.7.0-py38h7b6447c_1000
  bzip2              pkgs/main/linux-64::bzip2-1.0.8-h7b6447c_0
  ca-certificates    pkgs/main/linux-64::ca-certificates-2020.10.14-0
  cairo              pkgs/main/linux-64::cairo-1.14.12-h8948797_3
  certifi            pkgs/main/noarch::certifi-2020.6.20-pyhd3eb1b0_3
  cffi               pkgs/main/linux-64::cffi-1.14.3-py38he30daa8_0
  chardet            pkgs/main/linux-64::chardet-3.0.4-py38_1003
  click              pkgs/main/noarch::click-7.1.2-py_0
  cloudpickle        pkgs/main/noarch::cloudpickle-1.6.0-py_0
  clyent             pkgs/main/linux-64::clyent-1.2.2-py38_1
  colorama           pkgs/main/noarch::colorama-0.4.4-py_0
  conda              pkgs/main/linux-64::conda-4.9.2-py38h06a4308_0
  conda-build        pkgs/main/linux-64::conda-build-3.20.5-py38_1
  conda-env          pkgs/main/linux-64::conda-env-2.6.0-1
  conda-package-han~ pkgs/main/linux-64::conda-package-handling-1.7.2-py38h03888b9_0
  conda-verify       pkgs/main/noarch::conda-verify-3.4.2-py_1
  contextlib2        pkgs/main/noarch::contextlib2-0.6.0.post1-py_0
  cryptography       pkgs/main/linux-64::cryptography-3.1.1-py38h1ba5d50_0
  curl               pkgs/main/linux-64::curl-7.71.1-hbc83047_1
  cycler             pkgs/main/linux-64::cycler-0.10.0-py38_0
  cython             pkgs/main/linux-64::cython-0.29.21-py38he6710b0_0
  cytoolz            pkgs/main/linux-64::cytoolz-0.11.0-py38h7b6447c_0
  dask               pkgs/main/noarch::dask-2.30.0-py_0
  dask-core          pkgs/main/noarch::dask-core-2.30.0-py_0
  dbus               pkgs/main/linux-64::dbus-1.13.18-hb2f20db_0
  decorator          pkgs/main/noarch::decorator-4.4.2-py_0
  defusedxml         pkgs/main/noarch::defusedxml-0.6.0-py_0
  diff-match-patch   pkgs/main/noarch::diff-match-patch-20200713-py_0
  distributed        pkgs/main/linux-64::distributed-2.30.1-py38h06a4308_0
  docutils           pkgs/main/linux-64::docutils-0.16-py38_1
  entrypoints        pkgs/main/linux-64::entrypoints-0.3-py38_0
  et_xmlfile         pkgs/main/noarch::et_xmlfile-1.0.1-py_1001
  expat              pkgs/main/linux-64::expat-2.2.10-he6710b0_2
  fastcache          pkgs/main/linux-64::fastcache-1.1.0-py38h7b6447c_0
  filelock           pkgs/main/noarch::filelock-3.0.12-py_0
  flake8             pkgs/main/noarch::flake8-3.8.4-py_0
  flask              pkgs/main/noarch::flask-1.1.2-py_0
  fontconfig         pkgs/main/linux-64::fontconfig-2.13.0-h9420a91_0
  freetype           pkgs/main/linux-64::freetype-2.10.4-h5ab3b9f_0
  fribidi            pkgs/main/linux-64::fribidi-1.0.10-h7b6447c_0
  fsspec             pkgs/main/noarch::fsspec-0.8.3-py_0
  future             pkgs/main/linux-64::future-0.18.2-py38_1
  get_terminal_size  pkgs/main/linux-64::get_terminal_size-1.0.0-haa9412d_0
  gevent             pkgs/main/linux-64::gevent-20.9.0-py38h7b6447c_0
  glib               pkgs/main/linux-64::glib-2.66.1-h92f7085_0
  glob2              pkgs/main/noarch::glob2-0.7-py_0
  gmp                pkgs/main/linux-64::gmp-6.1.2-h6c8ec71_1
  gmpy2              pkgs/main/linux-64::gmpy2-2.0.8-py38hd5f6e3b_3
  graphite2          pkgs/main/linux-64::graphite2-1.3.14-h23475e2_0
  greenlet           pkgs/main/linux-64::greenlet-0.4.17-py38h7b6447c_0
  gst-plugins-base   pkgs/main/linux-64::gst-plugins-base-1.14.0-hbbd80ab_1
  gstreamer          pkgs/main/linux-64::gstreamer-1.14.0-hb31296c_0
  h5py               pkgs/main/linux-64::h5py-2.10.0-py38h7918eee_0
  harfbuzz           pkgs/main/linux-64::harfbuzz-2.4.0-hca77d97_1
  hdf5               pkgs/main/linux-64::hdf5-1.10.4-hb1b8bf9_0
  heapdict           pkgs/main/noarch::heapdict-1.0.1-py_0
  html5lib           pkgs/main/noarch::html5lib-1.1-py_0
  icu                pkgs/main/linux-64::icu-58.2-he6710b0_3
  idna               pkgs/main/noarch::idna-2.10-py_0
  imageio            pkgs/main/noarch::imageio-2.9.0-py_0
  imagesize          pkgs/main/noarch::imagesize-1.2.0-py_0
  importlib-metadata pkgs/main/noarch::importlib-metadata-2.0.0-py_1
  importlib_metadata pkgs/main/noarch::importlib_metadata-2.0.0-1
  iniconfig          pkgs/main/noarch::iniconfig-1.1.1-py_0
  intel-openmp       pkgs/main/linux-64::intel-openmp-2020.2-254
  intervaltree       pkgs/main/noarch::intervaltree-3.1.0-py_0
  ipykernel          pkgs/main/linux-64::ipykernel-5.3.4-py38h5ca1d4c_0
  ipython            pkgs/main/linux-64::ipython-7.19.0-py38hb070fc8_0
  ipython_genutils   pkgs/main/linux-64::ipython_genutils-0.2.0-py38_0
  ipywidgets         pkgs/main/noarch::ipywidgets-7.5.1-py_1
  isort              pkgs/main/noarch::isort-5.6.4-py_0
  itsdangerous       pkgs/main/noarch::itsdangerous-1.1.0-py_0
  jbig               pkgs/main/linux-64::jbig-2.1-hdba287a_0
  jdcal              pkgs/main/noarch::jdcal-1.4.1-py_0
  jedi               pkgs/main/linux-64::jedi-0.17.1-py38_0
  jeepney            pkgs/main/noarch::jeepney-0.5.0-pyhd3eb1b0_0
  jinja2             pkgs/main/noarch::jinja2-2.11.2-py_0
  joblib             pkgs/main/noarch::joblib-0.17.0-py_0
  jpeg               pkgs/main/linux-64::jpeg-9b-h024ee3a_2
  json5              pkgs/main/noarch::json5-0.9.5-py_0
  jsonschema         pkgs/main/noarch::jsonschema-3.2.0-py_2
  jupyter            pkgs/main/linux-64::jupyter-1.0.0-py38_7
  jupyter_client     pkgs/main/noarch::jupyter_client-6.1.7-py_0
  jupyter_console    pkgs/main/noarch::jupyter_console-6.2.0-py_0
  jupyter_core       pkgs/main/linux-64::jupyter_core-4.6.3-py38_0
  jupyterlab         pkgs/main/noarch::jupyterlab-2.2.6-py_0
  jupyterlab_pygmen~ pkgs/main/noarch::jupyterlab_pygments-0.1.2-py_0
  jupyterlab_server  pkgs/main/noarch::jupyterlab_server-1.2.0-py_0
  keyring            pkgs/main/linux-64::keyring-21.4.0-py38_1
  kiwisolver         pkgs/main/linux-64::kiwisolver-1.3.0-py38h2531618_0
  krb5               pkgs/main/linux-64::krb5-1.18.2-h173b8e3_0
  lazy-object-proxy  pkgs/main/linux-64::lazy-object-proxy-1.4.3-py38h7b6447c_0
  lcms2              pkgs/main/linux-64::lcms2-2.11-h396b838_0
  ld_impl_linux-64   pkgs/main/linux-64::ld_impl_linux-64-2.33.1-h53a641e_7
  libarchive         pkgs/main/linux-64::libarchive-3.4.2-h62408e4_0
  libcurl            pkgs/main/linux-64::libcurl-7.71.1-h20c2e04_1
  libedit            pkgs/main/linux-64::libedit-3.1.20191231-h14c3975_1
  libffi             pkgs/main/linux-64::libffi-3.3-he6710b0_2
  libgcc-ng          pkgs/main/linux-64::libgcc-ng-9.1.0-hdf63c60_0
  libgfortran-ng     pkgs/main/linux-64::libgfortran-ng-7.3.0-hdf63c60_0
  liblief            pkgs/main/linux-64::liblief-0.10.1-he6710b0_0
  libllvm10          pkgs/main/linux-64::libllvm10-10.0.1-hbcb73fb_5
  libpng             pkgs/main/linux-64::libpng-1.6.37-hbc83047_0
  libsodium          pkgs/main/linux-64::libsodium-1.0.18-h7b6447c_0
  libspatialindex    pkgs/main/linux-64::libspatialindex-1.9.3-he6710b0_0
  libssh2            pkgs/main/linux-64::libssh2-1.9.0-h1ba5d50_1
  libstdcxx-ng       pkgs/main/linux-64::libstdcxx-ng-9.1.0-hdf63c60_0
  libtiff            pkgs/main/linux-64::libtiff-4.1.0-h2733197_1
  libtool            pkgs/main/linux-64::libtool-2.4.6-h7b6447c_1005
  libuuid            pkgs/main/linux-64::libuuid-1.0.3-h1bed415_2
  libxcb             pkgs/main/linux-64::libxcb-1.14-h7b6447c_0
  libxml2            pkgs/main/linux-64::libxml2-2.9.10-hb55368b_3
  libxslt            pkgs/main/linux-64::libxslt-1.1.34-hc22bd24_0
  llvmlite           pkgs/main/linux-64::llvmlite-0.34.0-py38h269e1b5_4
  locket             pkgs/main/linux-64::locket-0.2.0-py38_1
  lxml               pkgs/main/linux-64::lxml-4.6.1-py38hefd8a0e_0
  lz4-c              pkgs/main/linux-64::lz4-c-1.9.2-heb0550a_3
  lzo                pkgs/main/linux-64::lzo-2.10-h7b6447c_2
  markupsafe         pkgs/main/linux-64::markupsafe-1.1.1-py38h7b6447c_0
  matplotlib         pkgs/main/linux-64::matplotlib-3.3.2-0
  matplotlib-base    pkgs/main/linux-64::matplotlib-base-3.3.2-py38h817c723_0
  mccabe             pkgs/main/linux-64::mccabe-0.6.1-py38_1
  mistune            pkgs/main/linux-64::mistune-0.8.4-py38h7b6447c_1000
  mkl                pkgs/main/linux-64::mkl-2020.2-256
  mkl-service        pkgs/main/linux-64::mkl-service-2.3.0-py38he904b0f_0
  mkl_fft            pkgs/main/linux-64::mkl_fft-1.2.0-py38h23d657b_0
  mkl_random         pkgs/main/linux-64::mkl_random-1.1.1-py38h0573a6f_0
  mock               pkgs/main/noarch::mock-4.0.2-py_0
  more-itertools     pkgs/main/noarch::more-itertools-8.6.0-pyhd3eb1b0_0
  mpc                pkgs/main/linux-64::mpc-1.1.0-h10f8cd9_1
  mpfr               pkgs/main/linux-64::mpfr-4.0.2-hb69a4c5_1
  mpmath             pkgs/main/linux-64::mpmath-1.1.0-py38_0
  msgpack-python     pkgs/main/linux-64::msgpack-python-1.0.0-py38hfd86e86_1
  multipledispatch   pkgs/main/linux-64::multipledispatch-0.6.0-py38_0
  navigator-updater  pkgs/main/linux-64::navigator-updater-0.2.1-py38_0
  nbclient           pkgs/main/noarch::nbclient-0.5.1-py_0
  nbconvert          pkgs/main/linux-64::nbconvert-6.0.7-py38_0
  nbformat           pkgs/main/noarch::nbformat-5.0.8-py_0
  ncurses            pkgs/main/linux-64::ncurses-6.2-he6710b0_1
  nest-asyncio       pkgs/main/noarch::nest-asyncio-1.4.2-pyhd3eb1b0_0
  networkx           pkgs/main/noarch::networkx-2.5-py_0
  nltk               pkgs/main/noarch::nltk-3.5-py_0
  nose               pkgs/main/linux-64::nose-1.3.7-py38_2
  notebook           pkgs/main/linux-64::notebook-6.1.4-py38_0
  numba              pkgs/main/linux-64::numba-0.51.2-py38h0573a6f_1
  numexpr            pkgs/main/linux-64::numexpr-2.7.1-py38h423224d_0
  numpy              pkgs/main/linux-64::numpy-1.19.2-py38h54aff64_0
  numpy-base         pkgs/main/linux-64::numpy-base-1.19.2-py38hfa32c7d_0
  numpydoc           pkgs/main/noarch::numpydoc-1.1.0-pyhd3eb1b0_1
  olefile            pkgs/main/noarch::olefile-0.46-py_0
  openpyxl           pkgs/main/noarch::openpyxl-3.0.5-py_0
  openssl            pkgs/main/linux-64::openssl-1.1.1h-h7b6447c_0
  packaging          pkgs/main/noarch::packaging-20.4-py_0
  pandas             pkgs/main/linux-64::pandas-1.1.3-py38he6710b0_0
  pandoc             pkgs/main/linux-64::pandoc-2.11-hb0f4dca_0
  pandocfilters      pkgs/main/linux-64::pandocfilters-1.4.3-py38h06a4308_1
  pango              pkgs/main/linux-64::pango-1.45.3-hd140c19_0
  parso              pkgs/main/noarch::parso-0.7.0-py_0
  partd              pkgs/main/noarch::partd-1.1.0-py_0
  patchelf           pkgs/main/linux-64::patchelf-0.12-he6710b0_0
  path               pkgs/main/linux-64::path-15.0.0-py38_0
  path.py            pkgs/main/noarch::path.py-12.5.0-0
  pathlib2           pkgs/main/linux-64::pathlib2-2.3.5-py38_0
  pathtools          pkgs/main/noarch::pathtools-0.1.2-py_1
  patsy              pkgs/main/linux-64::patsy-0.5.1-py38_0
  pcre               pkgs/main/linux-64::pcre-8.44-he6710b0_0
  pep8               pkgs/main/linux-64::pep8-1.7.1-py38_0
  pexpect            pkgs/main/linux-64::pexpect-4.8.0-py38_0
  pickleshare        pkgs/main/linux-64::pickleshare-0.7.5-py38_1000
  pillow             pkgs/main/linux-64::pillow-8.0.1-py38he98fc37_0
  pip                pkgs/main/linux-64::pip-20.2.4-py38h06a4308_0
  pixman             pkgs/main/linux-64::pixman-0.40.0-h7b6447c_0
  pkginfo            pkgs/main/linux-64::pkginfo-1.6.1-py38h06a4308_0
  pluggy             pkgs/main/linux-64::pluggy-0.13.1-py38_0
  ply                pkgs/main/linux-64::ply-3.11-py38_0
  prometheus_client  pkgs/main/noarch::prometheus_client-0.8.0-py_0
  prompt-toolkit     pkgs/main/noarch::prompt-toolkit-3.0.8-py_0
  prompt_toolkit     pkgs/main/noarch::prompt_toolkit-3.0.8-0
  psutil             pkgs/main/linux-64::psutil-5.7.2-py38h7b6447c_0
  ptyprocess         pkgs/main/linux-64::ptyprocess-0.6.0-py38_0
  py                 pkgs/main/noarch::py-1.9.0-py_0
  py-lief            pkgs/main/linux-64::py-lief-0.10.1-py38h403a769_0
  pycodestyle        pkgs/main/noarch::pycodestyle-2.6.0-py_0
  pycosat            pkgs/main/linux-64::pycosat-0.6.3-py38h7b6447c_1
  pycparser          pkgs/main/noarch::pycparser-2.20-py_2
  pycurl             pkgs/main/linux-64::pycurl-7.43.0.6-py38h1ba5d50_0
  pydocstyle         pkgs/main/noarch::pydocstyle-5.1.1-py_0
  pyflakes           pkgs/main/noarch::pyflakes-2.2.0-py_0
  pygments           pkgs/main/noarch::pygments-2.7.2-pyhd3eb1b0_0
  pylint             pkgs/main/linux-64::pylint-2.6.0-py38_0
  pyodbc             pkgs/main/linux-64::pyodbc-4.0.30-py38he6710b0_0
  pyopenssl          pkgs/main/noarch::pyopenssl-19.1.0-py_1
  pyparsing          pkgs/main/noarch::pyparsing-2.4.7-py_0
  pyqt               pkgs/main/linux-64::pyqt-5.9.2-py38h05f1152_4
  pyrsistent         pkgs/main/linux-64::pyrsistent-0.17.3-py38h7b6447c_0
  pysocks            pkgs/main/linux-64::pysocks-1.7.1-py38_0
  pytables           pkgs/main/linux-64::pytables-3.6.1-py38h9fd0a39_0
  pytest             pkgs/main/linux-64::pytest-6.1.1-py38_0
  python             pkgs/main/linux-64::python-3.8.5-h7579374_1
  python-dateutil    pkgs/main/noarch::python-dateutil-2.8.1-py_0
  python-jsonrpc-se~ pkgs/main/noarch::python-jsonrpc-server-0.4.0-py_0
  python-language-s~ pkgs/main/noarch::python-language-server-0.35.1-py_0
  python-libarchive~ pkgs/main/noarch::python-libarchive-c-2.9-py_0
  pytz               pkgs/main/noarch::pytz-2020.1-py_0
  pywavelets         pkgs/main/linux-64::pywavelets-1.1.1-py38h7b6447c_2
  pyxdg              pkgs/main/noarch::pyxdg-0.27-pyhd3eb1b0_0
  pyyaml             pkgs/main/linux-64::pyyaml-5.3.1-py38h7b6447c_1
  pyzmq              pkgs/main/linux-64::pyzmq-19.0.2-py38he6710b0_1
  qdarkstyle         pkgs/main/noarch::qdarkstyle-2.8.1-py_0
  qt                 pkgs/main/linux-64::qt-5.9.7-h5867ecd_1
  qtawesome          pkgs/main/noarch::qtawesome-1.0.1-py_0
  qtconsole          pkgs/main/noarch::qtconsole-4.7.7-py_0
  qtpy               pkgs/main/noarch::qtpy-1.9.0-py_0
  readline           pkgs/main/linux-64::readline-8.0-h7b6447c_0
  regex              pkgs/main/linux-64::regex-2020.10.15-py38h7b6447c_0
  requests           pkgs/main/noarch::requests-2.24.0-py_0
  ripgrep            pkgs/main/linux-64::ripgrep-12.1.1-0
  rope               pkgs/main/noarch::rope-0.18.0-py_0
  rtree              pkgs/main/linux-64::rtree-0.9.4-py38_1
  ruamel_yaml        pkgs/main/linux-64::ruamel_yaml-0.15.87-py38h7b6447c_1
  scikit-image       pkgs/main/linux-64::scikit-image-0.17.2-py38hdf5156a_0
  scikit-learn       pkgs/main/linux-64::scikit-learn-0.23.2-py38h0573a6f_0
  scipy              pkgs/main/linux-64::scipy-1.5.2-py38h0b6359f_0
  seaborn            pkgs/main/noarch::seaborn-0.11.0-py_0
  secretstorage      pkgs/main/linux-64::secretstorage-3.1.2-py38_0
  send2trash         pkgs/main/linux-64::send2trash-1.5.0-py38_0
  setuptools         pkgs/main/linux-64::setuptools-50.3.1-py38h06a4308_1
  simplegeneric      pkgs/main/linux-64::simplegeneric-0.8.1-py38_2
  singledispatch     pkgs/main/noarch::singledispatch-3.4.0.3-py_1001
  sip                pkgs/main/linux-64::sip-4.19.13-py38he6710b0_0
  six                pkgs/main/linux-64::six-1.15.0-py38h06a4308_0
  snowballstemmer    pkgs/main/noarch::snowballstemmer-2.0.0-py_0
  sortedcollections  pkgs/main/noarch::sortedcollections-1.2.1-py_0
  sortedcontainers   pkgs/main/noarch::sortedcontainers-2.2.2-py_0
  soupsieve          pkgs/main/noarch::soupsieve-2.0.1-py_0
  sphinx             pkgs/main/noarch::sphinx-3.2.1-py_0
  sphinxcontrib      pkgs/main/linux-64::sphinxcontrib-1.0-py38_1
  sphinxcontrib-app~ pkgs/main/noarch::sphinxcontrib-applehelp-1.0.2-py_0
  sphinxcontrib-dev~ pkgs/main/noarch::sphinxcontrib-devhelp-1.0.2-py_0
  sphinxcontrib-htm~ pkgs/main/noarch::sphinxcontrib-htmlhelp-1.0.3-py_0
  sphinxcontrib-jsm~ pkgs/main/noarch::sphinxcontrib-jsmath-1.0.1-py_0
  sphinxcontrib-qth~ pkgs/main/noarch::sphinxcontrib-qthelp-1.0.3-py_0
  sphinxcontrib-ser~ pkgs/main/noarch::sphinxcontrib-serializinghtml-1.1.4-py_0
  sphinxcontrib-web~ pkgs/main/noarch::sphinxcontrib-websupport-1.2.4-py_0
  spyder             pkgs/main/linux-64::spyder-4.1.5-py38_0
  spyder-kernels     pkgs/main/linux-64::spyder-kernels-1.9.4-py38_0
  sqlalchemy         pkgs/main/linux-64::sqlalchemy-1.3.20-py38h7b6447c_0
  sqlite             pkgs/main/linux-64::sqlite-3.33.0-h62c20be_0
  statsmodels        pkgs/main/linux-64::statsmodels-0.12.0-py38h7b6447c_0
  sympy              pkgs/main/linux-64::sympy-1.6.2-py38h06a4308_1
  tbb                pkgs/main/linux-64::tbb-2020.3-hfd86e86_0
  tblib              pkgs/main/noarch::tblib-1.7.0-py_0
  terminado          pkgs/main/linux-64::terminado-0.9.1-py38_0
  testpath           pkgs/main/noarch::testpath-0.4.4-py_0
  threadpoolctl      pkgs/main/noarch::threadpoolctl-2.1.0-pyh5ca1d4c_0
  tifffile           pkgs/main/linux-64::tifffile-2020.10.1-py38hdd07704_2
  tk                 pkgs/main/linux-64::tk-8.6.10-hbc83047_0
  toml               pkgs/main/noarch::toml-0.10.1-py_0
  toolz              pkgs/main/noarch::toolz-0.11.1-py_0
  tornado            pkgs/main/linux-64::tornado-6.0.4-py38h7b6447c_1
  tqdm               pkgs/main/noarch::tqdm-4.50.2-py_0
  traitlets          pkgs/main/noarch::traitlets-5.0.5-py_0
  typing_extensions  pkgs/main/noarch::typing_extensions-3.7.4.3-py_0
  ujson              pkgs/main/linux-64::ujson-4.0.1-py38he6710b0_0
  unicodecsv         pkgs/main/linux-64::unicodecsv-0.14.1-py38_0
  unixodbc           pkgs/main/linux-64::unixodbc-2.3.9-h7b6447c_0
  urllib3            pkgs/main/noarch::urllib3-1.25.11-py_0
  watchdog           pkgs/main/linux-64::watchdog-0.10.3-py38_0
  wcwidth            pkgs/main/noarch::wcwidth-0.2.5-py_0
  webencodings       pkgs/main/linux-64::webencodings-0.5.1-py38_1
  werkzeug           pkgs/main/noarch::werkzeug-1.0.1-py_0
  wheel              pkgs/main/noarch::wheel-0.35.1-py_0
  widgetsnbextension pkgs/main/linux-64::widgetsnbextension-3.5.1-py38_0
  wrapt              pkgs/main/linux-64::wrapt-1.11.2-py38h7b6447c_0
  wurlitzer          pkgs/main/linux-64::wurlitzer-2.0.1-py38_0
  xlrd               pkgs/main/noarch::xlrd-1.2.0-py_0
  xlsxwriter         pkgs/main/noarch::xlsxwriter-1.3.7-py_0
  xlwt               pkgs/main/linux-64::xlwt-1.3.0-py38_0
  xmltodict          pkgs/main/noarch::xmltodict-0.12.0-py_0
  xz                 pkgs/main/linux-64::xz-5.2.5-h7b6447c_0
  yaml               pkgs/main/linux-64::yaml-0.2.5-h7b6447c_0
  yapf               pkgs/main/noarch::yapf-0.30.0-py_0
  zeromq             pkgs/main/linux-64::zeromq-4.3.3-he6710b0_3
  zict               pkgs/main/noarch::zict-2.0.0-py_0
  zipp               pkgs/main/noarch::zipp-3.4.0-pyhd3eb1b0_0
  zlib               pkgs/main/linux-64::zlib-1.2.11-h7b6447c_3
  zope               pkgs/main/linux-64::zope-1.0-py38_1
  zope.event         pkgs/main/linux-64::zope.event-4.5.0-py38_0
  zope.interface     pkgs/main/linux-64::zope.interface-5.1.2-py38h7b6447c_0
  zstd               pkgs/main/linux-64::zstd-1.4.5-h9ceee32_0


Preparing transaction: done
Executing transaction: done
installation finished.
Do you wish the installer to initialize Anaconda3
by running conda init? [yes|no]
[no] >>> yes
no change     /home/soloelectronicos/anaconda3/condabin/conda
no change     /home/soloelectronicos/anaconda3/bin/conda
no change     /home/soloelectronicos/anaconda3/bin/conda-env
no change     /home/soloelectronicos/anaconda3/bin/activate
no change     /home/soloelectronicos/anaconda3/bin/deactivate
no change     /home/soloelectronicos/anaconda3/etc/profile.d/conda.sh
no change     /home/soloelectronicos/anaconda3/etc/fish/conf.d/conda.fish
no change     /home/soloelectronicos/anaconda3/shell/condabin/Conda.psm1
no change     /home/soloelectronicos/anaconda3/shell/condabin/conda-hook.ps1
no change     /home/soloelectronicos/anaconda3/lib/python3.8/site-packages/xontrib/conda.xsh
no change     /home/soloelectronicos/anaconda3/etc/profile.d/conda.csh
modified      /home/soloelectronicos/.bashrc

==> For changes to take effect, close and re-open your current shell. <==

If you'd prefer that conda's base environment not be activated on startup, 
   set the auto_activate_base parameter to false: 

conda config --set auto_activate_base false

Thank you for installing Anaconda3!

===========================================================================

Working with Python and Jupyter notebooks is a breeze with PyCharm Pro,
designed to be used with Anaconda. Download now and have the best data
tools at your fingertips.

PyCharm Pro for Anaconda is available at: https://www.anaconda.com/pycharm

[email protected]:~/Descargas$ source ~/.bashrc
(base) [email protected]:~/Descargas$ conda info

     active environment : base
    active env location : /home/soloelectronicos/anaconda3
            shell level : 1
       user config file : /home/soloelectronicos/.condarc
 populated config files : 
          conda version : 4.9.2
    conda-build version : 3.20.5
         python version : 3.8.5.final.0
       virtual packages : __glibc=2.31=0
                          __unix=0=0
                          __archspec=1=x86_64
       base environment : /home/soloelectronicos/anaconda3  (writable)
           channel URLs : https://repo.anaconda.com/pkgs/main/linux-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/linux-64
                          https://repo.anaconda.com/pkgs/r/noarch
          package cache : /home/soloelectronicos/anaconda3/pkgs
                          /home/soloelectronicos/.conda/pkgs
       envs directories : /home/soloelectronicos/anaconda3/envs
                          /home/soloelectronicos/.conda/envs
               platform : linux-64
             user-agent : conda/4.9.2 requests/2.24.0 CPython/3.8.5 Linux/5.11.0-27-generic ubuntu/20.04.3 glibc/2.31
                UID:GID : 1000:1000
             netrc file : None
           offline mode : False

(base) [email protected]:~/Descargas$ conda update conda
Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: /home/soloelectronicos/anaconda3

  added / updated specs:
    - conda


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    backports.functools_lru_cache-1.6.4|     pyhd3eb1b0_0           9 KB
    backports.tempfile-1.0     |     pyhd3eb1b0_1          11 KB
    conda-4.10.3               |   py38h06a4308_0         2.9 MB
    conda-package-handling-1.7.3|   py38h27cfd23_1         884 KB
    ------------------------------------------------------------
                                           Total:         3.8 MB

The following packages will be UPDATED:

  backports.functoo~                             1.6.1-py_0 --> 1.6.4-pyhd3eb1b0_0
  conda                                4.9.2-py38h06a4308_0 --> 4.10.3-py38h06a4308_0
  conda-package-han~                   1.7.2-py38h03888b9_0 --> 1.7.3-py38h27cfd23_1

The following packages will be DOWNGRADED:

  backports.tempfile                               1.0-py_1 --> 1.0-pyhd3eb1b0_1


Proceed ([y]/n)? y


Downloading and Extracting Packages
backports.tempfile-1 | 11 KB     | ##################################### | 100% 
backports.functools_ | 9 KB      | ##################################### | 100% 
conda-4.10.3         | 2.9 MB    | ##################################### | 100% 
conda-package-handli | 884 KB    | ##################################### | 100% 
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
(base) [email protected]:~/Descargas$ conda update anaconda
Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: /home/soloelectronicos/anaconda3

  added / updated specs:
    - anaconda


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    _anaconda_depends-2020.07  |           py38_0           6 KB
    _openmp_mutex-4.5          |            1_gnu          22 KB
    alabaster-0.7.12           |     pyhd3eb1b0_0          16 KB
    anaconda-custom            |           py38_1          35 KB
    anaconda-client-1.8.0      |   py38h06a4308_0         152 KB
    anaconda-project-0.10.1    |     pyhd3eb1b0_0         218 KB
    anyio-2.2.0                |   py38h06a4308_1         125 KB
    appdirs-1.4.4              |             py_0          13 KB
    argon2-cffi-20.1.0         |   py38h27cfd23_1          46 KB
    astroid-2.6.6              |   py38h06a4308_0         309 KB
    astropy-4.3.1              |   py38h09021b7_0         6.4 MB
    async_generator-1.10       |     pyhd3eb1b0_0          23 KB
    attrs-21.2.0               |     pyhd3eb1b0_0          46 KB
    babel-2.9.1                |     pyhd3eb1b0_0         5.5 MB
    backcall-0.2.0             |     pyhd3eb1b0_0          13 KB
    backports-1.0              |     pyhd3eb1b0_2         210 KB
    backports.shutil_get_terminal_size-1.0.0|     pyhd3eb1b0_3          10 KB
    beautifulsoup4-4.9.3       |     pyha847dfd_0          86 KB
    bitarray-2.3.0             |   py38h7f8727e_1         139 KB
    black-19.10b0              |             py_0          86 KB
    bleach-4.0.0               |     pyhd3eb1b0_0         113 KB
    blosc-1.21.0               |       h8c45485_0          64 KB
    bokeh-2.3.3                |   py38h06a4308_0         5.9 MB
    brotli-1.0.9               |       he6710b0_2         375 KB
    brotlipy-0.7.0             |py38h27cfd23_1003         323 KB
    c-ares-1.17.1              |       h27cfd23_0         108 KB
    ca-certificates-2021.7.5   |       h06a4308_1         113 KB
    cairo-1.16.0               |       hf32fb01_1         1.0 MB
    certifi-2021.5.30          |   py38h06a4308_0         138 KB
    cffi-1.14.6                |   py38h400218f_0         224 KB
    chardet-4.0.0              |py38h06a4308_1003         194 KB
    charset-normalizer-2.0.4   |     pyhd3eb1b0_0          35 KB
    click-8.0.1                |     pyhd3eb1b0_0          79 KB
    colorama-0.4.4             |     pyhd3eb1b0_0          21 KB
    conda-pack-0.6.0           |     pyhd3eb1b0_0          29 KB
    cryptography-3.4.7         |   py38hd23ed53_0         913 KB
    curl-7.78.0                |       h1ccaba5_0          94 KB
    cython-0.29.24             |   py38h295c915_0         2.0 MB
    dask-2021.8.1              |     pyhd3eb1b0_0          18 KB
    dask-core-2021.8.1         |     pyhd3eb1b0_0         715 KB
    debugpy-1.4.1              |   py38h295c915_0         1.7 MB
    decorator-5.0.9            |     pyhd3eb1b0_0          12 KB
    defusedxml-0.7.1           |     pyhd3eb1b0_0          23 KB
    distributed-2021.8.1       |   py38h06a4308_0         970 KB
    docutils-0.17.1            |   py38h06a4308_1         686 KB
    et_xmlfile-1.1.0           |   py38h06a4308_0          10 KB
    expat-2.4.1                |       h2531618_2         168 KB
    filelock-3.0.12            |     pyhd3eb1b0_1          10 KB
    flask-1.1.2                |     pyhd3eb1b0_0          70 KB
    fontconfig-2.13.1          |       h6c09931_0         250 KB
    fonttools-4.25.0           |     pyhd3eb1b0_0         632 KB
    fsspec-2021.7.0            |     pyhd3eb1b0_0          91 KB
    gevent-21.8.0              |   py38h7f8727e_1         1.5 MB
    glib-2.69.1                |       h5202010_0         1.7 MB
    glob2-0.7                  |     pyhd3eb1b0_0          12 KB
    gmp-6.2.1                  |       h2531618_2         539 KB
    greenlet-1.1.1             |   py38h295c915_0          82 KB
    gst-plugins-base-1.14.0    |       h8213a91_2         4.9 MB
    gstreamer-1.14.0           |       h28cd5cc_2         3.2 MB
    harfbuzz-2.8.1             |       h6f93f22_0         1.1 MB
    idna-3.2                   |     pyhd3eb1b0_0          48 KB
    imageio-2.9.0              |     pyhd3eb1b0_0         3.0 MB
    imagesize-1.2.0            |     pyhd3eb1b0_0           9 KB
    importlib-metadata-3.10.0  |   py38h06a4308_0          33 KB
    importlib_metadata-3.10.0  |       hd3eb1b0_0          11 KB
    iniconfig-1.1.1            |     pyhd3eb1b0_0           8 KB
    intel-openmp-2021.3.0      |    h06a4308_3350         1.4 MB
    ipykernel-6.2.0            |   py38h06a4308_1         192 KB
    ipython-7.26.0             |   py38hb070fc8_0         994 KB
    ipython_genutils-0.2.0     |     pyhd3eb1b0_1          27 KB
    ipywidgets-7.6.3           |     pyhd3eb1b0_1         105 KB
    isort-5.9.3                |     pyhd3eb1b0_0          83 KB
    itsdangerous-2.0.1         |     pyhd3eb1b0_0          18 KB
    jedi-0.17.2                |   py38h06a4308_1         924 KB
    jeepney-0.7.1              |     pyhd3eb1b0_0          38 KB
    jinja2-3.0.1               |     pyhd3eb1b0_0         110 KB
    joblib-1.0.1               |     pyhd3eb1b0_0         208 KB
    json5-0.9.6                |     pyhd3eb1b0_0          21 KB
    jupyter_client-6.1.12      |     pyhd3eb1b0_0          88 KB
    jupyter_console-6.4.0      |     pyhd3eb1b0_0          23 KB
    jupyter_core-4.7.1         |   py38h06a4308_0          68 KB
    jupyter_server-1.4.1       |   py38h06a4308_0         317 KB
    jupyterlab-3.1.7           |     pyhd3eb1b0_0         3.6 MB
    jupyterlab_server-2.7.1    |     pyhd3eb1b0_0          44 KB
    jupyterlab_widgets-1.0.0   |     pyhd3eb1b0_1         109 KB
    keyring-23.0.1             |   py38h06a4308_0          54 KB
    kiwisolver-1.3.1           |   py38h2531618_0          80 KB
    krb5-1.19.2                |       hac12032_0         1.2 MB
    lazy-object-proxy-1.6.0    |   py38h27cfd23_0          30 KB
    lcms2-2.12                 |       h3be6417_0         312 KB
    ld_impl_linux-64-2.35.1    |       h7274673_9         586 KB
    libcurl-7.78.0             |       h0b77cf5_0         338 KB
    libedit-3.1.20210714       |       h7f8727e_0         165 KB
    libev-4.33                 |       h7b6447c_0         112 KB
    libgcc-ng-9.3.0            |      h5101ec6_17         4.8 MB
    libgfortran-ng-7.5.0       |      ha8ba4b0_17          22 KB
    libgfortran4-7.5.0         |      ha8ba4b0_17         995 KB
    libgomp-9.3.0              |      h5101ec6_17         311 KB
    libllvm9-9.0.1             |       h4a3c616_1        21.0 MB
    libnghttp2-1.41.0          |       hf8bcb03_2         667 KB
    libspatialindex-1.9.3      |       h2531618_0         2.1 MB
    libstdcxx-ng-9.3.0         |      hd4cf53a_17         3.1 MB
    libtiff-4.2.0              |       h85742a9_0         502 KB
    libuv-1.40.0               |       h7b6447c_0         736 KB
    libwebp-base-1.2.0         |       h27cfd23_0         437 KB
    libxml2-2.9.12             |       h03d6c58_0         1.2 MB
    llvmlite-0.36.0            |   py38h612dafd_4         396 KB
    locket-0.2.1               |   py38h06a4308_1          10 KB
    lxml-4.6.3                 |   py38h9120a33_0         1.3 MB
    lz4-c-1.9.3                |       h295c915_1         185 KB
    markupsafe-2.0.1           |   py38h27cfd23_0          22 KB
    matplotlib-3.4.2           |   py38h06a4308_0          26 KB
    matplotlib-base-3.4.2      |   py38hab158f2_0         5.6 MB
    matplotlib-inline-0.1.2    |     pyhd3eb1b0_2          12 KB
    mkl-2021.3.0               |     h06a4308_520       141.2 MB
    mkl-service-2.4.0          |   py38h7f8727e_0          59 KB
    mkl_fft-1.3.0              |   py38h42c9631_2         180 KB
    mkl_random-1.2.2           |   py38h51133e4_0         308 KB
    mock-4.0.3                 |     pyhd3eb1b0_0          29 KB
    more-itertools-8.8.0       |     pyhd3eb1b0_0          42 KB
    mpmath-1.2.1               |   py38h06a4308_0         766 KB
    msgpack-python-1.0.2       |   py38hff7bd54_1          83 KB
    munkres-1.1.4              |             py_0          13 KB
    mypy_extensions-0.4.3      |           py38_0           9 KB
    nbclassic-0.2.6            |     pyhd3eb1b0_0          19 KB
    nbclient-0.5.3             |     pyhd3eb1b0_0          62 KB
    nbconvert-6.1.0            |   py38h06a4308_0         481 KB
    nbformat-5.1.3             |     pyhd3eb1b0_0          44 KB
    nest-asyncio-1.5.1         |     pyhd3eb1b0_0          10 KB
    networkx-2.6.2             |     pyhd3eb1b0_0         1.3 MB
    nltk-3.6.2                 |     pyhd3eb1b0_0         988 KB
    nose-1.3.7                 |  pyhd3eb1b0_1006         128 KB
    notebook-6.4.3             |   py38h06a4308_0         4.2 MB
    numba-0.53.1               |   py38ha9443f7_0         3.3 MB
    numexpr-2.7.3              |   py38h22e1b3c_1         188 KB
    numpy-1.20.3               |   py38hf144106_0          23 KB
    numpy-base-1.20.3          |   py38h74d4b33_0         4.5 MB
    openjpeg-2.4.0             |       h3ad879b_0         331 KB
    openpyxl-3.0.7             |     pyhd3eb1b0_0         159 KB
    openssl-1.1.1l             |       h7f8727e_0         2.5 MB
    packaging-21.0             |     pyhd3eb1b0_0          36 KB
    pandas-1.3.2               |   py38h8c16a72_0         9.6 MB
    pandoc-2.12                |       h06a4308_0         9.5 MB
    partd-1.2.0                |     pyhd3eb1b0_0          19 KB
    patchelf-0.12              |       h2531618_1          88 KB
    path-16.0.0                |   py38h06a4308_0          37 KB
    pathlib2-2.3.6             |   py38h06a4308_2          36 KB
    pathspec-0.7.0             |             py_0          26 KB
    pcre-8.45                  |       h295c915_0         207 KB
    pexpect-4.8.0              |     pyhd3eb1b0_3          53 KB
    pickleshare-0.7.5          |  pyhd3eb1b0_1003          13 KB
    pillow-8.3.1               |   py38h2c7a002_0         638 KB
    pip-21.0.1                 |   py38h06a4308_0         1.8 MB
    pkginfo-1.7.1              |   py38h06a4308_0          43 KB
    pluggy-0.13.1              |   py38h06a4308_0          33 KB
    prometheus_client-0.11.0   |     pyhd3eb1b0_0          47 KB
    prompt-toolkit-3.0.17      |     pyh06a4308_0         256 KB
    prompt_toolkit-3.0.17      |       hd3eb1b0_0          12 KB
    psutil-5.8.0               |   py38h27cfd23_1         327 KB
    ptyprocess-0.7.0           |     pyhd3eb1b0_2          17 KB
    py-1.10.0                  |     pyhd3eb1b0_0          76 KB
    pycodestyle-2.6.0          |     pyhd3eb1b0_0          38 KB
    pydocstyle-6.1.1           |     pyhd3eb1b0_0          36 KB
    pyerfa-2.0.0               |   py38h27cfd23_0         345 KB
    pyflakes-2.2.0             |     pyhd3eb1b0_0          56 KB
    pygments-2.10.0            |     pyhd3eb1b0_0         725 KB
    pylint-2.9.6               |   py38h06a4308_1         488 KB
    pyls-black-0.4.6           |       hd3eb1b0_0           9 KB
    pyls-spyder-0.3.2          |     pyhd3eb1b0_0          10 KB
    pyodbc-4.0.31              |   py38h295c915_0          71 KB
    pyopenssl-20.0.1           |     pyhd3eb1b0_1          49 KB
    pyparsing-2.4.7            |     pyhd3eb1b0_0          59 KB
    pysocks-1.7.1              |   py38h06a4308_0          31 KB
    pytest-6.2.4               |   py38h06a4308_2         423 KB
    python-dateutil-2.8.2      |     pyhd3eb1b0_0         233 KB
    python-language-server-0.36.2|     pyhd3eb1b0_0          41 KB
    python-libarchive-c-2.9    |     pyhd3eb1b0_1          47 KB
    pytz-2021.1                |     pyhd3eb1b0_0         181 KB
    pyyaml-5.4.1               |   py38h27cfd23_1         174 KB
    pyzmq-22.2.1               |   py38h295c915_1         465 KB
    qtawesome-1.0.2            |     pyhd3eb1b0_0         760 KB
    qtconsole-5.1.0            |     pyhd3eb1b0_0          98 KB
    qtpy-1.10.0                |     pyhd3eb1b0_0          35 KB
    readline-8.1               |       h27cfd23_0         362 KB
    regex-2021.8.3             |   py38h7f8727e_0         319 KB
    requests-2.26.0            |     pyhd3eb1b0_0          59 KB
    rope-0.19.0                |     pyhd3eb1b0_0         126 KB
    rtree-0.9.7                |   py38h06a4308_1          48 KB
    ruamel_yaml-0.15.100       |   py38h27cfd23_0         258 KB
    scikit-image-0.18.1        |   py38ha9443f7_0         9.5 MB
    scikit-learn-0.24.2        |   py38ha9443f7_0         5.4 MB
    scipy-1.6.2                |   py38had2a1c9_1        15.6 MB
    seaborn-0.11.2             |     pyhd3eb1b0_0         218 KB
    secretstorage-3.3.1        |   py38h06a4308_0          24 KB
    send2trash-1.5.0           |     pyhd3eb1b0_1          14 KB
    setuptools-52.0.0          |   py38h06a4308_0         714 KB
    singledispatch-3.7.0       |  pyhd3eb1b0_1001          12 KB
    six-1.16.0                 |     pyhd3eb1b0_0          18 KB
    snappy-1.1.8               |       he6710b0_0          40 KB
    sniffio-1.2.0              |   py38h06a4308_1          15 KB
    snowballstemmer-2.1.0      |     pyhd3eb1b0_0          62 KB
    sortedcollections-2.1.0    |     pyhd3eb1b0_0          12 KB
    sortedcontainers-2.4.0     |     pyhd3eb1b0_0          26 KB
    soupsieve-2.2.1            |     pyhd3eb1b0_0          32 KB
    sphinx-4.0.2               |     pyhd3eb1b0_0         1.2 MB
    sphinxcontrib-applehelp-1.0.2|     pyhd3eb1b0_0          29 KB
    sphinxcontrib-devhelp-1.0.2|     pyhd3eb1b0_0          23 KB
    sphinxcontrib-htmlhelp-2.0.0|     pyhd3eb1b0_0          32 KB
    sphinxcontrib-jsmath-1.0.1 |     pyhd3eb1b0_0           8 KB
    sphinxcontrib-qthelp-1.0.3 |     pyhd3eb1b0_0          26 KB
    sphinxcontrib-serializinghtml-1.1.5|     pyhd3eb1b0_0          25 KB
    spyder-4.2.5               |   py38h06a4308_0         5.4 MB
    spyder-kernels-1.10.2      |   py38h06a4308_0         102 KB
    sqlalchemy-1.4.22          |   py38h7f8727e_0         1.8 MB
    sqlite-3.36.0              |       hc218d9a_0         990 KB
    statsmodels-0.12.2         |   py38h27cfd23_0         8.5 MB
    sympy-1.8                  |   py38h06a4308_0         9.1 MB
    terminado-0.9.4            |   py38h06a4308_0          25 KB
    testpath-0.5.0             |     pyhd3eb1b0_0          81 KB
    textdistance-4.2.1         |     pyhd3eb1b0_0          29 KB
    threadpoolctl-2.2.0        |     pyhbf3da8f_0          16 KB
    three-merge-0.1.1          |     pyhd3eb1b0_0          10 KB
    toml-0.10.2                |     pyhd3eb1b0_0          20 KB
    toolz-0.11.1               |     pyhd3eb1b0_0          46 KB
    tornado-6.1                |   py38h27cfd23_0         588 KB
    tqdm-4.62.1                |     pyhd3eb1b0_1          84 KB
    traitlets-5.0.5            |     pyhd3eb1b0_0          81 KB
    typed-ast-1.4.3            |   py38h7f8727e_1         185 KB
    typing_extensions-3.10.0.0 |     pyh06a4308_0          27 KB
    ujson-4.0.2                |   py38h2531618_0          45 KB
    urllib3-1.26.6             |     pyhd3eb1b0_1         112 KB
    watchdog-1.0.2             |   py38h06a4308_1          89 KB
    werkzeug-1.0.1             |     pyhd3eb1b0_0         239 KB
    wheel-0.37.0               |     pyhd3eb1b0_0          32 KB
    wrapt-1.12.1               |   py38h7b6447c_1          50 KB
    wurlitzer-2.1.1            |   py38h06a4308_0          13 KB
    xlrd-2.0.1                 |     pyhd3eb1b0_0          90 KB
    xlsxwriter-3.0.1           |     pyhd3eb1b0_0         111 KB
    yapf-0.31.0                |     pyhd3eb1b0_0         126 KB
    zeromq-4.3.4               |       h2531618_0         331 KB
    zict-2.0.0                 |     pyhd3eb1b0_0          10 KB
    zipp-3.5.0                 |     pyhd3eb1b0_0          13 KB
    zope.interface-5.4.0       |   py38h7f8727e_0         301 KB
    zstd-1.4.9                 |       haebb681_0         480 KB
    ------------------------------------------------------------
                                           Total:       352.0 MB

The following NEW packages will be INSTALLED:

  _anaconda_depends  pkgs/main/linux-64::_anaconda_depends-2020.07-py38_0
  _openmp_mutex      pkgs/main/linux-64::_openmp_mutex-4.5-1_gnu
  anyio              pkgs/main/linux-64::anyio-2.2.0-py38h06a4308_1
  appdirs            pkgs/main/noarch::appdirs-1.4.4-py_0
  black              pkgs/main/noarch::black-19.10b0-py_0
  brotli             pkgs/main/linux-64::brotli-1.0.9-he6710b0_2
  c-ares             pkgs/main/linux-64::c-ares-1.17.1-h27cfd23_0
  charset-normalizer pkgs/main/noarch::charset-normalizer-2.0.4-pyhd3eb1b0_0
  conda-pack         pkgs/main/noarch::conda-pack-0.6.0-pyhd3eb1b0_0
  debugpy            pkgs/main/linux-64::debugpy-1.4.1-py38h295c915_0
  fonttools          pkgs/main/noarch::fonttools-4.25.0-pyhd3eb1b0_0
  jupyter_server     pkgs/main/linux-64::jupyter_server-1.4.1-py38h06a4308_0
  jupyterlab_widgets pkgs/main/noarch::jupyterlab_widgets-1.0.0-pyhd3eb1b0_1
  libev              pkgs/main/linux-64::libev-4.33-h7b6447c_0
  libgfortran4       pkgs/main/linux-64::libgfortran4-7.5.0-ha8ba4b0_17
  libgomp            pkgs/main/linux-64::libgomp-9.3.0-h5101ec6_17
  libllvm9           pkgs/main/linux-64::libllvm9-9.0.1-h4a3c616_1
  libnghttp2         pkgs/main/linux-64::libnghttp2-1.41.0-hf8bcb03_2
  libuv              pkgs/main/linux-64::libuv-1.40.0-h7b6447c_0
  libwebp-base       pkgs/main/linux-64::libwebp-base-1.2.0-h27cfd23_0
  matplotlib-inline  pkgs/main/noarch::matplotlib-inline-0.1.2-pyhd3eb1b0_2
  munkres            pkgs/main/noarch::munkres-1.1.4-py_0
  mypy_extensions    pkgs/main/linux-64::mypy_extensions-0.4.3-py38_0
  nbclassic          pkgs/main/noarch::nbclassic-0.2.6-pyhd3eb1b0_0
  openjpeg           pkgs/main/linux-64::openjpeg-2.4.0-h3ad879b_0
  pathspec           pkgs/main/noarch::pathspec-0.7.0-py_0
  pyerfa             pkgs/main/linux-64::pyerfa-2.0.0-py38h27cfd23_0
  pyls-black         pkgs/main/noarch::pyls-black-0.4.6-hd3eb1b0_0
  pyls-spyder        pkgs/main/noarch::pyls-spyder-0.3.2-pyhd3eb1b0_0
  snappy             pkgs/main/linux-64::snappy-1.1.8-he6710b0_0
  sniffio            pkgs/main/linux-64::sniffio-1.2.0-py38h06a4308_1
  textdistance       pkgs/main/noarch::textdistance-4.2.1-pyhd3eb1b0_0
  three-merge        pkgs/main/noarch::three-merge-0.1.1-pyhd3eb1b0_0
  typed-ast          pkgs/main/linux-64::typed-ast-1.4.3-py38h7f8727e_1

The following packages will be UPDATED:

  anaconda-client                              1.7.2-py38_0 --> 1.8.0-py38h06a4308_0
  anaconda-project                               0.8.4-py_0 --> 0.10.1-pyhd3eb1b0_0
  astroid                                      2.4.2-py38_0 --> 2.6.6-py38h06a4308_0
  astropy                              4.0.2-py38h7b6447c_0 --> 4.3.1-py38h09021b7_0
  attrs                                 20.3.0-pyhd3eb1b0_0 --> 21.2.0-pyhd3eb1b0_0
  babel                                  2.8.1-pyhd3eb1b0_0 --> 2.9.1-pyhd3eb1b0_0
  backports.shutil_~ pkgs/main/linux-64::backports.shutil_~ --> pkgs/main/noarch::backports.shutil_get_terminal_size-1.0.0-pyhd3eb1b0_3
  bitarray                             1.6.1-py38h27cfd23_0 --> 2.3.0-py38h7f8727e_1
  bleach                                         3.2.1-py_0 --> 4.0.0-pyhd3eb1b0_0
  blosc                                   1.20.1-hd408876_0 --> 1.21.0-h8c45485_0
  bokeh                                        2.2.3-py38_0 --> 2.3.3-py38h06a4308_0
  brotlipy                          0.7.0-py38h7b6447c_1000 --> 0.7.0-py38h27cfd23_1003
  ca-certificates                              2020.10.14-0 --> 2021.7.5-h06a4308_1
  cairo                                  1.14.12-h8948797_3 --> 1.16.0-hf32fb01_1
  certifi            pkgs/main/noarch::certifi-2020.6.20-p~ --> pkgs/main/linux-64::certifi-2021.5.30-py38h06a4308_0
  cffi                                1.14.3-py38he30daa8_0 --> 1.14.6-py38h400218f_0
  chardet                                   3.0.4-py38_1003 --> 4.0.0-py38h06a4308_1003
  click                                          7.1.2-py_0 --> 8.0.1-pyhd3eb1b0_0
  cryptography                         3.1.1-py38h1ba5d50_0 --> 3.4.7-py38hd23ed53_0
  curl                                    7.71.1-hbc83047_1 --> 7.78.0-h1ccaba5_0
  cython                             0.29.21-py38he6710b0_0 --> 0.29.24-py38h295c915_0
  dask                                          2.30.0-py_0 --> 2021.8.1-pyhd3eb1b0_0
  dask-core                                     2.30.0-py_0 --> 2021.8.1-pyhd3eb1b0_0
  decorator                                      4.4.2-py_0 --> 5.0.9-pyhd3eb1b0_0
  defusedxml                                     0.6.0-py_0 --> 0.7.1-pyhd3eb1b0_0
  distributed                         2.30.1-py38h06a4308_0 --> 2021.8.1-py38h06a4308_0
  docutils                                      0.16-py38_1 --> 0.17.1-py38h06a4308_1
  et_xmlfile         pkgs/main/noarch::et_xmlfile-1.0.1-py~ --> pkgs/main/linux-64::et_xmlfile-1.1.0-py38h06a4308_0
  expat                                   2.2.10-he6710b0_2 --> 2.4.1-h2531618_2
  filelock                                      3.0.12-py_0 --> 3.0.12-pyhd3eb1b0_1
  fontconfig                              2.13.0-h9420a91_0 --> 2.13.1-h6c09931_0
  fsspec                                         0.8.3-py_0 --> 2021.7.0-pyhd3eb1b0_0
  gevent                              20.9.0-py38h7b6447c_0 --> 21.8.0-py38h7f8727e_1
  glib                                    2.66.1-h92f7085_0 --> 2.69.1-h5202010_0
  gmp                                      6.1.2-h6c8ec71_1 --> 6.2.1-h2531618_2
  greenlet                            0.4.17-py38h7b6447c_0 --> 1.1.1-py38h295c915_0
  gst-plugins-base                        1.14.0-hbbd80ab_1 --> 1.14.0-h8213a91_2
  gstreamer                               1.14.0-hb31296c_0 --> 1.14.0-h28cd5cc_2
  harfbuzz                                 2.4.0-hca77d97_1 --> 2.8.1-h6f93f22_0
  idna                                            2.10-py_0 --> 3.2-pyhd3eb1b0_0
  importlib-metadata pkgs/main/noarch::importlib-metadata-~ --> pkgs/main/linux-64::importlib-metadata-3.10.0-py38h06a4308_0
  importlib_metadata                                2.0.0-1 --> 3.10.0-hd3eb1b0_0
  intel-openmp                                   2020.2-254 --> 2021.3.0-h06a4308_3350
  ipykernel                            5.3.4-py38h5ca1d4c_0 --> 6.2.0-py38h06a4308_1
  ipython                             7.19.0-py38hb070fc8_0 --> 7.26.0-py38hb070fc8_0
  ipython_genutils   pkgs/main/linux-64::ipython_genutils-~ --> pkgs/main/noarch::ipython_genutils-0.2.0-pyhd3eb1b0_1
  ipywidgets                                     7.5.1-py_1 --> 7.6.3-pyhd3eb1b0_1
  isort                                          5.6.4-py_0 --> 5.9.3-pyhd3eb1b0_0
  itsdangerous                                   1.1.0-py_0 --> 2.0.1-pyhd3eb1b0_0
  jedi                                        0.17.1-py38_0 --> 0.17.2-py38h06a4308_1
  jeepney                                0.5.0-pyhd3eb1b0_0 --> 0.7.1-pyhd3eb1b0_0
  jinja2                                        2.11.2-py_0 --> 3.0.1-pyhd3eb1b0_0
  joblib                                        0.17.0-py_0 --> 1.0.1-pyhd3eb1b0_0
  json5                                          0.9.5-py_0 --> 0.9.6-pyhd3eb1b0_0
  jupyter_client                                 6.1.7-py_0 --> 6.1.12-pyhd3eb1b0_0
  jupyter_console                                6.2.0-py_0 --> 6.4.0-pyhd3eb1b0_0
  jupyter_core                                 4.6.3-py38_0 --> 4.7.1-py38h06a4308_0
  jupyterlab                                     2.2.6-py_0 --> 3.1.7-pyhd3eb1b0_0
  jupyterlab_server                              1.2.0-py_0 --> 2.7.1-pyhd3eb1b0_0
  keyring                                     21.4.0-py38_1 --> 23.0.1-py38h06a4308_0
  kiwisolver                           1.3.0-py38h2531618_0 --> 1.3.1-py38h2531618_0
  krb5                                    1.18.2-h173b8e3_0 --> 1.19.2-hac12032_0
  lazy-object-proxy                    1.4.3-py38h7b6447c_0 --> 1.6.0-py38h27cfd23_0
  lcms2                                     2.11-h396b838_0 --> 2.12-h3be6417_0
  ld_impl_linux-64                        2.33.1-h53a641e_7 --> 2.35.1-h7274673_9
  libcurl                                 7.71.1-h20c2e04_1 --> 7.78.0-h0b77cf5_0
  libedit                           3.1.20191231-h14c3975_1 --> 3.1.20210714-h7f8727e_0
  libgcc-ng                                9.1.0-hdf63c60_0 --> 9.3.0-h5101ec6_17
  libgfortran-ng                           7.3.0-hdf63c60_0 --> 7.5.0-ha8ba4b0_17
  libstdcxx-ng                             9.1.0-hdf63c60_0 --> 9.3.0-hd4cf53a_17
  libtiff                                  4.1.0-h2733197_1 --> 4.2.0-h85742a9_0
  libxml2                                 2.9.10-hb55368b_3 --> 2.9.12-h03d6c58_0
  llvmlite                            0.34.0-py38h269e1b5_4 --> 0.36.0-py38h612dafd_4
  locket                                       0.2.0-py38_1 --> 0.2.1-py38h06a4308_1
  lxml                                 4.6.1-py38hefd8a0e_0 --> 4.6.3-py38h9120a33_0
  lz4-c                                    1.9.2-heb0550a_3 --> 1.9.3-h295c915_1
  markupsafe                           1.1.1-py38h7b6447c_0 --> 2.0.1-py38h27cfd23_0
  matplotlib                                        3.3.2-0 --> 3.4.2-py38h06a4308_0
  matplotlib-base                      3.3.2-py38h817c723_0 --> 3.4.2-py38hab158f2_0
  mkl                                            2020.2-256 --> 2021.3.0-h06a4308_520
  mkl-service                          2.3.0-py38he904b0f_0 --> 2.4.0-py38h7f8727e_0
  mkl_fft                              1.2.0-py38h23d657b_0 --> 1.3.0-py38h42c9631_2
  mkl_random                           1.1.1-py38h0573a6f_0 --> 1.2.2-py38h51133e4_0
  mock                                           4.0.2-py_0 --> 4.0.3-pyhd3eb1b0_0
  more-itertools                         8.6.0-pyhd3eb1b0_0 --> 8.8.0-pyhd3eb1b0_0
  mpmath                                       1.1.0-py38_0 --> 1.2.1-py38h06a4308_0
  msgpack-python                       1.0.0-py38hfd86e86_1 --> 1.0.2-py38hff7bd54_1
  nbclient                                       0.5.1-py_0 --> 0.5.3-pyhd3eb1b0_0
  nbconvert                                    6.0.7-py38_0 --> 6.1.0-py38h06a4308_0
  nbformat                                       5.0.8-py_0 --> 5.1.3-pyhd3eb1b0_0
  nest-asyncio                           1.4.2-pyhd3eb1b0_0 --> 1.5.1-pyhd3eb1b0_0
  networkx                                         2.5-py_0 --> 2.6.2-pyhd3eb1b0_0
  nltk                                             3.5-py_0 --> 3.6.2-pyhd3eb1b0_0
  nose                pkgs/main/linux-64::nose-1.3.7-py38_2 --> pkgs/main/noarch::nose-1.3.7-pyhd3eb1b0_1006
  notebook                                     6.1.4-py38_0 --> 6.4.3-py38h06a4308_0
  numba                               0.51.2-py38h0573a6f_1 --> 0.53.1-py38ha9443f7_0
  numexpr                              2.7.1-py38h423224d_0 --> 2.7.3-py38h22e1b3c_1
  numpy                               1.19.2-py38h54aff64_0 --> 1.20.3-py38hf144106_0
  numpy-base                          1.19.2-py38hfa32c7d_0 --> 1.20.3-py38h74d4b33_0
  openpyxl                                       3.0.5-py_0 --> 3.0.7-pyhd3eb1b0_0
  openssl                                 1.1.1h-h7b6447c_0 --> 1.1.1l-h7f8727e_0
  packaging                                       20.4-py_0 --> 21.0-pyhd3eb1b0_0
  pandas                               1.1.3-py38he6710b0_0 --> 1.3.2-py38h8c16a72_0
  pandoc                                    2.11-hb0f4dca_0 --> 2.12-h06a4308_0
  partd                                          1.1.0-py_0 --> 1.2.0-pyhd3eb1b0_0
  patchelf                                  0.12-he6710b0_0 --> 0.12-h2531618_1
  path                                        15.0.0-py38_0 --> 16.0.0-py38h06a4308_0
  pathlib2                                     2.3.5-py38_0 --> 2.3.6-py38h06a4308_2
  pcre                                      8.44-he6710b0_0 --> 8.45-h295c915_0
  pexpect            pkgs/main/linux-64::pexpect-4.8.0-py3~ --> pkgs/main/noarch::pexpect-4.8.0-pyhd3eb1b0_3
  pickleshare        pkgs/main/linux-64::pickleshare-0.7.5~ --> pkgs/main/noarch::pickleshare-0.7.5-pyhd3eb1b0_1003
  pillow                               8.0.1-py38he98fc37_0 --> 8.3.1-py38h2c7a002_0
  pip                                 20.2.4-py38h06a4308_0 --> 21.0.1-py38h06a4308_0
  pkginfo                              1.6.1-py38h06a4308_0 --> 1.7.1-py38h06a4308_0
  prometheus_client                              0.8.0-py_0 --> 0.11.0-pyhd3eb1b0_0
  prompt-toolkit                                 3.0.8-py_0 --> 3.0.17-pyh06a4308_0
  prompt_toolkit                                    3.0.8-0 --> 3.0.17-hd3eb1b0_0
  psutil                               5.7.2-py38h7b6447c_0 --> 5.8.0-py38h27cfd23_1
  ptyprocess         pkgs/main/linux-64::ptyprocess-0.6.0-~ --> pkgs/main/noarch::ptyprocess-0.7.0-pyhd3eb1b0_2
  py                                             1.9.0-py_0 --> 1.10.0-pyhd3eb1b0_0
  pydocstyle                                     5.1.1-py_0 --> 6.1.1-pyhd3eb1b0_0
  pygments                               2.7.2-pyhd3eb1b0_0 --> 2.10.0-pyhd3eb1b0_0
  pylint                                       2.6.0-py38_0 --> 2.9.6-py38h06a4308_1
  pyodbc                              4.0.30-py38he6710b0_0 --> 4.0.31-py38h295c915_0
  pyopenssl                                     19.1.0-py_1 --> 20.0.1-pyhd3eb1b0_1
  pytest                                       6.1.1-py38_0 --> 6.2.4-py38h06a4308_2
  python-dateutil                                2.8.1-py_0 --> 2.8.2-pyhd3eb1b0_0
  python-language-s~                            0.35.1-py_0 --> 0.36.2-pyhd3eb1b0_0
  python-libarchive~                               2.9-py_0 --> 2.9-pyhd3eb1b0_1
  pytz                                          2020.1-py_0 --> 2021.1-pyhd3eb1b0_0
  pyyaml                               5.3.1-py38h7b6447c_1 --> 5.4.1-py38h27cfd23_1
  pyzmq                               19.0.2-py38he6710b0_1 --> 22.2.1-py38h295c915_1
  qtawesome                                      1.0.1-py_0 --> 1.0.2-pyhd3eb1b0_0
  qtconsole                                      4.7.7-py_0 --> 5.1.0-pyhd3eb1b0_0
  qtpy                                           1.9.0-py_0 --> 1.10.0-pyhd3eb1b0_0
  readline                                   8.0-h7b6447c_0 --> 8.1-h27cfd23_0
  regex                           2020.10.15-py38h7b6447c_0 --> 2021.8.3-py38h7f8727e_0
  requests                                      2.24.0-py_0 --> 2.26.0-pyhd3eb1b0_0
  rope                                          0.18.0-py_0 --> 0.19.0-pyhd3eb1b0_0
  rtree                                        0.9.4-py38_1 --> 0.9.7-py38h06a4308_1
  ruamel_yaml                        0.15.87-py38h7b6447c_1 --> 0.15.100-py38h27cfd23_0
  scikit-image                        0.17.2-py38hdf5156a_0 --> 0.18.1-py38ha9443f7_0
  scikit-learn                        0.23.2-py38h0573a6f_0 --> 0.24.2-py38ha9443f7_0
  scipy                                1.5.2-py38h0b6359f_0 --> 1.6.2-py38had2a1c9_1
  seaborn                                       0.11.0-py_0 --> 0.11.2-pyhd3eb1b0_0
  secretstorage                                3.1.2-py38_0 --> 3.3.1-py38h06a4308_0
  send2trash         pkgs/main/linux-64::send2trash-1.5.0-~ --> pkgs/main/noarch::send2trash-1.5.0-pyhd3eb1b0_1
  setuptools                          50.3.1-py38h06a4308_1 --> 52.0.0-py38h06a4308_0
  singledispatch                            3.4.0.3-py_1001 --> 3.7.0-pyhd3eb1b0_1001
  six                pkgs/main/linux-64::six-1.15.0-py38h0~ --> pkgs/main/noarch::six-1.16.0-pyhd3eb1b0_0
  snowballstemmer                                2.0.0-py_0 --> 2.1.0-pyhd3eb1b0_0
  sortedcollections                              1.2.1-py_0 --> 2.1.0-pyhd3eb1b0_0
  sortedcontainers                               2.2.2-py_0 --> 2.4.0-pyhd3eb1b0_0
  soupsieve                                      2.0.1-py_0 --> 2.2.1-pyhd3eb1b0_0
  sphinx                                         3.2.1-py_0 --> 4.0.2-pyhd3eb1b0_0
  sphinxcontrib-htm~                             1.0.3-py_0 --> 2.0.0-pyhd3eb1b0_0
  sphinxcontrib-ser~                             1.1.4-py_0 --> 1.1.5-pyhd3eb1b0_0
  spyder                                       4.1.5-py38_0 --> 4.2.5-py38h06a4308_0
  spyder-kernels                               1.9.4-py38_0 --> 1.10.2-py38h06a4308_0
  sqlalchemy                          1.3.20-py38h7b6447c_0 --> 1.4.22-py38h7f8727e_0
  sqlite                                  3.33.0-h62c20be_0 --> 3.36.0-hc218d9a_0
  statsmodels                         0.12.0-py38h7b6447c_0 --> 0.12.2-py38h27cfd23_0
  sympy                                1.6.2-py38h06a4308_1 --> 1.8-py38h06a4308_0
  terminado                                    0.9.1-py38_0 --> 0.9.4-py38h06a4308_0
  testpath                                       0.4.4-py_0 --> 0.5.0-pyhd3eb1b0_0
  threadpoolctl                          2.1.0-pyh5ca1d4c_0 --> 2.2.0-pyhbf3da8f_0
  toml                                          0.10.1-py_0 --> 0.10.2-pyhd3eb1b0_0
  tornado                              6.0.4-py38h7b6447c_1 --> 6.1-py38h27cfd23_0
  tqdm                                          4.50.2-py_0 --> 4.62.1-pyhd3eb1b0_1
  typing_extensions                            3.7.4.3-py_0 --> 3.10.0.0-pyh06a4308_0
  ujson                                4.0.1-py38he6710b0_0 --> 4.0.2-py38h2531618_0
  urllib3                                      1.25.11-py_0 --> 1.26.6-pyhd3eb1b0_1
  watchdog                                    0.10.3-py38_0 --> 1.0.2-py38h06a4308_1
  wheel                                         0.35.1-py_0 --> 0.37.0-pyhd3eb1b0_0
  wrapt                               1.11.2-py38h7b6447c_0 --> 1.12.1-py38h7b6447c_1
  wurlitzer                                    2.0.1-py38_0 --> 2.1.1-py38h06a4308_0
  xlrd                                           1.2.0-py_0 --> 2.0.1-pyhd3eb1b0_0
  xlsxwriter                                     1.3.7-py_0 --> 3.0.1-pyhd3eb1b0_0
  yapf                                          0.30.0-py_0 --> 0.31.0-pyhd3eb1b0_0
  zeromq                                   4.3.3-he6710b0_3 --> 4.3.4-h2531618_0
  zipp                                   3.4.0-pyhd3eb1b0_0 --> 3.5.0-pyhd3eb1b0_0
  zope.interface                       5.1.2-py38h7b6447c_0 --> 5.4.0-py38h7f8727e_0
  zstd                                     1.4.5-h9ceee32_0 --> 1.4.9-haebb681_0

The following packages will be DOWNGRADED:

  alabaster                                     0.7.12-py_0 --> 0.7.12-pyhd3eb1b0_0
  anaconda                                   2020.11-py38_0 --> custom-py38_1
  argon2-cffi                         20.1.0-py38h7b6447c_1 --> 20.1.0-py38h27cfd23_1
  async_generator                                 1.10-py_0 --> 1.10-pyhd3eb1b0_0
  backcall                                       0.2.0-py_0 --> 0.2.0-pyhd3eb1b0_0
  backports                                        1.0-py_2 --> 1.0-pyhd3eb1b0_2
  beautifulsoup4                         4.9.3-pyhb0f4dca_0 --> 4.9.3-pyha847dfd_0
  colorama                                       0.4.4-py_0 --> 0.4.4-pyhd3eb1b0_0
  flask                                          1.1.2-py_0 --> 1.1.2-pyhd3eb1b0_0
  glob2                                            0.7-py_0 --> 0.7-pyhd3eb1b0_0
  imageio                                        2.9.0-py_0 --> 2.9.0-pyhd3eb1b0_0
  imagesize                                      1.2.0-py_0 --> 1.2.0-pyhd3eb1b0_0
  iniconfig                                      1.1.1-py_0 --> 1.1.1-pyhd3eb1b0_0
  libspatialindex                          1.9.3-he6710b0_0 --> 1.9.3-h2531618_0
  pluggy                                      0.13.1-py38_0 --> 0.13.1-py38h06a4308_0
  pycodestyle                                    2.6.0-py_0 --> 2.6.0-pyhd3eb1b0_0
  pyflakes                                       2.2.0-py_0 --> 2.2.0-pyhd3eb1b0_0
  pyparsing                                      2.4.7-py_0 --> 2.4.7-pyhd3eb1b0_0
  pysocks                                      1.7.1-py38_0 --> 1.7.1-py38h06a4308_0
  sphinxcontrib-app~                             1.0.2-py_0 --> 1.0.2-pyhd3eb1b0_0
  sphinxcontrib-dev~                             1.0.2-py_0 --> 1.0.2-pyhd3eb1b0_0
  sphinxcontrib-jsm~                             1.0.1-py_0 --> 1.0.1-pyhd3eb1b0_0
  sphinxcontrib-qth~                             1.0.3-py_0 --> 1.0.3-pyhd3eb1b0_0
  toolz                                         0.11.1-py_0 --> 0.11.1-pyhd3eb1b0_0
  traitlets                                      5.0.5-py_0 --> 5.0.5-pyhd3eb1b0_0
  werkzeug                                       1.0.1-py_0 --> 1.0.1-pyhd3eb1b0_0
  zict                                           2.0.0-py_0 --> 2.0.0-pyhd3eb1b0_0


Proceed ([y]/n)? y


Downloading and Extracting Packages
anyio-2.2.0          | 125 KB    | ##################################### | 100% 
rtree-0.9.7          | 48 KB     | ##################################### | 100% 
libev-4.33           | 112 KB    | ##################################### | 100% 
libgomp-9.3.0        | 311 KB    | ##################################### | 100% 
iniconfig-1.1.1      | 8 KB      | ##################################### | 100% 
typing_extensions-3. | 27 KB     | ##################################### | 100% 
pathspec-0.7.0       | 26 KB     | ##################################### | 100% 
sphinxcontrib-devhel | 23 KB     | ##################################### | 100% 
soupsieve-2.2.1      | 32 KB     | ##################################### | 100% 
setuptools-52.0.0    | 714 KB    | ##################################### | 100% 
readline-8.1         | 362 KB    | ##################################### | 100% 
astropy-4.3.1        | 6.4 MB    | ##################################### | 100% 
jedi-0.17.2          | 924 KB    | ##################################### | 100% 
argon2-cffi-20.1.0   | 46 KB     | ##################################### | 100% 
brotli-1.0.9         | 375 KB    | ##################################### | 100% 
openpyxl-3.0.7       | 159 KB    | ##################################### | 100% 
python-language-serv | 41 KB     | ##################################### | 100% 
zstd-1.4.9           | 480 KB    | ##################################### | 100% 
pathlib2-2.3.6       | 36 KB     | ##################################### | 100% 
numba-0.53.1         | 3.3 MB    | ##################################### | 100% 
secretstorage-3.3.1  | 24 KB     | ##################################### | 100% 
sphinxcontrib-htmlhe | 32 KB     | ##################################### | 100% 
libgfortran-ng-7.5.0 | 22 KB     | ##################################### | 100% 
wurlitzer-2.1.1      | 13 KB     | ##################################### | 100% 
_openmp_mutex-4.5    | 22 KB     | ##################################### | 100% 
docutils-0.17.1      | 686 KB    | ##################################### | 100% 
pytz-2021.1          | 181 KB    | ##################################### | 100% 
pcre-8.45            | 207 KB    | ##################################### | 100% 
tornado-6.1          | 588 KB    | ##################################### | 100% 
networkx-2.6.2       | 1.3 MB    | ##################################### | 100% 
isort-5.9.3          | 83 KB     | ##################################### | 100% 
regex-2021.8.3       | 319 KB    | ##################################### | 100% 
six-1.16.0           | 18 KB     | ##################################### | 100% 
pyopenssl-20.0.1     | 49 KB     | ##################################### | 100% 
idna-3.2             | 48 KB     | ##################################### | 100% 
libspatialindex-1.9. | 2.1 MB    | ##################################### | 100% 
ujson-4.0.2          | 45 KB     | ##################################### | 100% 
pluggy-0.13.1        | 33 KB     | ##################################### | 100% 
yapf-0.31.0          | 126 KB    | ##################################### | 100% 
prompt-toolkit-3.0.1 | 256 KB    | ##################################### | 100% 
scikit-learn-0.24.2  | 5.4 MB    | ##################################### | 100% 
python-libarchive-c- | 47 KB     | ##################################### | 100% 
appdirs-1.4.4        | 13 KB     | ##################################### | 100% 
werkzeug-1.0.1       | 239 KB    | ##################################### | 100% 
gevent-21.8.0        | 1.5 MB    | ##################################### | 100% 
nbclassic-0.2.6      | 19 KB     | ##################################### | 100% 
terminado-0.9.4      | 25 KB     | ##################################### | 100% 
lxml-4.6.3           | 1.3 MB    | ##################################### | 100% 
pyls-spyder-0.3.2    | 10 KB     | ##################################### | 100% 
urllib3-1.26.6       | 112 KB    | ##################################### | 100% 
sphinxcontrib-qthelp | 26 KB     | ##################################### | 100% 
cffi-1.14.6          | 224 KB    | ##################################### | 100% 
keyring-23.0.1       | 54 KB     | ##################################### | 100% 
libedit-3.1.20210714 | 165 KB    | ##################################### | 100% 
colorama-0.4.4       | 21 KB     | ##################################### | 100% 
cryptography-3.4.7   | 913 KB    | ##################################### | 100% 
msgpack-python-1.0.2 | 83 KB     | ##################################### | 100% 
jupyterlab_widgets-1 | 109 KB    | ##################################### | 100% 
anaconda-project-0.1 | 218 KB    | ##################################### | 100% 
pyparsing-2.4.7      | 59 KB     | ##################################### | 100% 
watchdog-1.0.2       | 89 KB     | ##################################### | 100% 
importlib_metadata-3 | 11 KB     | ##################################### | 100% 
prompt_toolkit-3.0.1 | 12 KB     | ##################################### | 100% 
qtconsole-5.1.0      | 98 KB     | ##################################### | 100% 
ipykernel-6.2.0      | 192 KB    | ##################################### | 100% 
fontconfig-2.13.1    | 250 KB    | ##################################### | 100% 
path-16.0.0          | 37 KB     | ##################################### | 100% 
pydocstyle-6.1.1     | 36 KB     | ##################################### | 100% 
libllvm9-9.0.1       | 21.0 MB   | ##################################### | 100% 
mkl_fft-1.3.0        | 180 KB    | ##################################### | 100% 
expat-2.4.1          | 168 KB    | ##################################### | 100% 
bokeh-2.3.3          | 5.9 MB    | ##################################### | 100% 
mkl-service-2.4.0    | 59 KB     | ##################################### | 100% 
babel-2.9.1          | 5.5 MB    | ##################################### | 100% 
psutil-5.8.0         | 327 KB    | ##################################### | 100% 
markupsafe-2.0.1     | 22 KB     | ##################################### | 100% 
tqdm-4.62.1          | 84 KB     | ##################################### | 100% 
pexpect-4.8.0        | 53 KB     | ##################################### | 100% 
jupyter_server-1.4.1 | 317 KB    | ##################################### | 100% 
pkginfo-1.7.1        | 43 KB     | ##################################### | 100% 
krb5-1.19.2          | 1.2 MB    | ##################################### | 100% 
more-itertools-8.8.0 | 42 KB     | ##################################### | 100% 
spyder-kernels-1.10. | 102 KB    | ##################################### | 100% 
chardet-4.0.0        | 194 KB    | ##################################### | 100% 
curl-7.78.0          | 94 KB     | ##################################### | 100% 
kiwisolver-1.3.1     | 80 KB     | ##################################### | 100% 
pyerfa-2.0.0         | 345 KB    | ##################################### | 100% 
cairo-1.16.0         | 1.0 MB    | ##################################### | 100% 
greenlet-1.1.1       | 82 KB     | ##################################### | 100% 
patchelf-0.12        | 88 KB     | ##################################### | 100% 
munkres-1.1.4        | 13 KB     | ##################################### | 100% 
nltk-3.6.2           | 988 KB    | ##################################### | 100% 
glob2-0.7            | 12 KB     | ##################################### | 100% 
anaconda-custom      | 35 KB     | ##################################### | 100% 
numexpr-2.7.3        | 188 KB    | ##################################### | 100% 
numpy-1.20.3         | 23 KB     | ##################################### | 100% 
libtiff-4.2.0        | 502 KB    | ##################################### | 100% 
imagesize-1.2.0      | 9 KB      | ##################################### | 100% 
_anaconda_depends-20 | 6 KB      | ##################################### | 100% 
typed-ast-1.4.3      | 185 KB    | ##################################### | 100% 
libnghttp2-1.41.0    | 667 KB    | ##################################### | 100% 
ruamel_yaml-0.15.100 | 258 KB    | ##################################### | 100% 
decorator-5.0.9      | 12 KB     | ##################################### | 100% 
backcall-0.2.0       | 13 KB     | ##################################### | 100% 
sniffio-1.2.0        | 15 KB     | ##################################### | 100% 
qtawesome-1.0.2      | 760 KB    | ##################################### | 100% 
sphinx-4.0.2         | 1.2 MB    | ##################################### | 100% 
libuv-1.40.0         | 736 KB    | ##################################### | 100% 
openssl-1.1.1l       | 2.5 MB    | ##################################### | 100% 
ipython_genutils-0.2 | 27 KB     | ##################################### | 100% 
lcms2-2.12           | 312 KB    | ##################################### | 100% 
pyls-black-0.4.6     | 9 KB      | ##################################### | 100% 
bleach-4.0.0         | 113 KB    | ##################################### | 100% 
pandas-1.3.2         | 9.6 MB    | ##################################### | 100% 
jupyterlab_server-2. | 44 KB     | ##################################### | 100% 
imageio-2.9.0        | 3.0 MB    | ##################################### | 100% 
pyodbc-4.0.31        | 71 KB     | ##################################### | 100% 
charset-normalizer-2 | 35 KB     | ##################################### | 100% 
gmp-6.2.1            | 539 KB    | ##################################### | 100% 
requests-2.26.0      | 59 KB     | ##################################### | 100% 
wheel-0.37.0         | 32 KB     | ##################################### | 100% 
async_generator-1.10 | 23 KB     | ##################################### | 100% 
wrapt-1.12.1         | 50 KB     | ##################################### | 100% 
bitarray-2.3.0       | 139 KB    | ##################################### | 100% 
anaconda-client-1.8. | 152 KB    | ##################################### | 100% 
jupyterlab-3.1.7     | 3.6 MB    | ##################################### | 100% 
c-ares-1.17.1        | 108 KB    | ##################################### | 100% 
gst-plugins-base-1.1 | 4.9 MB    | ##################################### | 100% 
lazy-object-proxy-1. | 30 KB     | ##################################### | 100% 
packaging-21.0       | 36 KB     | ##################################### | 100% 
gstreamer-1.14.0     | 3.2 MB    | ##################################### | 100% 
scikit-image-0.18.1  | 9.5 MB    | ##################################### | 100% 
mypy_extensions-0.4. | 9 KB      | ##################################### | 100% 
itsdangerous-2.0.1   | 18 KB     | ##################################### | 100% 
xlsxwriter-3.0.1     | 111 KB    | ##################################### | 100% 
llvmlite-0.36.0      | 396 KB    | ##################################### | 100% 
astroid-2.6.6        | 309 KB    | ##################################### | 100% 
three-merge-0.1.1    | 10 KB     | ##################################### | 100% 
notebook-6.4.3       | 4.2 MB    | ##################################### | 100% 
mock-4.0.3           | 29 KB     | ##################################### | 100% 
fsspec-2021.7.0      | 91 KB     | ##################################### | 100% 
ipywidgets-7.6.3     | 105 KB    | ##################################### | 100% 
pip-21.0.1           | 1.8 MB    | ##################################### | 100% 
blosc-1.21.0         | 64 KB     | ##################################### | 100% 
qtpy-1.10.0          | 35 KB     | ##################################### | 100% 
beautifulsoup4-4.9.3 | 86 KB     | ##################################### | 100% 
openjpeg-2.4.0       | 331 KB    | ##################################### | 100% 
nbconvert-6.1.0      | 481 KB    | ##################################### | 100% 
json5-0.9.6          | 21 KB     | ##################################### | 100% 
jupyter_console-6.4. | 23 KB     | ##################################### | 100% 
scipy-1.6.2          | 15.6 MB   | ##################################### | 100% 
libwebp-base-1.2.0   | 437 KB    | ##################################### | 100% 
sphinxcontrib-jsmath | 8 KB      | ##################################### | 100% 
libgcc-ng-9.3.0      | 4.8 MB    | ##################################### | 100% 
defusedxml-0.7.1     | 23 KB     | ##################################### | 100% 
backports.shutil_get | 10 KB     | ##################################### | 100% 
dask-2021.8.1        | 18 KB     | ##################################### | 100% 
zipp-3.5.0           | 13 KB     | ##################################### | 100% 
ca-certificates-2021 | 113 KB    | ##################################### | 100% 
libstdcxx-ng-9.3.0   | 3.1 MB    | ##################################### | 100% 
toml-0.10.2          | 20 KB     | ##################################### | 100% 
harfbuzz-2.8.1       | 1.1 MB    | ##################################### | 100% 
backports-1.0        | 210 KB    | ##################################### | 100% 
sortedcontainers-2.4 | 26 KB     | ##################################### | 100% 
testpath-0.5.0       | 81 KB     | ##################################### | 100% 
pyflakes-2.2.0       | 56 KB     | ##################################### | 100% 
pyzmq-22.2.1         | 465 KB    | ##################################### | 100% 
singledispatch-3.7.0 | 12 KB     | ##################################### | 100% 
matplotlib-base-3.4. | 5.6 MB    | ##################################### | 100% 
pandoc-2.12          | 9.5 MB    | ##################################### | 100% 
xlrd-2.0.1           | 90 KB     | ##################################### | 100% 
nose-1.3.7           | 128 KB    | ##################################### | 100% 
statsmodels-0.12.2   | 8.5 MB    | ##################################### | 100% 
flask-1.1.2          | 70 KB     | ##################################### | 100% 
importlib-metadata-3 | 33 KB     | ##################################### | 100% 
alabaster-0.7.12     | 16 KB     | ##################################### | 100% 
sqlite-3.36.0        | 990 KB    | ##################################### | 100% 
rope-0.19.0          | 126 KB    | ##################################### | 100% 
send2trash-1.5.0     | 14 KB     | ##################################### | 100% 
cython-0.29.24       | 2.0 MB    | ##################################### | 100% 
nbformat-5.1.3       | 44 KB     | ##################################### | 100% 
libcurl-7.78.0       | 338 KB    | ##################################### | 100% 
threadpoolctl-2.2.0  | 16 KB     | ##################################### | 100% 
pytest-6.2.4         | 423 KB    | ##################################### | 100% 
pysocks-1.7.1        | 31 KB     | ##################################### | 100% 
distributed-2021.8.1 | 970 KB    | ##################################### | 100% 
pyyaml-5.4.1         | 174 KB    | ##################################### | 100% 
libgfortran4-7.5.0   | 995 KB    | ##################################### | 100% 
mkl_random-1.2.2     | 308 KB    | ##################################### | 100% 
seaborn-0.11.2       | 218 KB    | ##################################### | 100% 
prometheus_client-0. | 47 KB     | ##################################### | 100% 
debugpy-1.4.1        | 1.7 MB    | ##################################### | 100% 
pylint-2.9.6         | 488 KB    | ##################################### | 100% 
black-19.10b0        | 86 KB     | ##################################### | 100% 
glib-2.69.1          | 1.7 MB    | ##################################### | 100% 
fonttools-4.25.0     | 632 KB    | ##################################### | 100% 
partd-1.2.0          | 19 KB     | ##################################### | 100% 
jupyter_client-6.1.1 | 88 KB     | ##################################### | 100% 
matplotlib-3.4.2     | 26 KB     | ##################################### | 100% 
sortedcollections-2. | 12 KB     | ##################################### | 100% 
sphinxcontrib-serial | 25 KB     | ##################################### | 100% 
et_xmlfile-1.1.0     | 10 KB     | ##################################### | 100% 
dask-core-2021.8.1   | 715 KB    | ##################################### | 100% 
zeromq-4.3.4         | 331 KB    | ##################################### | 100% 
snappy-1.1.8         | 40 KB     | ##################################### | 100% 
sqlalchemy-1.4.22    | 1.8 MB    | ##################################### | 100% 
pygments-2.10.0      | 725 KB    | ##################################### | 100% 
nest-asyncio-1.5.1   | 10 KB     | ##################################### | 100% 
joblib-1.0.1         | 208 KB    | ##################################### | 100% 
traitlets-5.0.5      | 81 KB     | ##################################### | 100% 
mpmath-1.2.1         | 766 KB    | ##################################### | 100% 
lz4-c-1.9.3          | 185 KB    | ##################################### | 100% 
pillow-8.3.1         | 638 KB    | ##################################### | 100% 
ipython-7.26.0       | 994 KB    | ##################################### | 100% 
python-dateutil-2.8. | 233 KB    | ##################################### | 100% 
spyder-4.2.5         | 5.4 MB    | ##################################### | 100% 
pickleshare-0.7.5    | 13 KB     | ##################################### | 100% 
locket-0.2.1         | 10 KB     | ##################################### | 100% 
ld_impl_linux-64-2.3 | 586 KB    | ##################################### | 100% 
zope.interface-5.4.0 | 301 KB    | ##################################### | 100% 
textdistance-4.2.1   | 29 KB     | ##################################### | 100% 
numpy-base-1.20.3    | 4.5 MB    | ##################################### | 100% 
click-8.0.1          | 79 KB     | ##################################### | 100% 
sphinxcontrib-appleh | 29 KB     | ##################################### | 100% 
snowballstemmer-2.1. | 62 KB     | ##################################### | 100% 
zict-2.0.0           | 10 KB     | ##################################### | 100% 
py-1.10.0            | 76 KB     | ##################################### | 100% 
pycodestyle-2.6.0    | 38 KB     | ##################################### | 100% 
toolz-0.11.1         | 46 KB     | ##################################### | 100% 
brotlipy-0.7.0       | 323 KB    | ##################################### | 100% 
matplotlib-inline-0. | 12 KB     | ##################################### | 100% 
nbclient-0.5.3       | 62 KB     | ##################################### | 100% 
libxml2-2.9.12       | 1.2 MB    | ##################################### | 100% 
jeepney-0.7.1        | 38 KB     | ##################################### | 100% 
sympy-1.8            | 9.1 MB    | ##################################### | 100% 
certifi-2021.5.30    | 138 KB    | ##################################### | 100% 
conda-pack-0.6.0     | 29 KB     | ##################################### | 100% 
filelock-3.0.12      | 10 KB     | ##################################### | 100% 
mkl-2021.3.0         | 141.2 MB  | ##################################### | 100% 
ptyprocess-0.7.0     | 17 KB     | ##################################### | 100% 
jupyter_core-4.7.1   | 68 KB     | ##################################### | 100% 
jinja2-3.0.1         | 110 KB    | ##################################### | 100% 
attrs-21.2.0         | 46 KB     | ##################################### | 100% 
intel-openmp-2021.3. | 1.4 MB    | ##################################### | 100% 
Preparing transaction: done
Verifying transaction: done
Executing transaction: | 

    Installed package of scikit-learn can be accelerated using scikit-learn-intelex.
    More details are available here: https://intel.github.io/scikit-learn-intelex

    For example:

        $ conda install scikit-learn-intelex
        $ python -m sklearnex my_application.py

    

done
(base) [email protected]:~/Descargas$ conda create --name my_env
Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: /home/soloelectronicos/anaconda3/envs/my_env



Proceed ([y]/n)? y

Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
#     $ conda activate my_env
#
# To deactivate an active environment, use
#
#     $ conda deactivate

(base) [email protected]:~/Descargas$ conda activate my_env
(my_env) [email protected]:~/Descargas$ ls
Anaconda3-2020.11-Linux-x86_64.sh  Anaconda3-2021.05-Linux-x86_64.sh
(my_env) [email protected]:~/Descargas$ sudo conda activate my_env
[sudo] contraseña para soloelectronicos: 
sudo: conda: orden no encontrada
(my_env) [email protected]:~/Descargas$ conda activate my_env
[email protected]:~/Descargas$ wget https://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh
--2021-09-06 10:21:36--  https://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh
Resolviendo repo.anaconda.com (repo.anaconda.com)... 104.16.130.3, 104.16.131.3, 2606:4700::6810:8303, ...
Conectando con repo.anaconda.com (repo.anaconda.com)[104.16.130.3]:443... conectado.
Petición HTTP enviada, esperando respuesta... 200 OK
Longitud: 554535580 (529M) [application/x-sh]
Guardando como: “Anaconda3-2020.11-Linux-x86_64.sh”

Anaconda3-2020.11-L 100%[===================>] 528,85M  3,04MB/s    en 2m 56s  

2021-09-06 10:24:32 (3,00 MB/s) - “Anaconda3-2020.11-Linux-x86_64.sh” guardado [554535580/554535580]

[email protected]:~/Descargas$ sha256sum Anaconda3-2020.11-Linux-x86_64.sh
cf2ff493f11eaad5d09ce2b4feaa5ea90db5174303d5b3fe030e16d29aeef7de  Anaconda3-2020.11-Linux-x86_64.sh
[email protected]:~/Descargas$ bash Anaconda3-2020.11-Linux-x86_64.sh

Welcome to Anaconda3 2020.11

In order to continue the installation process, please review the license
agreement.
Please, press ENTER to continue
>>> 
===================================
End User License Agreement - Anaconda Individual Edition
===================================

Copyright 2015-2020, Anaconda, Inc.

All rights reserved under the 3-clause BSD License:

This End User License Agreement (the "Agreement") is a legal agreement between y
ou and Anaconda, Inc. ("Anaconda") and governs your use of Anaconda Individual E
dition (which was formerly known as Anaconda Distribution).

Subject to the terms of this Agreement, Anaconda hereby grants you a non-exclusi
ve, non-transferable license to:

  * Install and use the Anaconda Individual Edition (which was formerly known as
 Anaconda Distribution),
  * Modify and create derivative works of sample source code delivered in Anacon
da Individual Edition from Anaconda's repository; and
  * Redistribute code files in source (if provided to you by Anaconda as source)
 and binary forms, with or without modification subject to the requirements set 
forth below.

Anaconda may, at its option, make available patches, workarounds or other update
s to Anaconda Individual Edition. Unless the updates are provided with their sep
arate governing terms, they are deemed part of Anaconda Individual Edition licen
sed to you as provided in this Agreement.  This Agreement does not entitle you t
o any support for Anaconda Individual Edition.

Anaconda reserves all rights not expressly granted to you in this Agreement.

Redistribution and use in source and binary forms, with or without modification,
 are permitted provided that the following conditions are met:

  * Redistributions of source code must retain the above copyright notice, this 
list of conditions and the following disclaimer.
  * Redistributions in binary form must reproduce the above copyright notice, th
is list of conditions and the following disclaimer in the documentation and/or o
ther materials provided with the distribution.
  * Neither the name of Anaconda nor the names of its contributors may be used t
o endorse or promote products derived from this software without specific prior 
written permission.

You acknowledge that, as between you and Anaconda, Anaconda owns all right, titl
e, and interest, including all intellectual property rights, in and to Anaconda 
Individual Edition and, with respect to third-party products distributed with or
 through Anaconda Individual Edition, the applicable third-party licensors own a
ll right, title and interest, including all intellectual property rights, in and
 to such products.  If you send or transmit any communications or materials to A
naconda suggesting or recommending changes to the software or documentation, inc
luding without limitation, new features or functionality relating thereto, or an
y comments, questions, suggestions or the like ("Feedback"), Anaconda is free to
 use such Feedback. You hereby assign to Anaconda all right, title, and interest
 in, and Anaconda is free to use, without any attribution or compensation to any
 party, any ideas, know-how, concepts, techniques or other intellectual property
 rights contained in the Feedback, for any purpose whatsoever, although Anaconda
 is not required to use any Feedback.

THIS SOFTWARE IS PROVIDED BY ANACONDA AND ITS CONTRIBUTORS "AS IS" AND ANY EXPRE
SS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EV
ENT SHALL ANACONDA BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEM
PLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF S
UBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUP
TION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT O
F THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

TO THE MAXIMUM EXTENT PERMITTED BY LAW, ANACONDA AND ITS AFFILIATES SHALL NOT BE
 LIABLE FOR ANY SPECIAL, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL DAMAGES, OR ANY L
OST PROFITS, LOSS OF USE, LOSS OF DATA OR LOSS OF GOODWILL, OR THE COSTS OF PROC
URING SUBSTITUTE PRODUCTS, ARISING OUT OF OR IN CONNECTION WITH THIS AGREEMENT O
R THE USE OR PERFORMANCE OF ANACONDA INDIVIDUAL EDITION, WHETHER SUCH LIABILITY 
ARISES FROM ANY CLAIM BASED UPON BREACH OF CONTRACT, BREACH OF WARRANTY, TORT (I
NCLUDING NEGLIGENCE), PRODUCT LIABILITY OR ANY OTHER CAUSE OF ACTION OR THEORY O
F LIABILITY. IN NO EVENT WILL THE TOTAL CUMULATIVE LIABILITY OF ANACONDA AND ITS
 AFFILIATES UNDER OR ARISING OUT OF THIS AGREEMENT EXCEED US0.00.

If you want to terminate this Agreement, you may do so by discontinuing use of A
naconda Individual Edition.  Anaconda may, at any time, terminate this Agreement
 and the license granted hereunder if you fail to comply with any term of this A
greement.   Upon any termination of this Agreement, you agree to promptly discon
tinue use of the Anaconda Individual Edition and destroy all copies in your poss
ession or control. Upon any termination of this Agreement all provisions survive
 except for the licenses granted to you.

This Agreement is governed by and construed in accordance with the internal laws
 of the State of Texas without giving effect to any choice or conflict of law pr
ovision or rule that would require or permit the application of the laws of any 
jurisdiction other than those of the State of Texas. Any legal suit, action, or 
proceeding arising out of or related to this Agreement or the licenses granted h
ereunder by you must be instituted exclusively in the federal courts of the Unit
ed States or the courts of the State of Texas in each case located in Travis Cou
nty, Texas, and you irrevocably submit to the jurisdiction of such courts in any
 such suit, action, or proceeding.


Notice of Third Party Software Licenses
=======================================

Anaconda Individual Edition provides access to a repository which contains softw
are packages or tools licensed on an open source basis from third parties and bi
nary packages of these third party tools. These third party software packages or
 tools are provided on an "as is" basis and are subject to their respective lice
nse agreements as well as this Agreement and the Terms of Service for the Reposi
tory located at https://know.anaconda.com/TOS.html; provided, however, no restri
ction contained in the Terms of Service shall be construed so as to limit your a
bility to download the packages contained in Anaconda Individual Edition provide
d you comply with the license for each such package.  These licenses may be acce
ssed from within the Anaconda Individual Edition software or at https://docs.ana
conda.com/anaconda/pkg-docs. Information regarding which license is applicable i
s available from within many of the third party software packages and tools and 
at https://repo.anaconda.com/pkgs/main/ and https://repo.anaconda.com/pkgs/r/. A
naconda reserves the right, in its sole discretion, to change which third party 
tools are included in the repository accessible through Anaconda Individual Edit
ion.

Intel Math Kernel Library
-------------------------

Anaconda Individual Edition provides access to re-distributable, run-time, share
d-library files from the Intel Math Kernel Library ("MKL binaries").

Copyright 2018 Intel Corporation.  License available at https://software.intel.c
om/en-us/license/intel-simplified-software-license (the "MKL License").

You may use and redistribute the MKL binaries, without modification, provided th
e following conditions are met:

  * Redistributions must reproduce the above copyright notice and the following 
terms of use in the MKL binaries and in the documentation and/or other materials
 provided with the distribution.
  * Neither the name of Intel nor the names of its suppliers may be used to endo
rse or promote products derived from the MKL binaries without specific prior wri
tten permission.
  * No reverse engineering, decompilation, or disassembly of the MKL binaries is
 permitted.

You are specifically authorized to use and redistribute the MKL binaries with yo
ur installation of Anaconda Individual Edition subject to the terms set forth in
 the MKL License. You are also authorized to redistribute the MKL binaries with 
Anaconda Individual Edition or in the Anaconda package that contains the MKL bin
aries. If needed, instructions for removing the MKL binaries after installation 
of Anaconda Individual Edition are available at https://docs.anaconda.com.

cuDNN Software
--------------

Anaconda Individual Edition also provides access to cuDNN software binaries ("cu
DNN binaries") from NVIDIA Corporation. You are specifically authorized to use t
he cuDNN binaries with your installation of Anaconda Individual Edition subject 
to your compliance with the license agreement located at https://docs.nvidia.com
/deeplearning/sdk/cudnn-sla/index.html. You are also authorized to redistribute 
the cuDNN binaries with an Anaconda Individual Edition package that contains the
 cuDNN binaries. You can add or remove the cuDNN binaries utilizing the install 
and uninstall features in Anaconda Individual Edition.

cuDNN binaries contain source code provided by NVIDIA Corporation.


Export; Cryptography Notice
===========================

You must comply with all domestic and international export laws and regulations 
that apply to the software, which include restrictions on destinations, end user
s, and end use.  Anaconda Individual Edition includes cryptographic software. Th
e country in which you currently reside may have restrictions on the import, pos
session, use, and/or re-export to another country, of encryption software. BEFOR
E using any encryption software, please check your country's laws, regulations a
nd policies concerning the import, possession, or use, and re-export of encrypti
on software, to see if this is permitted. See the Wassenaar Arrangement http://w
ww.wassenaar.org/ for more information.

Anaconda has self-classified this software as Export Commodity Control Number (E
CCN) 5D992.c, which includes mass market information security software using or 
performing cryptographic functions with asymmetric algorithms. No license is req
uired for export of this software to non-embargoed countries.

The Intel Math Kernel Library contained in Anaconda Individual Edition is classi
fied by Intel as ECCN 5D992.c with no license required for export to non-embargo
ed countries.

The following packages are included in the repository accessible through Anacond
a Individual Edition that relate to cryptography:

openssl
    The OpenSSL Project is a collaborative effort to develop a robust, commercia
l-grade, full-featured, and Open Source toolkit implementing the Transport Layer
 Security (TLS) and Secure Sockets Layer (SSL) protocols as well as a full-stren
gth general purpose cryptography library.

pycrypto
    A collection of both secure hash functions (such as SHA256 and RIPEMD160), a
nd various encryption algorithms (AES, DES, RSA, ElGamal, etc.).

pyopenssl
    A thin Python wrapper around (a subset of) the OpenSSL library.

kerberos (krb5, non-Windows platforms)
    A network authentication protocol designed to provide strong authentication 
for client/server applications by using secret-key cryptography.

cryptography
    A Python library which exposes cryptographic recipes and primitives.

pycryptodome
    A fork of PyCrypto. It is a self-contained Python package of low-level crypt
ographic primitives.

pycryptodomex
    A stand-alone version of pycryptodome.

libsodium
    A software library for encryption, decryption, signatures, password hashing 
and more.

pynacl
    A Python binding to the Networking and Cryptography library, a crypto librar
y with the stated goal of improving usability, security and speed.


Last updated September 28, 2020


Do you accept the license terms? [yes|no]
[no] >>> 
Please answer 'yes' or 'no':'
>>> 
Please answer 'yes' or 'no':'
>>> 
Please answer 'yes' or 'no':'
>>> 
Please answer 'yes' or 'no':'
>>> 
Please answer 'yes' or 'no':'
>>> 
Please answer 'yes' or 'no':'
>>> 
Please answer 'yes' or 'no':'
>>> 
Please answer 'yes' or 'no':'
>>> 
Please answer 'yes' or 'no':'
>>> 
Please answer 'yes' or 'no':'
>>> 
Please answer 'yes' or 'no':'
>>> 
Please answer 'yes' or 'no':'
>>> 
Please answer 'yes' or 'no':'
>>> yes

Anaconda3 will now be installed into this location:
/home/soloelectronicos/anaconda3

  - Press ENTER to confirm the location
  - Press CTRL-C to abort the installation
  - Or specify a different location below

[/home/soloelectronicos/anaconda3] >>> 
PREFIX=/home/soloelectronicos/anaconda3
Unpacking payload ...
Collecting package metadata (current_repodata.json): done                       
Solving environment: done

## Package Plan ##

  environment location: /home/soloelectronicos/anaconda3

  added / updated specs:
    - _ipyw_jlab_nb_ext_conf==0.1.0=py38_0
    - _libgcc_mutex==0.1=main
    - alabaster==0.7.12=py_0
    - anaconda-client==1.7.2=py38_0
    - anaconda-navigator==1.10.0=py38_0
    - anaconda-project==0.8.4=py_0
    - anaconda==2020.11=py38_0
    - argh==0.26.2=py38_0
    - argon2-cffi==20.1.0=py38h7b6447c_1
    - asn1crypto==1.4.0=py_0
    - astroid==2.4.2=py38_0
    - astropy==4.0.2=py38h7b6447c_0
    - async_generator==1.10=py_0
    - atomicwrites==1.4.0=py_0
    - attrs==20.3.0=pyhd3eb1b0_0
    - autopep8==1.5.4=py_0
    - babel==2.8.1=pyhd3eb1b0_0
    - backcall==0.2.0=py_0
    - backports.functools_lru_cache==1.6.1=py_0
    - backports.shutil_get_terminal_size==1.0.0=py38_2
    - backports.tempfile==1.0=py_1
    - backports.weakref==1.0.post1=py_1
    - backports==1.0=py_2
    - beautifulsoup4==4.9.3=pyhb0f4dca_0
    - bitarray==1.6.1=py38h27cfd23_0
    - bkcharts==0.2=py38_0
    - blas==1.0=mkl
    - bleach==3.2.1=py_0
    - blosc==1.20.1=hd408876_0
    - bokeh==2.2.3=py38_0
    - boto==2.49.0=py38_0
    - bottleneck==1.3.2=py38heb32a55_1
    - brotlipy==0.7.0=py38h7b6447c_1000
    - bzip2==1.0.8=h7b6447c_0
    - ca-certificates==2020.10.14=0
    - cairo==1.14.12=h8948797_3
    - certifi==2020.6.20=pyhd3eb1b0_3
    - cffi==1.14.3=py38he30daa8_0
    - chardet==3.0.4=py38_1003
    - click==7.1.2=py_0
    - cloudpickle==1.6.0=py_0
    - clyent==1.2.2=py38_1
    - colorama==0.4.4=py_0
    - conda-build==3.20.5=py38_1
    - conda-env==2.6.0=1
    - conda-package-handling==1.7.2=py38h03888b9_0
    - conda-verify==3.4.2=py_1
    - conda==4.9.2=py38h06a4308_0
    - contextlib2==0.6.0.post1=py_0
    - cryptography==3.1.1=py38h1ba5d50_0
    - curl==7.71.1=hbc83047_1
    - cycler==0.10.0=py38_0
    - cython==0.29.21=py38he6710b0_0
    - cytoolz==0.11.0=py38h7b6447c_0
    - dask-core==2.30.0=py_0
    - dask==2.30.0=py_0
    - dbus==1.13.18=hb2f20db_0
    - decorator==4.4.2=py_0
    - defusedxml==0.6.0=py_0
    - diff-match-patch==20200713=py_0
    - distributed==2.30.1=py38h06a4308_0
    - docutils==0.16=py38_1
    - entrypoints==0.3=py38_0
    - et_xmlfile==1.0.1=py_1001
    - expat==2.2.10=he6710b0_2
    - fastcache==1.1.0=py38h7b6447c_0
    - filelock==3.0.12=py_0
    - flake8==3.8.4=py_0
    - flask==1.1.2=py_0
    - fontconfig==2.13.0=h9420a91_0
    - freetype==2.10.4=h5ab3b9f_0
    - fribidi==1.0.10=h7b6447c_0
    - fsspec==0.8.3=py_0
    - future==0.18.2=py38_1
    - get_terminal_size==1.0.0=haa9412d_0
    - gevent==20.9.0=py38h7b6447c_0
    - glib==2.66.1=h92f7085_0
    - glob2==0.7=py_0
    - gmp==6.1.2=h6c8ec71_1
    - gmpy2==2.0.8=py38hd5f6e3b_3
    - graphite2==1.3.14=h23475e2_0
    - greenlet==0.4.17=py38h7b6447c_0
    - gst-plugins-base==1.14.0=hbbd80ab_1
    - gstreamer==1.14.0=hb31296c_0
    - h5py==2.10.0=py38h7918eee_0
    - harfbuzz==2.4.0=hca77d97_1
    - hdf5==1.10.4=hb1b8bf9_0
    - heapdict==1.0.1=py_0
    - html5lib==1.1=py_0
    - icu==58.2=he6710b0_3
    - idna==2.10=py_0
    - imageio==2.9.0=py_0
    - imagesize==1.2.0=py_0
    - importlib-metadata==2.0.0=py_1
    - importlib_metadata==2.0.0=1
    - iniconfig==1.1.1=py_0
    - intel-openmp==2020.2=254
    - intervaltree==3.1.0=py_0
    - ipykernel==5.3.4=py38h5ca1d4c_0
    - ipython==7.19.0=py38hb070fc8_0
    - ipython_genutils==0.2.0=py38_0
    - ipywidgets==7.5.1=py_1
    - isort==5.6.4=py_0
    - itsdangerous==1.1.0=py_0
    - jbig==2.1=hdba287a_0
    - jdcal==1.4.1=py_0
    - jedi==0.17.1=py38_0
    - jeepney==0.5.0=pyhd3eb1b0_0
    - jinja2==2.11.2=py_0
    - joblib==0.17.0=py_0
    - jpeg==9b=h024ee3a_2
    - json5==0.9.5=py_0
    - jsonschema==3.2.0=py_2
    - jupyter==1.0.0=py38_7
    - jupyter_client==6.1.7=py_0
    - jupyter_console==6.2.0=py_0
    - jupyter_core==4.6.3=py38_0
    - jupyterlab==2.2.6=py_0
    - jupyterlab_pygments==0.1.2=py_0
    - jupyterlab_server==1.2.0=py_0
    - keyring==21.4.0=py38_1
    - kiwisolver==1.3.0=py38h2531618_0
    - krb5==1.18.2=h173b8e3_0
    - lazy-object-proxy==1.4.3=py38h7b6447c_0
    - lcms2==2.11=h396b838_0
    - ld_impl_linux-64==2.33.1=h53a641e_7
    - libarchive==3.4.2=h62408e4_0
    - libcurl==7.71.1=h20c2e04_1
    - libedit==3.1.20191231=h14c3975_1
    - libffi==3.3=he6710b0_2
    - libgcc-ng==9.1.0=hdf63c60_0
    - libgfortran-ng==7.3.0=hdf63c60_0
    - liblief==0.10.1=he6710b0_0
    - libllvm10==10.0.1=hbcb73fb_5
    - libpng==1.6.37=hbc83047_0
    - libsodium==1.0.18=h7b6447c_0
    - libspatialindex==1.9.3=he6710b0_0
    - libssh2==1.9.0=h1ba5d50_1
    - libstdcxx-ng==9.1.0=hdf63c60_0
    - libtiff==4.1.0=h2733197_1
    - libtool==2.4.6=h7b6447c_1005
    - libuuid==1.0.3=h1bed415_2
    - libxcb==1.14=h7b6447c_0
    - libxml2==2.9.10=hb55368b_3
    - libxslt==1.1.34=hc22bd24_0
    - llvmlite==0.34.0=py38h269e1b5_4
    - locket==0.2.0=py38_1
    - lxml==4.6.1=py38hefd8a0e_0
    - lz4-c==1.9.2=heb0550a_3
    - lzo==2.10=h7b6447c_2
    - markupsafe==1.1.1=py38h7b6447c_0
    - matplotlib-base==3.3.2=py38h817c723_0
    - matplotlib==3.3.2=0
    - mccabe==0.6.1=py38_1
    - mistune==0.8.4=py38h7b6447c_1000
    - mkl-service==2.3.0=py38he904b0f_0
    - mkl==2020.2=256
    - mkl_fft==1.2.0=py38h23d657b_0
    - mkl_random==1.1.1=py38h0573a6f_0
    - mock==4.0.2=py_0
    - more-itertools==8.6.0=pyhd3eb1b0_0
    - mpc==1.1.0=h10f8cd9_1
    - mpfr==4.0.2=hb69a4c5_1
    - mpmath==1.1.0=py38_0
    - msgpack-python==1.0.0=py38hfd86e86_1
    - multipledispatch==0.6.0=py38_0
    - navigator-updater==0.2.1=py38_0
    - nbclient==0.5.1=py_0
    - nbconvert==6.0.7=py38_0
    - nbformat==5.0.8=py_0
    - ncurses==6.2=he6710b0_1
    - nest-asyncio==1.4.2=pyhd3eb1b0_0
    - networkx==2.5=py_0
    - nltk==3.5=py_0
    - nose==1.3.7=py38_2
    - notebook==6.1.4=py38_0
    - numba==0.51.2=py38h0573a6f_1
    - numexpr==2.7.1=py38h423224d_0
    - numpy-base==1.19.2=py38hfa32c7d_0
    - numpy==1.19.2=py38h54aff64_0
    - numpydoc==1.1.0=pyhd3eb1b0_1
    - olefile==0.46=py_0
    - openpyxl==3.0.5=py_0
    - openssl==1.1.1h=h7b6447c_0
    - packaging==20.4=py_0
    - pandas==1.1.3=py38he6710b0_0
    - pandoc==2.11=hb0f4dca_0
    - pandocfilters==1.4.3=py38h06a4308_1
    - pango==1.45.3=hd140c19_0
    - parso==0.7.0=py_0
    - partd==1.1.0=py_0
    - patchelf==0.12=he6710b0_0
    - path.py==12.5.0=0
    - path==15.0.0=py38_0
    - pathlib2==2.3.5=py38_0
    - pathtools==0.1.2=py_1
    - patsy==0.5.1=py38_0
    - pcre==8.44=he6710b0_0
    - pep8==1.7.1=py38_0
    - pexpect==4.8.0=py38_0
    - pickleshare==0.7.5=py38_1000
    - pillow==8.0.1=py38he98fc37_0
    - pip==20.2.4=py38h06a4308_0
    - pixman==0.40.0=h7b6447c_0
    - pkginfo==1.6.1=py38h06a4308_0
    - pluggy==0.13.1=py38_0
    - ply==3.11=py38_0
    - prometheus_client==0.8.0=py_0
    - prompt-toolkit==3.0.8=py_0
    - prompt_toolkit==3.0.8=0
    - psutil==5.7.2=py38h7b6447c_0
    - ptyprocess==0.6.0=py38_0
    - py-lief==0.10.1=py38h403a769_0
    - py==1.9.0=py_0
    - pycodestyle==2.6.0=py_0
    - pycosat==0.6.3=py38h7b6447c_1
    - pycparser==2.20=py_2
    - pycurl==7.43.0.6=py38h1ba5d50_0
    - pydocstyle==5.1.1=py_0
    - pyflakes==2.2.0=py_0
    - pygments==2.7.2=pyhd3eb1b0_0
    - pylint==2.6.0=py38_0
    - pyodbc==4.0.30=py38he6710b0_0
    - pyopenssl==19.1.0=py_1
    - pyparsing==2.4.7=py_0
    - pyqt==5.9.2=py38h05f1152_4
    - pyrsistent==0.17.3=py38h7b6447c_0
    - pysocks==1.7.1=py38_0
    - pytables==3.6.1=py38h9fd0a39_0
    - pytest==6.1.1=py38_0
    - python-dateutil==2.8.1=py_0
    - python-jsonrpc-server==0.4.0=py_0
    - python-language-server==0.35.1=py_0
    - python-libarchive-c==2.9=py_0
    - python==3.8.5=h7579374_1
    - pytz==2020.1=py_0
    - pywavelets==1.1.1=py38h7b6447c_2
    - pyxdg==0.27=pyhd3eb1b0_0
    - pyyaml==5.3.1=py38h7b6447c_1
    - pyzmq==19.0.2=py38he6710b0_1
    - qdarkstyle==2.8.1=py_0
    - qt==5.9.7=h5867ecd_1
    - qtawesome==1.0.1=py_0
    - qtconsole==4.7.7=py_0
    - qtpy==1.9.0=py_0
    - readline==8.0=h7b6447c_0
    - regex==2020.10.15=py38h7b6447c_0
    - requests==2.24.0=py_0
    - ripgrep==12.1.1=0
    - rope==0.18.0=py_0
    - rtree==0.9.4=py38_1
    - ruamel_yaml==0.15.87=py38h7b6447c_1
    - scikit-image==0.17.2=py38hdf5156a_0
    - scikit-learn==0.23.2=py38h0573a6f_0
    - scipy==1.5.2=py38h0b6359f_0
    - seaborn==0.11.0=py_0
    - secretstorage==3.1.2=py38_0
    - send2trash==1.5.0=py38_0
    - setuptools==50.3.1=py38h06a4308_1
    - simplegeneric==0.8.1=py38_2
    - singledispatch==3.4.0.3=py_1001
    - sip==4.19.13=py38he6710b0_0
    - six==1.15.0=py38h06a4308_0
    - snowballstemmer==2.0.0=py_0
    - sortedcollections==1.2.1=py_0
    - sortedcontainers==2.2.2=py_0
    - soupsieve==2.0.1=py_0
    - sphinx==3.2.1=py_0
    - sphinxcontrib-applehelp==1.0.2=py_0
    - sphinxcontrib-devhelp==1.0.2=py_0
    - sphinxcontrib-htmlhelp==1.0.3=py_0
    - sphinxcontrib-jsmath==1.0.1=py_0
    - sphinxcontrib-qthelp==1.0.3=py_0
    - sphinxcontrib-serializinghtml==1.1.4=py_0
    - sphinxcontrib-websupport==1.2.4=py_0
    - sphinxcontrib==1.0=py38_1
    - spyder-kernels==1.9.4=py38_0
    - spyder==4.1.5=py38_0
    - sqlalchemy==1.3.20=py38h7b6447c_0
    - sqlite==3.33.0=h62c20be_0
    - statsmodels==0.12.0=py38h7b6447c_0
    - sympy==1.6.2=py38h06a4308_1
    - tbb==2020.3=hfd86e86_0
    - tblib==1.7.0=py_0
    - terminado==0.9.1=py38_0
    - testpath==0.4.4=py_0
    - threadpoolctl==2.1.0=pyh5ca1d4c_0
    - tifffile==2020.10.1=py38hdd07704_2
    - tk==8.6.10=hbc83047_0
    - toml==0.10.1=py_0
    - toolz==0.11.1=py_0
    - tornado==6.0.4=py38h7b6447c_1
    - tqdm==4.50.2=py_0
    - traitlets==5.0.5=py_0
    - typing_extensions==3.7.4.3=py_0
    - ujson==4.0.1=py38he6710b0_0
    - unicodecsv==0.14.1=py38_0
    - unixodbc==2.3.9=h7b6447c_0
    - urllib3==1.25.11=py_0
    - watchdog==0.10.3=py38_0
    - wcwidth==0.2.5=py_0
    - webencodings==0.5.1=py38_1
    - werkzeug==1.0.1=py_0
    - wheel==0.35.1=py_0
    - widgetsnbextension==3.5.1=py38_0
    - wrapt==1.11.2=py38h7b6447c_0
    - wurlitzer==2.0.1=py38_0
    - xlrd==1.2.0=py_0
    - xlsxwriter==1.3.7=py_0
    - xlwt==1.3.0=py38_0
    - xmltodict==0.12.0=py_0
    - xz==5.2.5=h7b6447c_0
    - yaml==0.2.5=h7b6447c_0
    - yapf==0.30.0=py_0
    - zeromq==4.3.3=he6710b0_3
    - zict==2.0.0=py_0
    - zipp==3.4.0=pyhd3eb1b0_0
    - zlib==1.2.11=h7b6447c_3
    - zope.event==4.5.0=py38_0
    - zope.interface==5.1.2=py38h7b6447c_0
    - zope==1.0=py38_1
    - zstd==1.4.5=h9ceee32_0


The following NEW packages will be INSTALLED:

  _ipyw_jlab_nb_ext~ pkgs/main/linux-64::_ipyw_jlab_nb_ext_conf-0.1.0-py38_0
  _libgcc_mutex      pkgs/main/linux-64::_libgcc_mutex-0.1-main
  alabaster          pkgs/main/noarch::alabaster-0.7.12-py_0
  anaconda           pkgs/main/linux-64::anaconda-2020.11-py38_0
  anaconda-client    pkgs/main/linux-64::anaconda-client-1.7.2-py38_0
  anaconda-navigator pkgs/main/linux-64::anaconda-navigator-1.10.0-py38_0
  anaconda-project   pkgs/main/noarch::anaconda-project-0.8.4-py_0
  argh               pkgs/main/linux-64::argh-0.26.2-py38_0
  argon2-cffi        pkgs/main/linux-64::argon2-cffi-20.1.0-py38h7b6447c_1
  asn1crypto         pkgs/main/noarch::asn1crypto-1.4.0-py_0
  astroid            pkgs/main/linux-64::astroid-2.4.2-py38_0
  astropy            pkgs/main/linux-64::astropy-4.0.2-py38h7b6447c_0
  async_generator    pkgs/main/noarch::async_generator-1.10-py_0
  atomicwrites       pkgs/main/noarch::atomicwrites-1.4.0-py_0
  attrs              pkgs/main/noarch::attrs-20.3.0-pyhd3eb1b0_0
  autopep8           pkgs/main/noarch::autopep8-1.5.4-py_0
  babel              pkgs/main/noarch::babel-2.8.1-pyhd3eb1b0_0
  backcall           pkgs/main/noarch::backcall-0.2.0-py_0
  backports          pkgs/main/noarch::backports-1.0-py_2
  backports.functoo~ pkgs/main/noarch::backports.functools_lru_cache-1.6.1-py_0
  backports.shutil_~ pkgs/main/linux-64::backports.shutil_get_terminal_size-1.0.0-py38_2
  backports.tempfile pkgs/main/noarch::backports.tempfile-1.0-py_1
  backports.weakref  pkgs/main/noarch::backports.weakref-1.0.post1-py_1
  beautifulsoup4     pkgs/main/noarch::beautifulsoup4-4.9.3-pyhb0f4dca_0
  bitarray           pkgs/main/linux-64::bitarray-1.6.1-py38h27cfd23_0
  bkcharts           pkgs/main/linux-64::bkcharts-0.2-py38_0
  blas               pkgs/main/linux-64::blas-1.0-mkl
  bleach             pkgs/main/noarch::bleach-3.2.1-py_0
  blosc              pkgs/main/linux-64::blosc-1.20.1-hd408876_0
  bokeh              pkgs/main/linux-64::bokeh-2.2.3-py38_0
  boto               pkgs/main/linux-64::boto-2.49.0-py38_0
  bottleneck         pkgs/main/linux-64::bottleneck-1.3.2-py38heb32a55_1
  brotlipy           pkgs/main/linux-64::brotlipy-0.7.0-py38h7b6447c_1000
  bzip2              pkgs/main/linux-64::bzip2-1.0.8-h7b6447c_0
  ca-certificates    pkgs/main/linux-64::ca-certificates-2020.10.14-0
  cairo              pkgs/main/linux-64::cairo-1.14.12-h8948797_3
  certifi            pkgs/main/noarch::certifi-2020.6.20-pyhd3eb1b0_3
  cffi               pkgs/main/linux-64::cffi-1.14.3-py38he30daa8_0
  chardet            pkgs/main/linux-64::chardet-3.0.4-py38_1003
  click              pkgs/main/noarch::click-7.1.2-py_0
  cloudpickle        pkgs/main/noarch::cloudpickle-1.6.0-py_0
  clyent             pkgs/main/linux-64::clyent-1.2.2-py38_1
  colorama           pkgs/main/noarch::colorama-0.4.4-py_0
  conda              pkgs/main/linux-64::conda-4.9.2-py38h06a4308_0
  conda-build        pkgs/main/linux-64::conda-build-3.20.5-py38_1
  conda-env          pkgs/main/linux-64::conda-env-2.6.0-1
  conda-package-han~ pkgs/main/linux-64::conda-package-handling-1.7.2-py38h03888b9_0
  conda-verify       pkgs/main/noarch::conda-verify-3.4.2-py_1
  contextlib2        pkgs/main/noarch::contextlib2-0.6.0.post1-py_0
  cryptography       pkgs/main/linux-64::cryptography-3.1.1-py38h1ba5d50_0
  curl               pkgs/main/linux-64::curl-7.71.1-hbc83047_1
  cycler             pkgs/main/linux-64::cycler-0.10.0-py38_0
  cython             pkgs/main/linux-64::cython-0.29.21-py38he6710b0_0
  cytoolz            pkgs/main/linux-64::cytoolz-0.11.0-py38h7b6447c_0
  dask               pkgs/main/noarch::dask-2.30.0-py_0
  dask-core          pkgs/main/noarch::dask-core-2.30.0-py_0
  dbus               pkgs/main/linux-64::dbus-1.13.18-hb2f20db_0
  decorator          pkgs/main/noarch::decorator-4.4.2-py_0
  defusedxml         pkgs/main/noarch::defusedxml-0.6.0-py_0
  diff-match-patch   pkgs/main/noarch::diff-match-patch-20200713-py_0
  distributed        pkgs/main/linux-64::distributed-2.30.1-py38h06a4308_0
  docutils           pkgs/main/linux-64::docutils-0.16-py38_1
  entrypoints        pkgs/main/linux-64::entrypoints-0.3-py38_0
  et_xmlfile         pkgs/main/noarch::et_xmlfile-1.0.1-py_1001
  expat              pkgs/main/linux-64::expat-2.2.10-he6710b0_2
  fastcache          pkgs/main/linux-64::fastcache-1.1.0-py38h7b6447c_0
  filelock           pkgs/main/noarch::filelock-3.0.12-py_0
  flake8             pkgs/main/noarch::flake8-3.8.4-py_0
  flask              pkgs/main/noarch::flask-1.1.2-py_0
  fontconfig         pkgs/main/linux-64::fontconfig-2.13.0-h9420a91_0
  freetype           pkgs/main/linux-64::freetype-2.10.4-h5ab3b9f_0
  fribidi            pkgs/main/linux-64::fribidi-1.0.10-h7b6447c_0
  fsspec             pkgs/main/noarch::fsspec-0.8.3-py_0
  future             pkgs/main/linux-64::future-0.18.2-py38_1
  get_terminal_size  pkgs/main/linux-64::get_terminal_size-1.0.0-haa9412d_0
  gevent             pkgs/main/linux-64::gevent-20.9.0-py38h7b6447c_0
  glib               pkgs/main/linux-64::glib-2.66.1-h92f7085_0
  glob2              pkgs/main/noarch::glob2-0.7-py_0
  gmp                pkgs/main/linux-64::gmp-6.1.2-h6c8ec71_1
  gmpy2              pkgs/main/linux-64::gmpy2-2.0.8-py38hd5f6e3b_3
  graphite2          pkgs/main/linux-64::graphite2-1.3.14-h23475e2_0
  greenlet           pkgs/main/linux-64::greenlet-0.4.17-py38h7b6447c_0
  gst-plugins-base   pkgs/main/linux-64::gst-plugins-base-1.14.0-hbbd80ab_1
  gstreamer          pkgs/main/linux-64::gstreamer-1.14.0-hb31296c_0
  h5py               pkgs/main/linux-64::h5py-2.10.0-py38h7918eee_0
  harfbuzz           pkgs/main/linux-64::harfbuzz-2.4.0-hca77d97_1
  hdf5               pkgs/main/linux-64::hdf5-1.10.4-hb1b8bf9_0
  heapdict           pkgs/main/noarch::heapdict-1.0.1-py_0
  html5lib           pkgs/main/noarch::html5lib-1.1-py_0
  icu                pkgs/main/linux-64::icu-58.2-he6710b0_3
  idna               pkgs/main/noarch::idna-2.10-py_0
  imageio            pkgs/main/noarch::imageio-2.9.0-py_0
  imagesize          pkgs/main/noarch::imagesize-1.2.0-py_0
  importlib-metadata pkgs/main/noarch::importlib-metadata-2.0.0-py_1
  importlib_metadata pkgs/main/noarch::importlib_metadata-2.0.0-1
  iniconfig          pkgs/main/noarch::iniconfig-1.1.1-py_0
  intel-openmp       pkgs/main/linux-64::intel-openmp-2020.2-254
  intervaltree       pkgs/main/noarch::intervaltree-3.1.0-py_0
  ipykernel          pkgs/main/linux-64::ipykernel-5.3.4-py38h5ca1d4c_0
  ipython            pkgs/main/linux-64::ipython-7.19.0-py38hb070fc8_0
  ipython_genutils   pkgs/main/linux-64::ipython_genutils-0.2.0-py38_0
  ipywidgets         pkgs/main/noarch::ipywidgets-7.5.1-py_1
  isort              pkgs/main/noarch::isort-5.6.4-py_0
  itsdangerous       pkgs/main/noarch::itsdangerous-1.1.0-py_0
  jbig               pkgs/main/linux-64::jbig-2.1-hdba287a_0
  jdcal              pkgs/main/noarch::jdcal-1.4.1-py_0
  jedi               pkgs/main/linux-64::jedi-0.17.1-py38_0
  jeepney            pkgs/main/noarch::jeepney-0.5.0-pyhd3eb1b0_0
  jinja2             pkgs/main/noarch::jinja2-2.11.2-py_0
  joblib             pkgs/main/noarch::joblib-0.17.0-py_0
  jpeg               pkgs/main/linux-64::jpeg-9b-h024ee3a_2
  json5              pkgs/main/noarch::json5-0.9.5-py_0
  jsonschema         pkgs/main/noarch::jsonschema-3.2.0-py_2
  jupyter            pkgs/main/linux-64::jupyter-1.0.0-py38_7
  jupyter_client     pkgs/main/noarch::jupyter_client-6.1.7-py_0
  jupyter_console    pkgs/main/noarch::jupyter_console-6.2.0-py_0
  jupyter_core       pkgs/main/linux-64::jupyter_core-4.6.3-py38_0
  jupyterlab         pkgs/main/noarch::jupyterlab-2.2.6-py_0
  jupyterlab_pygmen~ pkgs/main/noarch::jupyterlab_pygments-0.1.2-py_0
  jupyterlab_server  pkgs/main/noarch::jupyterlab_server-1.2.0-py_0
  keyring            pkgs/main/linux-64::keyring-21.4.0-py38_1
  kiwisolver         pkgs/main/linux-64::kiwisolver-1.3.0-py38h2531618_0
  krb5               pkgs/main/linux-64::krb5-1.18.2-h173b8e3_0
  lazy-object-proxy  pkgs/main/linux-64::lazy-object-proxy-1.4.3-py38h7b6447c_0
  lcms2              pkgs/main/linux-64::lcms2-2.11-h396b838_0
  ld_impl_linux-64   pkgs/main/linux-64::ld_impl_linux-64-2.33.1-h53a641e_7
  libarchive         pkgs/main/linux-64::libarchive-3.4.2-h62408e4_0
  libcurl            pkgs/main/linux-64::libcurl-7.71.1-h20c2e04_1
  libedit            pkgs/main/linux-64::libedit-3.1.20191231-h14c3975_1
  libffi             pkgs/main/linux-64::libffi-3.3-he6710b0_2
  libgcc-ng          pkgs/main/linux-64::libgcc-ng-9.1.0-hdf63c60_0
  libgfortran-ng     pkgs/main/linux-64::libgfortran-ng-7.3.0-hdf63c60_0
  liblief            pkgs/main/linux-64::liblief-0.10.1-he6710b0_0
  libllvm10          pkgs/main/linux-64::libllvm10-10.0.1-hbcb73fb_5
  libpng             pkgs/main/linux-64::libpng-1.6.37-hbc83047_0
  libsodium          pkgs/main/linux-64::libsodium-1.0.18-h7b6447c_0
  libspatialindex    pkgs/main/linux-64::libspatialindex-1.9.3-he6710b0_0
  libssh2            pkgs/main/linux-64::libssh2-1.9.0-h1ba5d50_1
  libstdcxx-ng       pkgs/main/linux-64::libstdcxx-ng-9.1.0-hdf63c60_0
  libtiff            pkgs/main/linux-64::libtiff-4.1.0-h2733197_1
  libtool            pkgs/main/linux-64::libtool-2.4.6-h7b6447c_1005
  libuuid            pkgs/main/linux-64::libuuid-1.0.3-h1bed415_2
  libxcb             pkgs/main/linux-64::libxcb-1.14-h7b6447c_0
  libxml2            pkgs/main/linux-64::libxml2-2.9.10-hb55368b_3
  libxslt            pkgs/main/linux-64::libxslt-1.1.34-hc22bd24_0
  llvmlite           pkgs/main/linux-64::llvmlite-0.34.0-py38h269e1b5_4
  locket             pkgs/main/linux-64::locket-0.2.0-py38_1
  lxml               pkgs/main/linux-64::lxml-4.6.1-py38hefd8a0e_0
  lz4-c              pkgs/main/linux-64::lz4-c-1.9.2-heb0550a_3
  lzo                pkgs/main/linux-64::lzo-2.10-h7b6447c_2
  markupsafe         pkgs/main/linux-64::markupsafe-1.1.1-py38h7b6447c_0
  matplotlib         pkgs/main/linux-64::matplotlib-3.3.2-0
  matplotlib-base    pkgs/main/linux-64::matplotlib-base-3.3.2-py38h817c723_0
  mccabe             pkgs/main/linux-64::mccabe-0.6.1-py38_1
  mistune            pkgs/main/linux-64::mistune-0.8.4-py38h7b6447c_1000
  mkl                pkgs/main/linux-64::mkl-2020.2-256
  mkl-service        pkgs/main/linux-64::mkl-service-2.3.0-py38he904b0f_0
  mkl_fft            pkgs/main/linux-64::mkl_fft-1.2.0-py38h23d657b_0
  mkl_random         pkgs/main/linux-64::mkl_random-1.1.1-py38h0573a6f_0
  mock               pkgs/main/noarch::mock-4.0.2-py_0
  more-itertools     pkgs/main/noarch::more-itertools-8.6.0-pyhd3eb1b0_0
  mpc                pkgs/main/linux-64::mpc-1.1.0-h10f8cd9_1
  mpfr               pkgs/main/linux-64::mpfr-4.0.2-hb69a4c5_1
  mpmath             pkgs/main/linux-64::mpmath-1.1.0-py38_0
  msgpack-python     pkgs/main/linux-64::msgpack-python-1.0.0-py38hfd86e86_1
  multipledispatch   pkgs/main/linux-64::multipledispatch-0.6.0-py38_0
  navigator-updater  pkgs/main/linux-64::navigator-updater-0.2.1-py38_0
  nbclient           pkgs/main/noarch::nbclient-0.5.1-py_0
  nbconvert          pkgs/main/linux-64::nbconvert-6.0.7-py38_0
  nbformat           pkgs/main/noarch::nbformat-5.0.8-py_0
  ncurses            pkgs/main/linux-64::ncurses-6.2-he6710b0_1
  nest-asyncio       pkgs/main/noarch::nest-asyncio-1.4.2-pyhd3eb1b0_0
  networkx           pkgs/main/noarch::networkx-2.5-py_0
  nltk               pkgs/main/noarch::nltk-3.5-py_0
  nose               pkgs/main/linux-64::nose-1.3.7-py38_2
  notebook           pkgs/main/linux-64::notebook-6.1.4-py38_0
  numba              pkgs/main/linux-64::numba-0.51.2-py38h0573a6f_1
  numexpr            pkgs/main/linux-64::numexpr-2.7.1-py38h423224d_0
  numpy              pkgs/main/linux-64::numpy-1.19.2-py38h54aff64_0
  numpy-base         pkgs/main/linux-64::numpy-base-1.19.2-py38hfa32c7d_0
  numpydoc           pkgs/main/noarch::numpydoc-1.1.0-pyhd3eb1b0_1
  olefile            pkgs/main/noarch::olefile-0.46-py_0
  openpyxl           pkgs/main/noarch::openpyxl-3.0.5-py_0
  openssl            pkgs/main/linux-64::openssl-1.1.1h-h7b6447c_0
  packaging          pkgs/main/noarch::packaging-20.4-py_0
  pandas             pkgs/main/linux-64::pandas-1.1.3-py38he6710b0_0
  pandoc             pkgs/main/linux-64::pandoc-2.11-hb0f4dca_0
  pandocfilters      pkgs/main/linux-64::pandocfilters-1.4.3-py38h06a4308_1
  pango              pkgs/main/linux-64::pango-1.45.3-hd140c19_0
  parso              pkgs/main/noarch::parso-0.7.0-py_0
  partd              pkgs/main/noarch::partd-1.1.0-py_0
  patchelf           pkgs/main/linux-64::patchelf-0.12-he6710b0_0
  path               pkgs/main/linux-64::path-15.0.0-py38_0
  path.py            pkgs/main/noarch::path.py-12.5.0-0
  pathlib2           pkgs/main/linux-64::pathlib2-2.3.5-py38_0
  pathtools          pkgs/main/noarch::pathtools-0.1.2-py_1
  patsy              pkgs/main/linux-64::patsy-0.5.1-py38_0
  pcre               pkgs/main/linux-64::pcre-8.44-he6710b0_0
  pep8               pkgs/main/linux-64::pep8-1.7.1-py38_0
  pexpect            pkgs/main/linux-64::pexpect-4.8.0-py38_0
  pickleshare        pkgs/main/linux-64::pickleshare-0.7.5-py38_1000
  pillow             pkgs/main/linux-64::pillow-8.0.1-py38he98fc37_0
  pip                pkgs/main/linux-64::pip-20.2.4-py38h06a4308_0
  pixman             pkgs/main/linux-64::pixman-0.40.0-h7b6447c_0
  pkginfo            pkgs/main/linux-64::pkginfo-1.6.1-py38h06a4308_0
  pluggy             pkgs/main/linux-64::pluggy-0.13.1-py38_0
  ply                pkgs/main/linux-64::ply-3.11-py38_0
  prometheus_client  pkgs/main/noarch::prometheus_client-0.8.0-py_0
  prompt-toolkit     pkgs/main/noarch::prompt-toolkit-3.0.8-py_0
  prompt_toolkit     pkgs/main/noarch::prompt_toolkit-3.0.8-0
  psutil             pkgs/main/linux-64::psutil-5.7.2-py38h7b6447c_0
  ptyprocess         pkgs/main/linux-64::ptyprocess-0.6.0-py38_0
  py                 pkgs/main/noarch::py-1.9.0-py_0
  py-lief            pkgs/main/linux-64::py-lief-0.10.1-py38h403a769_0
  pycodestyle        pkgs/main/noarch::pycodestyle-2.6.0-py_0
  pycosat            pkgs/main/linux-64::pycosat-0.6.3-py38h7b6447c_1
  pycparser          pkgs/main/noarch::pycparser-2.20-py_2
  pycurl             pkgs/main/linux-64::pycurl-7.43.0.6-py38h1ba5d50_0
  pydocstyle         pkgs/main/noarch::pydocstyle-5.1.1-py_0
  pyflakes           pkgs/main/noarch::pyflakes-2.2.0-py_0
  pygments           pkgs/main/noarch::pygments-2.7.2-pyhd3eb1b0_0
  pylint             pkgs/main/linux-64::pylint-2.6.0-py38_0
  pyodbc             pkgs/main/linux-64::pyodbc-4.0.30-py38he6710b0_0
  pyopenssl          pkgs/main/noarch::pyopenssl-19.1.0-py_1
  pyparsing          pkgs/main/noarch::pyparsing-2.4.7-py_0
  pyqt               pkgs/main/linux-64::pyqt-5.9.2-py38h05f1152_4
  pyrsistent         pkgs/main/linux-64::pyrsistent-0.17.3-py38h7b6447c_0
  pysocks            pkgs/main/linux-64::pysocks-1.7.1-py38_0
  pytables           pkgs/main/linux-64::pytables-3.6.1-py38h9fd0a39_0
  pytest             pkgs/main/linux-64::pytest-6.1.1-py38_0
  python             pkgs/main/linux-64::python-3.8.5-h7579374_1
  python-dateutil    pkgs/main/noarch::python-dateutil-2.8.1-py_0
  python-jsonrpc-se~ pkgs/main/noarch::python-jsonrpc-server-0.4.0-py_0
  python-language-s~ pkgs/main/noarch::python-language-server-0.35.1-py_0
  python-libarchive~ pkgs/main/noarch::python-libarchive-c-2.9-py_0
  pytz               pkgs/main/noarch::pytz-2020.1-py_0
  pywavelets         pkgs/main/linux-64::pywavelets-1.1.1-py38h7b6447c_2
  pyxdg              pkgs/main/noarch::pyxdg-0.27-pyhd3eb1b0_0
  pyyaml             pkgs/main/linux-64::pyyaml-5.3.1-py38h7b6447c_1
  pyzmq              pkgs/main/linux-64::pyzmq-19.0.2-py38he6710b0_1
  qdarkstyle         pkgs/main/noarch::qdarkstyle-2.8.1-py_0
  qt                 pkgs/main/linux-64::qt-5.9.7-h5867ecd_1
  qtawesome          pkgs/main/noarch::qtawesome-1.0.1-py_0
  qtconsole          pkgs/main/noarch::qtconsole-4.7.7-py_0
  qtpy               pkgs/main/noarch::qtpy-1.9.0-py_0
  readline           pkgs/main/linux-64::readline-8.0-h7b6447c_0
  regex              pkgs/main/linux-64::regex-2020.10.15-py38h7b6447c_0
  requests           pkgs/main/noarch::requests-2.24.0-py_0
  ripgrep            pkgs/main/linux-64::ripgrep-12.1.1-0
  rope               pkgs/main/noarch::rope-0.18.0-py_0
  rtree              pkgs/main/linux-64::rtree-0.9.4-py38_1
  ruamel_yaml        pkgs/main/linux-64::ruamel_yaml-0.15.87-py38h7b6447c_1
  scikit-image       pkgs/main/linux-64::scikit-image-0.17.2-py38hdf5156a_0
  scikit-learn       pkgs/main/linux-64::scikit-learn-0.23.2-py38h0573a6f_0
  scipy              pkgs/main/linux-64::scipy-1.5.2-py38h0b6359f_0
  seaborn            pkgs/main/noarch::seaborn-0.11.0-py_0
  secretstorage      pkgs/main/linux-64::secretstorage-3.1.2-py38_0
  send2trash         pkgs/main/linux-64::send2trash-1.5.0-py38_0
  setuptools         pkgs/main/linux-64::setuptools-50.3.1-py38h06a4308_1
  simplegeneric      pkgs/main/linux-64::simplegeneric-0.8.1-py38_2
  singledispatch     pkgs/main/noarch::singledispatch-3.4.0.3-py_1001
  sip                pkgs/main/linux-64::sip-4.19.13-py38he6710b0_0
  six                pkgs/main/linux-64::six-1.15.0-py38h06a4308_0
  snowballstemmer    pkgs/main/noarch::snowballstemmer-2.0.0-py_0
  sortedcollections  pkgs/main/noarch::sortedcollections-1.2.1-py_0
  sortedcontainers   pkgs/main/noarch::sortedcontainers-2.2.2-py_0
  soupsieve          pkgs/main/noarch::soupsieve-2.0.1-py_0
  sphinx             pkgs/main/noarch::sphinx-3.2.1-py_0
  sphinxcontrib      pkgs/main/linux-64::sphinxcontrib-1.0-py38_1
  sphinxcontrib-app~ pkgs/main/noarch::sphinxcontrib-applehelp-1.0.2-py_0
  sphinxcontrib-dev~ pkgs/main/noarch::sphinxcontrib-devhelp-1.0.2-py_0
  sphinxcontrib-htm~ pkgs/main/noarch::sphinxcontrib-htmlhelp-1.0.3-py_0
  sphinxcontrib-jsm~ pkgs/main/noarch::sphinxcontrib-jsmath-1.0.1-py_0
  sphinxcontrib-qth~ pkgs/main/noarch::sphinxcontrib-qthelp-1.0.3-py_0
  sphinxcontrib-ser~ pkgs/main/noarch::sphinxcontrib-serializinghtml-1.1.4-py_0
  sphinxcontrib-web~ pkgs/main/noarch::sphinxcontrib-websupport-1.2.4-py_0
  spyder             pkgs/main/linux-64::spyder-4.1.5-py38_0
  spyder-kernels     pkgs/main/linux-64::spyder-kernels-1.9.4-py38_0
  sqlalchemy         pkgs/main/linux-64::sqlalchemy-1.3.20-py38h7b6447c_0
  sqlite             pkgs/main/linux-64::sqlite-3.33.0-h62c20be_0
  statsmodels        pkgs/main/linux-64::statsmodels-0.12.0-py38h7b6447c_0
  sympy              pkgs/main/linux-64::sympy-1.6.2-py38h06a4308_1
  tbb                pkgs/main/linux-64::tbb-2020.3-hfd86e86_0
  tblib              pkgs/main/noarch::tblib-1.7.0-py_0
  terminado          pkgs/main/linux-64::terminado-0.9.1-py38_0
  testpath           pkgs/main/noarch::testpath-0.4.4-py_0
  threadpoolctl      pkgs/main/noarch::threadpoolctl-2.1.0-pyh5ca1d4c_0
  tifffile           pkgs/main/linux-64::tifffile-2020.10.1-py38hdd07704_2
  tk                 pkgs/main/linux-64::tk-8.6.10-hbc83047_0
  toml               pkgs/main/noarch::toml-0.10.1-py_0
  toolz              pkgs/main/noarch::toolz-0.11.1-py_0
  tornado            pkgs/main/linux-64::tornado-6.0.4-py38h7b6447c_1
  tqdm               pkgs/main/noarch::tqdm-4.50.2-py_0
  traitlets          pkgs/main/noarch::traitlets-5.0.5-py_0
  typing_extensions  pkgs/main/noarch::typing_extensions-3.7.4.3-py_0
  ujson              pkgs/main/linux-64::ujson-4.0.1-py38he6710b0_0
  unicodecsv         pkgs/main/linux-64::unicodecsv-0.14.1-py38_0
  unixodbc           pkgs/main/linux-64::unixodbc-2.3.9-h7b6447c_0
  urllib3            pkgs/main/noarch::urllib3-1.25.11-py_0
  watchdog           pkgs/main/linux-64::watchdog-0.10.3-py38_0
  wcwidth            pkgs/main/noarch::wcwidth-0.2.5-py_0
  webencodings       pkgs/main/linux-64::webencodings-0.5.1-py38_1
  werkzeug           pkgs/main/noarch::werkzeug-1.0.1-py_0
  wheel              pkgs/main/noarch::wheel-0.35.1-py_0
  widgetsnbextension pkgs/main/linux-64::widgetsnbextension-3.5.1-py38_0
  wrapt              pkgs/main/linux-64::wrapt-1.11.2-py38h7b6447c_0
  wurlitzer          pkgs/main/linux-64::wurlitzer-2.0.1-py38_0
  xlrd               pkgs/main/noarch::xlrd-1.2.0-py_0
  xlsxwriter         pkgs/main/noarch::xlsxwriter-1.3.7-py_0
  xlwt               pkgs/main/linux-64::xlwt-1.3.0-py38_0
  xmltodict          pkgs/main/noarch::xmltodict-0.12.0-py_0
  xz                 pkgs/main/linux-64::xz-5.2.5-h7b6447c_0
  yaml               pkgs/main/linux-64::yaml-0.2.5-h7b6447c_0
  yapf               pkgs/main/noarch::yapf-0.30.0-py_0
  zeromq             pkgs/main/linux-64::zeromq-4.3.3-he6710b0_3
  zict               pkgs/main/noarch::zict-2.0.0-py_0
  zipp               pkgs/main/noarch::zipp-3.4.0-pyhd3eb1b0_0
  zlib               pkgs/main/linux-64::zlib-1.2.11-h7b6447c_3
  zope               pkgs/main/linux-64::zope-1.0-py38_1
  zope.event         pkgs/main/linux-64::zope.event-4.5.0-py38_0
  zope.interface     pkgs/main/linux-64::zope.interface-5.1.2-py38h7b6447c_0
  zstd               pkgs/main/linux-64::zstd-1.4.5-h9ceee32_0


Preparing transaction: done
Executing transaction: done
installation finished.
Do you wish the installer to initialize Anaconda3
by running conda init? [yes|no]
[no] >>> yes
no change     /home/soloelectronicos/anaconda3/condabin/conda
no change     /home/soloelectronicos/anaconda3/bin/conda
no change     /home/soloelectronicos/anaconda3/bin/conda-env
no change     /home/soloelectronicos/anaconda3/bin/activate
no change     /home/soloelectronicos/anaconda3/bin/deactivate
no change     /home/soloelectronicos/anaconda3/etc/profile.d/conda.sh
no change     /home/soloelectronicos/anaconda3/etc/fish/conf.d/conda.fish
no change     /home/soloelectronicos/anaconda3/shell/condabin/Conda.psm1
no change     /home/soloelectronicos/anaconda3/shell/condabin/conda-hook.ps1
no change     /home/soloelectronicos/anaconda3/lib/python3.8/site-packages/xontrib/conda.xsh
no change     /home/soloelectronicos/anaconda3/etc/profile.d/conda.csh
modified      /home/soloelectronicos/.bashrc

==> For changes to take effect, close and re-open your current shell. <==

If you'd prefer that conda's base environment not be activated on startup, 
   set the auto_activate_base parameter to false: 

conda config --set auto_activate_base false

Thank you for installing Anaconda3!

===========================================================================

Working with Python and Jupyter notebooks is a breeze with PyCharm Pro,
designed to be used with Anaconda. Download now and have the best data
tools at your fingertips.

PyCharm Pro for Anaconda is available at: https://www.anaconda.com/pycharm

[email protected]:~/Descargas$ source ~/.bashrc
(base) [email protected]:~/Descargas$ conda info

     active environment : base
    active env location : /home/soloelectronicos/anaconda3
            shell level : 1
       user config file : /home/soloelectronicos/.condarc
 populated config files : 
          conda version : 4.9.2
    conda-build version : 3.20.5
         python version : 3.8.5.final.0
       virtual packages : __glibc=2.31=0
                          __unix=0=0
                          __archspec=1=x86_64
       base environment : /home/soloelectronicos/anaconda3  (writable)
           channel URLs : https://repo.anaconda.com/pkgs/main/linux-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/linux-64
                          https://repo.anaconda.com/pkgs/r/noarch
          package cache : /home/soloelectronicos/anaconda3/pkgs
                          /home/soloelectronicos/.conda/pkgs
       envs directories : /home/soloelectronicos/anaconda3/envs
                          /home/soloelectronicos/.conda/envs
               platform : linux-64
             user-agent : conda/4.9.2 requests/2.24.0 CPython/3.8.5 Linux/5.11.0-27-generic ubuntu/20.04.3 glibc/2.31
                UID:GID : 1000:1000
             netrc file : None
           offline mode : False

(base) [email protected]:~/Descargas$ conda update conda
Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: /home/soloelectronicos/anaconda3

  added / updated specs:
    - conda


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    backports.functools_lru_cache-1.6.4|     pyhd3eb1b0_0           9 KB
    backports.tempfile-1.0     |     pyhd3eb1b0_1          11 KB
    conda-4.10.3               |   py38h06a4308_0         2.9 MB
    conda-package-handling-1.7.3|   py38h27cfd23_1         884 KB
    ------------------------------------------------------------
                                           Total:         3.8 MB

The following packages will be UPDATED:

  backports.functoo~                             1.6.1-py_0 --> 1.6.4-pyhd3eb1b0_0
  conda                                4.9.2-py38h06a4308_0 --> 4.10.3-py38h06a4308_0
  conda-package-han~                   1.7.2-py38h03888b9_0 --> 1.7.3-py38h27cfd23_1

The following packages will be DOWNGRADED:

  backports.tempfile                               1.0-py_1 --> 1.0-pyhd3eb1b0_1


Proceed ([y]/n)? y


Downloading and Extracting Packages
backports.tempfile-1 | 11 KB     | ##################################### | 100% 
backports.functools_ | 9 KB      | ##################################### | 100% 
conda-4.10.3         | 2.9 MB    | ##################################### | 100% 
conda-package-handli | 884 KB    | ##################################### | 100% 
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
(base) [email protected]:~/Descargas$ conda update anaconda
Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: /home/soloelectronicos/anaconda3

  added / updated specs:
    - anaconda


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    _anaconda_depends-2020.07  |           py38_0           6 KB
    _openmp_mutex-4.5          |            1_gnu          22 KB
    alabaster-0.7.12           |     pyhd3eb1b0_0          16 KB
    anaconda-custom            |           py38_1          35 KB
    anaconda-client-1.8.0      |   py38h06a4308_0         152 KB
    anaconda-project-0.10.1    |     pyhd3eb1b0_0         218 KB
    anyio-2.2.0                |   py38h06a4308_1         125 KB
    appdirs-1.4.4              |             py_0          13 KB
    argon2-cffi-20.1.0         |   py38h27cfd23_1          46 KB
    astroid-2.6.6              |   py38h06a4308_0         309 KB
    astropy-4.3.1              |   py38h09021b7_0         6.4 MB
    async_generator-1.10       |     pyhd3eb1b0_0          23 KB
    attrs-21.2.0               |     pyhd3eb1b0_0          46 KB
    babel-2.9.1                |     pyhd3eb1b0_0         5.5 MB
    backcall-0.2.0             |     pyhd3eb1b0_0          13 KB
    backports-1.0              |     pyhd3eb1b0_2         210 KB
    backports.shutil_get_terminal_size-1.0.0|     pyhd3eb1b0_3          10 KB
    beautifulsoup4-4.9.3       |     pyha847dfd_0          86 KB
    bitarray-2.3.0             |   py38h7f8727e_1         139 KB
    black-19.10b0              |             py_0          86 KB
    bleach-4.0.0               |     pyhd3eb1b0_0         113 KB
    blosc-1.21.0               |       h8c45485_0          64 KB
    bokeh-2.3.3                |   py38h06a4308_0         5.9 MB
    brotli-1.0.9               |       he6710b0_2         375 KB
    brotlipy-0.7.0             |py38h27cfd23_1003         323 KB
    c-ares-1.17.1              |       h27cfd23_0         108 KB
    ca-certificates-2021.7.5   |       h06a4308_1         113 KB
    cairo-1.16.0               |       hf32fb01_1         1.0 MB
    certifi-2021.5.30          |   py38h06a4308_0         138 KB
    cffi-1.14.6                |   py38h400218f_0         224 KB
    chardet-4.0.0              |py38h06a4308_1003         194 KB
    charset-normalizer-2.0.4   |     pyhd3eb1b0_0          35 KB
    click-8.0.1                |     pyhd3eb1b0_0          79 KB
    colorama-0.4.4             |     pyhd3eb1b0_0          21 KB
    conda-pack-0.6.0           |     pyhd3eb1b0_0          29 KB
    cryptography-3.4.7         |   py38hd23ed53_0         913 KB
    curl-7.78.0                |       h1ccaba5_0          94 KB
    cython-0.29.24             |   py38h295c915_0         2.0 MB
    dask-2021.8.1              |     pyhd3eb1b0_0          18 KB
    dask-core-2021.8.1         |     pyhd3eb1b0_0         715 KB
    debugpy-1.4.1              |   py38h295c915_0         1.7 MB
    decorator-5.0.9            |     pyhd3eb1b0_0          12 KB
    defusedxml-0.7.1           |     pyhd3eb1b0_0          23 KB
    distributed-2021.8.1       |   py38h06a4308_0         970 KB
    docutils-0.17.1            |   py38h06a4308_1         686 KB
    et_xmlfile-1.1.0           |   py38h06a4308_0          10 KB
    expat-2.4.1                |       h2531618_2         168 KB
    filelock-3.0.12            |     pyhd3eb1b0_1          10 KB
    flask-1.1.2                |     pyhd3eb1b0_0          70 KB
    fontconfig-2.13.1          |       h6c09931_0         250 KB
    fonttools-4.25.0           |     pyhd3eb1b0_0         632 KB
    fsspec-2021.7.0            |     pyhd3eb1b0_0          91 KB
    gevent-21.8.0              |   py38h7f8727e_1         1.5 MB
    glib-2.69.1                |       h5202010_0         1.7 MB
    glob2-0.7                  |     pyhd3eb1b0_0          12 KB
    gmp-6.2.1                  |       h2531618_2         539 KB
    greenlet-1.1.1             |   py38h295c915_0          82 KB
    gst-plugins-base-1.14.0    |       h8213a91_2         4.9 MB
    gstreamer-1.14.0           |       h28cd5cc_2         3.2 MB
    harfbuzz-2.8.1             |       h6f93f22_0         1.1 MB
    idna-3.2                   |     pyhd3eb1b0_0          48 KB
    imageio-2.9.0              |     pyhd3eb1b0_0         3.0 MB
    imagesize-1.2.0            |     pyhd3eb1b0_0           9 KB
    importlib-metadata-3.10.0  |   py38h06a4308_0          33 KB
    importlib_metadata-3.10.0  |       hd3eb1b0_0          11 KB
    iniconfig-1.1.1            |     pyhd3eb1b0_0           8 KB
    intel-openmp-2021.3.0      |    h06a4308_3350         1.4 MB
    ipykernel-6.2.0            |   py38h06a4308_1         192 KB
    ipython-7.26.0             |   py38hb070fc8_0         994 KB
    ipython_genutils-0.2.0     |     pyhd3eb1b0_1          27 KB
    ipywidgets-7.6.3           |     pyhd3eb1b0_1         105 KB
    isort-5.9.3                |     pyhd3eb1b0_0          83 KB
    itsdangerous-2.0.1         |     pyhd3eb1b0_0          18 KB
    jedi-0.17.2                |   py38h06a4308_1         924 KB
    jeepney-0.7.1              |     pyhd3eb1b0_0          38 KB
    jinja2-3.0.1               |     pyhd3eb1b0_0         110 KB
    joblib-1.0.1               |     pyhd3eb1b0_0         208 KB
    json5-0.9.6                |     pyhd3eb1b0_0          21 KB
    jupyter_client-6.1.12      |     pyhd3eb1b0_0          88 KB
    jupyter_console-6.4.0      |     pyhd3eb1b0_0          23 KB
    jupyter_core-4.7.1         |   py38h06a4308_0          68 KB
    jupyter_server-1.4.1       |   py38h06a4308_0         317 KB
    jupyterlab-3.1.7           |     pyhd3eb1b0_0         3.6 MB
    jupyterlab_server-2.7.1    |     pyhd3eb1b0_0          44 KB
    jupyterlab_widgets-1.0.0   |     pyhd3eb1b0_1         109 KB
    keyring-23.0.1             |   py38h06a4308_0          54 KB
    kiwisolver-1.3.1           |   py38h2531618_0          80 KB
    krb5-1.19.2                |       hac12032_0         1.2 MB
    lazy-object-proxy-1.6.0    |   py38h27cfd23_0          30 KB
    lcms2-2.12                 |       h3be6417_0         312 KB
    ld_impl_linux-64-2.35.1    |       h7274673_9         586 KB
    libcurl-7.78.0             |       h0b77cf5_0         338 KB
    libedit-3.1.20210714       |       h7f8727e_0         165 KB
    libev-4.33                 |       h7b6447c_0         112 KB
    libgcc-ng-9.3.0            |      h5101ec6_17         4.8 MB
    libgfortran-ng-7.5.0       |      ha8ba4b0_17          22 KB
    libgfortran4-7.5.0         |      ha8ba4b0_17         995 KB
    libgomp-9.3.0              |      h5101ec6_17         311 KB
    libllvm9-9.0.1             |       h4a3c616_1        21.0 MB
    libnghttp2-1.41.0          |       hf8bcb03_2         667 KB
    libspatialindex-1.9.3      |       h2531618_0         2.1 MB
    libstdcxx-ng-9.3.0         |      hd4cf53a_17         3.1 MB
    libtiff-4.2.0              |       h85742a9_0         502 KB
    libuv-1.40.0               |       h7b6447c_0         736 KB
    libwebp-base-1.2.0         |       h27cfd23_0         437 KB
    libxml2-2.9.12             |       h03d6c58_0         1.2 MB
    llvmlite-0.36.0            |   py38h612dafd_4         396 KB
    locket-0.2.1               |   py38h06a4308_1          10 KB
    lxml-4.6.3                 |   py38h9120a33_0         1.3 MB
    lz4-c-1.9.3                |       h295c915_1         185 KB
    markupsafe-2.0.1           |   py38h27cfd23_0          22 KB
    matplotlib-3.4.2           |   py38h06a4308_0          26 KB
    matplotlib-base-3.4.2      |   py38hab158f2_0         5.6 MB
    matplotlib-inline-0.1.2    |     pyhd3eb1b0_2          12 KB
    mkl-2021.3.0               |     h06a4308_520       141.2 MB
    mkl-service-2.4.0          |   py38h7f8727e_0          59 KB
    mkl_fft-1.3.0              |   py38h42c9631_2         180 KB
    mkl_random-1.2.2           |   py38h51133e4_0         308 KB
    mock-4.0.3                 |     pyhd3eb1b0_0          29 KB
    more-itertools-8.8.0       |     pyhd3eb1b0_0          42 KB
    mpmath-1.2.1               |   py38h06a4308_0         766 KB
    msgpack-python-1.0.2       |   py38hff7bd54_1          83 KB
    munkres-1.1.4              |             py_0          13 KB
    mypy_extensions-0.4.3      |           py38_0           9 KB
    nbclassic-0.2.6            |     pyhd3eb1b0_0          19 KB
    nbclient-0.5.3             |     pyhd3eb1b0_0          62 KB
    nbconvert-6.1.0            |   py38h06a4308_0         481 KB
    nbformat-5.1.3             |     pyhd3eb1b0_0          44 KB
    nest-asyncio-1.5.1         |     pyhd3eb1b0_0          10 KB
    networkx-2.6.2             |     pyhd3eb1b0_0         1.3 MB
    nltk-3.6.2                 |     pyhd3eb1b0_0         988 KB
    nose-1.3.7                 |  pyhd3eb1b0_1006         128 KB
    notebook-6.4.3             |   py38h06a4308_0         4.2 MB
    numba-0.53.1               |   py38ha9443f7_0         3.3 MB
    numexpr-2.7.3              |   py38h22e1b3c_1         188 KB
    numpy-1.20.3               |   py38hf144106_0          23 KB
    numpy-base-1.20.3          |   py38h74d4b33_0         4.5 MB
    openjpeg-2.4.0             |       h3ad879b_0         331 KB
    openpyxl-3.0.7             |     pyhd3eb1b0_0         159 KB
    openssl-1.1.1l             |       h7f8727e_0         2.5 MB
    packaging-21.0             |     pyhd3eb1b0_0          36 KB
    pandas-1.3.2               |   py38h8c16a72_0         9.6 MB
    pandoc-2.12                |       h06a4308_0         9.5 MB
    partd-1.2.0                |     pyhd3eb1b0_0          19 KB
    patchelf-0.12              |       h2531618_1          88 KB
    path-16.0.0                |   py38h06a4308_0          37 KB
    pathlib2-2.3.6             |   py38h06a4308_2          36 KB
    pathspec-0.7.0             |             py_0          26 KB
    pcre-8.45                  |       h295c915_0         207 KB
    pexpect-4.8.0              |     pyhd3eb1b0_3          53 KB
    pickleshare-0.7.5          |  pyhd3eb1b0_1003          13 KB
    pillow-8.3.1               |   py38h2c7a002_0         638 KB
    pip-21.0.1                 |   py38h06a4308_0         1.8 MB
    pkginfo-1.7.1              |   py38h06a4308_0          43 KB
    pluggy-0.13.1              |   py38h06a4308_0          33 KB
    prometheus_client-0.11.0   |     pyhd3eb1b0_0          47 KB
    prompt-toolkit-3.0.17      |     pyh06a4308_0         256 KB
    prompt_toolkit-3.0.17      |       hd3eb1b0_0          12 KB
    psutil-5.8.0               |   py38h27cfd23_1         327 KB
    ptyprocess-0.7.0           |     pyhd3eb1b0_2          17 KB
    py-1.10.0                  |     pyhd3eb1b0_0          76 KB
    pycodestyle-2.6.0          |     pyhd3eb1b0_0          38 KB
    pydocstyle-6.1.1           |     pyhd3eb1b0_0          36 KB
    pyerfa-2.0.0               |   py38h27cfd23_0         345 KB
    pyflakes-2.2.0             |     pyhd3eb1b0_0          56 KB
    pygments-2.10.0            |     pyhd3eb1b0_0         725 KB
    pylint-2.9.6               |   py38h06a4308_1         488 KB
    pyls-black-0.4.6           |       hd3eb1b0_0           9 KB
    pyls-spyder-0.3.2          |     pyhd3eb1b0_0          10 KB
    pyodbc-4.0.31              |   py38h295c915_0          71 KB
    pyopenssl-20.0.1           |     pyhd3eb1b0_1          49 KB
    pyparsing-2.4.7            |     pyhd3eb1b0_0          59 KB
    pysocks-1.7.1              |   py38h06a4308_0          31 KB
    pytest-6.2.4               |   py38h06a4308_2         423 KB
    python-dateutil-2.8.2      |     pyhd3eb1b0_0         233 KB
    python-language-server-0.36.2|     pyhd3eb1b0_0          41 KB
    python-libarchive-c-2.9    |     pyhd3eb1b0_1          47 KB
    pytz-2021.1                |     pyhd3eb1b0_0         181 KB
    pyyaml-5.4.1               |   py38h27cfd23_1         174 KB
    pyzmq-22.2.1               |   py38h295c915_1         465 KB
    qtawesome-1.0.2            |     pyhd3eb1b0_0         760 KB
    qtconsole-5.1.0            |     pyhd3eb1b0_0          98 KB
    qtpy-1.10.0                |     pyhd3eb1b0_0          35 KB
    readline-8.1               |       h27cfd23_0         362 KB
    regex-2021.8.3             |   py38h7f8727e_0         319 KB
    requests-2.26.0            |     pyhd3eb1b0_0          59 KB
    rope-0.19.0                |     pyhd3eb1b0_0         126 KB
    rtree-0.9.7                |   py38h06a4308_1          48 KB
    ruamel_yaml-0.15.100       |   py38h27cfd23_0         258 KB
    scikit-image-0.18.1        |   py38ha9443f7_0         9.5 MB
    scikit-learn-0.24.2        |   py38ha9443f7_0         5.4 MB
    scipy-1.6.2                |   py38had2a1c9_1        15.6 MB
    seaborn-0.11.2             |     pyhd3eb1b0_0         218 KB
    secretstorage-3.3.1        |   py38h06a4308_0          24 KB
    send2trash-1.5.0           |     pyhd3eb1b0_1          14 KB
    setuptools-52.0.0          |   py38h06a4308_0         714 KB
    singledispatch-3.7.0       |  pyhd3eb1b0_1001          12 KB
    six-1.16.0                 |     pyhd3eb1b0_0          18 KB
    snappy-1.1.8               |       he6710b0_0          40 KB
    sniffio-1.2.0              |   py38h06a4308_1          15 KB
    snowballstemmer-2.1.0      |     pyhd3eb1b0_0          62 KB
    sortedcollections-2.1.0    |     pyhd3eb1b0_0          12 KB
    sortedcontainers-2.4.0     |     pyhd3eb1b0_0          26 KB
    soupsieve-2.2.1            |     pyhd3eb1b0_0          32 KB
    sphinx-4.0.2               |     pyhd3eb1b0_0         1.2 MB
    sphinxcontrib-applehelp-1.0.2|     pyhd3eb1b0_0          29 KB
    sphinxcontrib-devhelp-1.0.2|     pyhd3eb1b0_0          23 KB
    sphinxcontrib-htmlhelp-2.0.0|     pyhd3eb1b0_0          32 KB
    sphinxcontrib-jsmath-1.0.1 |     pyhd3eb1b0_0           8 KB
    sphinxcontrib-qthelp-1.0.3 |     pyhd3eb1b0_0          26 KB
    sphinxcontrib-serializinghtml-1.1.5|     pyhd3eb1b0_0          25 KB
    spyder-4.2.5               |   py38h06a4308_0         5.4 MB
    spyder-kernels-1.10.2      |   py38h06a4308_0         102 KB
    sqlalchemy-1.4.22          |   py38h7f8727e_0         1.8 MB
    sqlite-3.36.0              |       hc218d9a_0         990 KB
    statsmodels-0.12.2         |   py38h27cfd23_0         8.5 MB
    sympy-1.8                  |   py38h06a4308_0         9.1 MB
    terminado-0.9.4            |   py38h06a4308_0          25 KB
    testpath-0.5.0             |     pyhd3eb1b0_0          81 KB
    textdistance-4.2.1         |     pyhd3eb1b0_0          29 KB
    threadpoolctl-2.2.0        |     pyhbf3da8f_0          16 KB
    three-merge-0.1.1          |     pyhd3eb1b0_0          10 KB
    toml-0.10.2                |     pyhd3eb1b0_0          20 KB
    toolz-0.11.1               |     pyhd3eb1b0_0          46 KB
    tornado-6.1                |   py38h27cfd23_0         588 KB
    tqdm-4.62.1                |     pyhd3eb1b0_1          84 KB
    traitlets-5.0.5            |     pyhd3eb1b0_0          81 KB
    typed-ast-1.4.3            |   py38h7f8727e_1         185 KB
    typing_extensions-3.10.0.0 |     pyh06a4308_0          27 KB
    ujson-4.0.2                |   py38h2531618_0          45 KB
    urllib3-1.26.6             |     pyhd3eb1b0_1         112 KB
    watchdog-1.0.2             |   py38h06a4308_1          89 KB
    werkzeug-1.0.1             |     pyhd3eb1b0_0         239 KB
    wheel-0.37.0               |     pyhd3eb1b0_0          32 KB
    wrapt-1.12.1               |   py38h7b6447c_1          50 KB
    wurlitzer-2.1.1            |   py38h06a4308_0          13 KB
    xlrd-2.0.1                 |     pyhd3eb1b0_0          90 KB
    xlsxwriter-3.0.1           |     pyhd3eb1b0_0         111 KB
    yapf-0.31.0                |     pyhd3eb1b0_0         126 KB
    zeromq-4.3.4               |       h2531618_0         331 KB
    zict-2.0.0                 |     pyhd3eb1b0_0          10 KB
    zipp-3.5.0                 |     pyhd3eb1b0_0          13 KB
    zope.interface-5.4.0       |   py38h7f8727e_0         301 KB
    zstd-1.4.9                 |       haebb681_0         480 KB
    ------------------------------------------------------------
                                           Total:       352.0 MB

The following NEW packages will be INSTALLED:

  _anaconda_depends  pkgs/main/linux-64::_anaconda_depends-2020.07-py38_0
  _openmp_mutex      pkgs/main/linux-64::_openmp_mutex-4.5-1_gnu
  anyio              pkgs/main/linux-64::anyio-2.2.0-py38h06a4308_1
  appdirs            pkgs/main/noarch::appdirs-1.4.4-py_0
  black              pkgs/main/noarch::black-19.10b0-py_0
  brotli             pkgs/main/linux-64::brotli-1.0.9-he6710b0_2
  c-ares             pkgs/main/linux-64::c-ares-1.17.1-h27cfd23_0
  charset-normalizer pkgs/main/noarch::charset-normalizer-2.0.4-pyhd3eb1b0_0
  conda-pack         pkgs/main/noarch::conda-pack-0.6.0-pyhd3eb1b0_0
  debugpy            pkgs/main/linux-64::debugpy-1.4.1-py38h295c915_0
  fonttools          pkgs/main/noarch::fonttools-4.25.0-pyhd3eb1b0_0
  jupyter_server     pkgs/main/linux-64::jupyter_server-1.4.1-py38h06a4308_0
  jupyterlab_widgets pkgs/main/noarch::jupyterlab_widgets-1.0.0-pyhd3eb1b0_1
  libev              pkgs/main/linux-64::libev-4.33-h7b6447c_0
  libgfortran4       pkgs/main/linux-64::libgfortran4-7.5.0-ha8ba4b0_17
  libgomp            pkgs/main/linux-64::libgomp-9.3.0-h5101ec6_17
  libllvm9           pkgs/main/linux-64::libllvm9-9.0.1-h4a3c616_1
  libnghttp2         pkgs/main/linux-64::libnghttp2-1.41.0-hf8bcb03_2
  libuv              pkgs/main/linux-64::libuv-1.40.0-h7b6447c_0
  libwebp-base       pkgs/main/linux-64::libwebp-base-1.2.0-h27cfd23_0
  matplotlib-inline  pkgs/main/noarch::matplotlib-inline-0.1.2-pyhd3eb1b0_2
  munkres            pkgs/main/noarch::munkres-1.1.4-py_0
  mypy_extensions    pkgs/main/linux-64::mypy_extensions-0.4.3-py38_0
  nbclassic          pkgs/main/noarch::nbclassic-0.2.6-pyhd3eb1b0_0
  openjpeg           pkgs/main/linux-64::openjpeg-2.4.0-h3ad879b_0
  pathspec           pkgs/main/noarch::pathspec-0.7.0-py_0
  pyerfa             pkgs/main/linux-64::pyerfa-2.0.0-py38h27cfd23_0
  pyls-black         pkgs/main/noarch::pyls-black-0.4.6-hd3eb1b0_0
  pyls-spyder        pkgs/main/noarch::pyls-spyder-0.3.2-pyhd3eb1b0_0
  snappy             pkgs/main/linux-64::snappy-1.1.8-he6710b0_0
  sniffio            pkgs/main/linux-64::sniffio-1.2.0-py38h06a4308_1
  textdistance       pkgs/main/noarch::textdistance-4.2.1-pyhd3eb1b0_0
  three-merge        pkgs/main/noarch::three-merge-0.1.1-pyhd3eb1b0_0
  typed-ast          pkgs/main/linux-64::typed-ast-1.4.3-py38h7f8727e_1

The following packages will be UPDATED:

  anaconda-client                              1.7.2-py38_0 --> 1.8.0-py38h06a4308_0
  anaconda-project                               0.8.4-py_0 --> 0.10.1-pyhd3eb1b0_0
  astroid                                      2.4.2-py38_0 --> 2.6.6-py38h06a4308_0
  astropy                              4.0.2-py38h7b6447c_0 --> 4.3.1-py38h09021b7_0
  attrs                                 20.3.0-pyhd3eb1b0_0 --> 21.2.0-pyhd3eb1b0_0
  babel                                  2.8.1-pyhd3eb1b0_0 --> 2.9.1-pyhd3eb1b0_0
  backports.shutil_~ pkgs/main/linux-64::backports.shutil_~ --> pkgs/main/noarch::backports.shutil_get_terminal_size-1.0.0-pyhd3eb1b0_3
  bitarray                             1.6.1-py38h27cfd23_0 --> 2.3.0-py38h7f8727e_1
  bleach                                         3.2.1-py_0 --> 4.0.0-pyhd3eb1b0_0
  blosc                                   1.20.1-hd408876_0 --> 1.21.0-h8c45485_0
  bokeh                                        2.2.3-py38_0 --> 2.3.3-py38h06a4308_0
  brotlipy                          0.7.0-py38h7b6447c_1000 --> 0.7.0-py38h27cfd23_1003
  ca-certificates                              2020.10.14-0 --> 2021.7.5-h06a4308_1
  cairo                                  1.14.12-h8948797_3 --> 1.16.0-hf32fb01_1
  certifi            pkgs/main/noarch::certifi-2020.6.20-p~ --> pkgs/main/linux-64::certifi-2021.5.30-py38h06a4308_0
  cffi                                1.14.3-py38he30daa8_0 --> 1.14.6-py38h400218f_0
  chardet                                   3.0.4-py38_1003 --> 4.0.0-py38h06a4308_1003
  click                                          7.1.2-py_0 --> 8.0.1-pyhd3eb1b0_0
  cryptography                         3.1.1-py38h1ba5d50_0 --> 3.4.7-py38hd23ed53_0
  curl                                    7.71.1-hbc83047_1 --> 7.78.0-h1ccaba5_0
  cython                             0.29.21-py38he6710b0_0 --> 0.29.24-py38h295c915_0
  dask                                          2.30.0-py_0 --> 2021.8.1-pyhd3eb1b0_0
  dask-core                                     2.30.0-py_0 --> 2021.8.1-pyhd3eb1b0_0
  decorator                                      4.4.2-py_0 --> 5.0.9-pyhd3eb1b0_0
  defusedxml                                     0.6.0-py_0 --> 0.7.1-pyhd3eb1b0_0
  distributed                         2.30.1-py38h06a4308_0 --> 2021.8.1-py38h06a4308_0
  docutils                                      0.16-py38_1 --> 0.17.1-py38h06a4308_1
  et_xmlfile         pkgs/main/noarch::et_xmlfile-1.0.1-py~ --> pkgs/main/linux-64::et_xmlfile-1.1.0-py38h06a4308_0
  expat                                   2.2.10-he6710b0_2 --> 2.4.1-h2531618_2
  filelock                                      3.0.12-py_0 --> 3.0.12-pyhd3eb1b0_1
  fontconfig                              2.13.0-h9420a91_0 --> 2.13.1-h6c09931_0
  fsspec                                         0.8.3-py_0 --> 2021.7.0-pyhd3eb1b0_0
  gevent                              20.9.0-py38h7b6447c_0 --> 21.8.0-py38h7f8727e_1
  glib                                    2.66.1-h92f7085_0 --> 2.69.1-h5202010_0
  gmp                                      6.1.2-h6c8ec71_1 --> 6.2.1-h2531618_2
  greenlet                            0.4.17-py38h7b6447c_0 --> 1.1.1-py38h295c915_0
  gst-plugins-base                        1.14.0-hbbd80ab_1 --> 1.14.0-h8213a91_2
  gstreamer                               1.14.0-hb31296c_0 --> 1.14.0-h28cd5cc_2
  harfbuzz                                 2.4.0-hca77d97_1 --> 2.8.1-h6f93f22_0
  idna                                            2.10-py_0 --> 3.2-pyhd3eb1b0_0
  importlib-metadata pkgs/main/noarch::importlib-metadata-~ --> pkgs/main/linux-64::importlib-metadata-3.10.0-py38h06a4308_0
  importlib_metadata                                2.0.0-1 --> 3.10.0-hd3eb1b0_0
  intel-openmp                                   2020.2-254 --> 2021.3.0-h06a4308_3350
  ipykernel                            5.3.4-py38h5ca1d4c_0 --> 6.2.0-py38h06a4308_1
  ipython                             7.19.0-py38hb070fc8_0 --> 7.26.0-py38hb070fc8_0
  ipython_genutils   pkgs/main/linux-64::ipython_genutils-~ --> pkgs/main/noarch::ipython_genutils-0.2.0-pyhd3eb1b0_1
  ipywidgets                                     7.5.1-py_1 --> 7.6.3-pyhd3eb1b0_1
  isort                                          5.6.4-py_0 --> 5.9.3-pyhd3eb1b0_0
  itsdangerous                                   1.1.0-py_0 --> 2.0.1-pyhd3eb1b0_0
  jedi                                        0.17.1-py38_0 --> 0.17.2-py38h06a4308_1
  jeepney                                0.5.0-pyhd3eb1b0_0 --> 0.7.1-pyhd3eb1b0_0
  jinja2                                        2.11.2-py_0 --> 3.0.1-pyhd3eb1b0_0
  joblib                                        0.17.0-py_0 --> 1.0.1-pyhd3eb1b0_0
  json5                                          0.9.5-py_0 --> 0.9.6-pyhd3eb1b0_0
  jupyter_client                                 6.1.7-py_0 --> 6.1.12-pyhd3eb1b0_0
  jupyter_console                                6.2.0-py_0 --> 6.4.0-pyhd3eb1b0_0
  jupyter_core                                 4.6.3-py38_0 --> 4.7.1-py38h06a4308_0
  jupyterlab                                     2.2.6-py_0 --> 3.1.7-pyhd3eb1b0_0
  jupyterlab_server                              1.2.0-py_0 --> 2.7.1-pyhd3eb1b0_0
  keyring                                     21.4.0-py38_1 --> 23.0.1-py38h06a4308_0
  kiwisolver                           1.3.0-py38h2531618_0 --> 1.3.1-py38h2531618_0
  krb5                                    1.18.2-h173b8e3_0 --> 1.19.2-hac12032_0
  lazy-object-proxy                    1.4.3-py38h7b6447c_0 --> 1.6.0-py38h27cfd23_0
  lcms2                                     2.11-h396b838_0 --> 2.12-h3be6417_0
  ld_impl_linux-64                        2.33.1-h53a641e_7 --> 2.35.1-h7274673_9
  libcurl                                 7.71.1-h20c2e04_1 --> 7.78.0-h0b77cf5_0
  libedit                           3.1.20191231-h14c3975_1 --> 3.1.20210714-h7f8727e_0
  libgcc-ng                                9.1.0-hdf63c60_0 --> 9.3.0-h5101ec6_17
  libgfortran-ng                           7.3.0-hdf63c60_0 --> 7.5.0-ha8ba4b0_17
  libstdcxx-ng                             9.1.0-hdf63c60_0 --> 9.3.0-hd4cf53a_17
  libtiff                                  4.1.0-h2733197_1 --> 4.2.0-h85742a9_0
  libxml2                                 2.9.10-hb55368b_3 --> 2.9.12-h03d6c58_0
  llvmlite                            0.34.0-py38h269e1b5_4 --> 0.36.0-py38h612dafd_4
  locket                                       0.2.0-py38_1 --> 0.2.1-py38h06a4308_1
  lxml                                 4.6.1-py38hefd8a0e_0 --> 4.6.3-py38h9120a33_0
  lz4-c                                    1.9.2-heb0550a_3 --> 1.9.3-h295c915_1
  markupsafe                           1.1.1-py38h7b6447c_0 --> 2.0.1-py38h27cfd23_0
  matplotlib                                        3.3.2-0 --> 3.4.2-py38h06a4308_0
  matplotlib-base                      3.3.2-py38h817c723_0 --> 3.4.2-py38hab158f2_0
  mkl                                            2020.2-256 --> 2021.3.0-h06a4308_520
  mkl-service                          2.3.0-py38he904b0f_0 --> 2.4.0-py38h7f8727e_0
  mkl_fft                              1.2.0-py38h23d657b_0 --> 1.3.0-py38h42c9631_2
  mkl_random                           1.1.1-py38h0573a6f_0 --> 1.2.2-py38h51133e4_0
  mock                                           4.0.2-py_0 --> 4.0.3-pyhd3eb1b0_0
  more-itertools                         8.6.0-pyhd3eb1b0_0 --> 8.8.0-pyhd3eb1b0_0
  mpmath                                       1.1.0-py38_0 --> 1.2.1-py38h06a4308_0
  msgpack-python                       1.0.0-py38hfd86e86_1 --> 1.0.2-py38hff7bd54_1
  nbclient                                       0.5.1-py_0 --> 0.5.3-pyhd3eb1b0_0
  nbconvert                                    6.0.7-py38_0 --> 6.1.0-py38h06a4308_0
  nbformat                                       5.0.8-py_0 --> 5.1.3-pyhd3eb1b0_0
  nest-asyncio                           1.4.2-pyhd3eb1b0_0 --> 1.5.1-pyhd3eb1b0_0
  networkx                                         2.5-py_0 --> 2.6.2-pyhd3eb1b0_0
  nltk                                             3.5-py_0 --> 3.6.2-pyhd3eb1b0_0
  nose                pkgs/main/linux-64::nose-1.3.7-py38_2 --> pkgs/main/noarch::nose-1.3.7-pyhd3eb1b0_1006
  notebook                                     6.1.4-py38_0 --> 6.4.3-py38h06a4308_0
  numba                               0.51.2-py38h0573a6f_1 --> 0.53.1-py38ha9443f7_0
  numexpr                              2.7.1-py38h423224d_0 --> 2.7.3-py38h22e1b3c_1
  numpy                               1.19.2-py38h54aff64_0 --> 1.20.3-py38hf144106_0
  numpy-base                          1.19.2-py38hfa32c7d_0 --> 1.20.3-py38h74d4b33_0
  openpyxl                                       3.0.5-py_0 --> 3.0.7-pyhd3eb1b0_0
  openssl                                 1.1.1h-h7b6447c_0 --> 1.1.1l-h7f8727e_0
  packaging                                       20.4-py_0 --> 21.0-pyhd3eb1b0_0
  pandas                               1.1.3-py38he6710b0_0 --> 1.3.2-py38h8c16a72_0
  pandoc                                    2.11-hb0f4dca_0 --> 2.12-h06a4308_0
  partd                                          1.1.0-py_0 --> 1.2.0-pyhd3eb1b0_0
  patchelf                                  0.12-he6710b0_0 --> 0.12-h2531618_1
  path                                        15.0.0-py38_0 --> 16.0.0-py38h06a4308_0
  pathlib2                                     2.3.5-py38_0 --> 2.3.6-py38h06a4308_2
  pcre                                      8.44-he6710b0_0 --> 8.45-h295c915_0
  pexpect            pkgs/main/linux-64::pexpect-4.8.0-py3~ --> pkgs/main/noarch::pexpect-4.8.0-pyhd3eb1b0_3
  pickleshare        pkgs/main/linux-64::pickleshare-0.7.5~ --> pkgs/main/noarch::pickleshare-0.7.5-pyhd3eb1b0_1003
  pillow                               8.0.1-py38he98fc37_0 --> 8.3.1-py38h2c7a002_0
  pip                                 20.2.4-py38h06a4308_0 --> 21.0.1-py38h06a4308_0
  pkginfo                              1.6.1-py38h06a4308_0 --> 1.7.1-py38h06a4308_0
  prometheus_client                              0.8.0-py_0 --> 0.11.0-pyhd3eb1b0_0
  prompt-toolkit                                 3.0.8-py_0 --> 3.0.17-pyh06a4308_0
  prompt_toolkit                                    3.0.8-0 --> 3.0.17-hd3eb1b0_0
  psutil                               5.7.2-py38h7b6447c_0 --> 5.8.0-py38h27cfd23_1
  ptyprocess         pkgs/main/linux-64::ptyprocess-0.6.0-~ --> pkgs/main/noarch::ptyprocess-0.7.0-pyhd3eb1b0_2
  py                                             1.9.0-py_0 --> 1.10.0-pyhd3eb1b0_0
  pydocstyle                                     5.1.1-py_0 --> 6.1.1-pyhd3eb1b0_0
  pygments                               2.7.2-pyhd3eb1b0_0 --> 2.10.0-pyhd3eb1b0_0
  pylint                                       2.6.0-py38_0 --> 2.9.6-py38h06a4308_1
  pyodbc                              4.0.30-py38he6710b0_0 --> 4.0.31-py38h295c915_0
  pyopenssl                                     19.1.0-py_1 --> 20.0.1-pyhd3eb1b0_1
  pytest                                       6.1.1-py38_0 --> 6.2.4-py38h06a4308_2
  python-dateutil                                2.8.1-py_0 --> 2.8.2-pyhd3eb1b0_0
  python-language-s~                            0.35.1-py_0 --> 0.36.2-pyhd3eb1b0_0
  python-libarchive~                               2.9-py_0 --> 2.9-pyhd3eb1b0_1
  pytz                                          2020.1-py_0 --> 2021.1-pyhd3eb1b0_0
  pyyaml                               5.3.1-py38h7b6447c_1 --> 5.4.1-py38h27cfd23_1
  pyzmq                               19.0.2-py38he6710b0_1 --> 22.2.1-py38h295c915_1
  qtawesome                                      1.0.1-py_0 --> 1.0.2-pyhd3eb1b0_0
  qtconsole                                      4.7.7-py_0 --> 5.1.0-pyhd3eb1b0_0
  qtpy                                           1.9.0-py_0 --> 1.10.0-pyhd3eb1b0_0
  readline                                   8.0-h7b6447c_0 --> 8.1-h27cfd23_0
  regex                           2020.10.15-py38h7b6447c_0 --> 2021.8.3-py38h7f8727e_0
  requests                                      2.24.0-py_0 --> 2.26.0-pyhd3eb1b0_0
  rope                                          0.18.0-py_0 --> 0.19.0-pyhd3eb1b0_0
  rtree                                        0.9.4-py38_1 --> 0.9.7-py38h06a4308_1
  ruamel_yaml                        0.15.87-py38h7b6447c_1 --> 0.15.100-py38h27cfd23_0
  scikit-image                        0.17.2-py38hdf5156a_0 --> 0.18.1-py38ha9443f7_0
  scikit-learn                        0.23.2-py38h0573a6f_0 --> 0.24.2-py38ha9443f7_0
  scipy                                1.5.2-py38h0b6359f_0 --> 1.6.2-py38had2a1c9_1
  seaborn                                       0.11.0-py_0 --> 0.11.2-pyhd3eb1b0_0
  secretstorage                                3.1.2-py38_0 --> 3.3.1-py38h06a4308_0
  send2trash         pkgs/main/linux-64::send2trash-1.5.0-~ --> pkgs/main/noarch::send2trash-1.5.0-pyhd3eb1b0_1
  setuptools                          50.3.1-py38h06a4308_1 --> 52.0.0-py38h06a4308_0
  singledispatch                            3.4.0.3-py_1001 --> 3.7.0-pyhd3eb1b0_1001
  six                pkgs/main/linux-64::six-1.15.0-py38h0~ --> pkgs/main/noarch::six-1.16.0-pyhd3eb1b0_0
  snowballstemmer                                2.0.0-py_0 --> 2.1.0-pyhd3eb1b0_0
  sortedcollections                              1.2.1-py_0 --> 2.1.0-pyhd3eb1b0_0
  sortedcontainers                               2.2.2-py_0 --> 2.4.0-pyhd3eb1b0_0
  soupsieve                                      2.0.1-py_0 --> 2.2.1-pyhd3eb1b0_0
  sphinx                                         3.2.1-py_0 --> 4.0.2-pyhd3eb1b0_0
  sphinxcontrib-htm~                             1.0.3-py_0 --> 2.0.0-pyhd3eb1b0_0
  sphinxcontrib-ser~                             1.1.4-py_0 --> 1.1.5-pyhd3eb1b0_0
  spyder                                       4.1.5-py38_0 --> 4.2.5-py38h06a4308_0
  spyder-kernels                               1.9.4-py38_0 --> 1.10.2-py38h06a4308_0
  sqlalchemy                          1.3.20-py38h7b6447c_0 --> 1.4.22-py38h7f8727e_0
  sqlite                                  3.33.0-h62c20be_0 --> 3.36.0-hc218d9a_0
  statsmodels                         0.12.0-py38h7b6447c_0 --> 0.12.2-py38h27cfd23_0
  sympy                                1.6.2-py38h06a4308_1 --> 1.8-py38h06a4308_0
  terminado                                    0.9.1-py38_0 --> 0.9.4-py38h06a4308_0
  testpath                                       0.4.4-py_0 --> 0.5.0-pyhd3eb1b0_0
  threadpoolctl                          2.1.0-pyh5ca1d4c_0 --> 2.2.0-pyhbf3da8f_0
  toml                                          0.10.1-py_0 --> 0.10.2-pyhd3eb1b0_0
  tornado                              6.0.4-py38h7b6447c_1 --> 6.1-py38h27cfd23_0
  tqdm                                          4.50.2-py_0 --> 4.62.1-pyhd3eb1b0_1
  typing_extensions                            3.7.4.3-py_0 --> 3.10.0.0-pyh06a4308_0
  ujson                                4.0.1-py38he6710b0_0 --> 4.0.2-py38h2531618_0
  urllib3                                      1.25.11-py_0 --> 1.26.6-pyhd3eb1b0_1
  watchdog                                    0.10.3-py38_0 --> 1.0.2-py38h06a4308_1
  wheel                                         0.35.1-py_0 --> 0.37.0-pyhd3eb1b0_0
  wrapt                               1.11.2-py38h7b6447c_0 --> 1.12.1-py38h7b6447c_1
  wurlitzer                                    2.0.1-py38_0 --> 2.1.1-py38h06a4308_0
  xlrd                                           1.2.0-py_0 --> 2.0.1-pyhd3eb1b0_0
  xlsxwriter                                     1.3.7-py_0 --> 3.0.1-pyhd3eb1b0_0
  yapf                                          0.30.0-py_0 --> 0.31.0-pyhd3eb1b0_0
  zeromq                                   4.3.3-he6710b0_3 --> 4.3.4-h2531618_0
  zipp                                   3.4.0-pyhd3eb1b0_0 --> 3.5.0-pyhd3eb1b0_0
  zope.interface                       5.1.2-py38h7b6447c_0 --> 5.4.0-py38h7f8727e_0
  zstd                                     1.4.5-h9ceee32_0 --> 1.4.9-haebb681_0

The following packages will be DOWNGRADED:

  alabaster                                     0.7.12-py_0 --> 0.7.12-pyhd3eb1b0_0
  anaconda                                   2020.11-py38_0 --> custom-py38_1
  argon2-cffi                         20.1.0-py38h7b6447c_1 --> 20.1.0-py38h27cfd23_1
  async_generator                                 1.10-py_0 --> 1.10-pyhd3eb1b0_0
  backcall                                       0.2.0-py_0 --> 0.2.0-pyhd3eb1b0_0
  backports                                        1.0-py_2 --> 1.0-pyhd3eb1b0_2
  beautifulsoup4                         4.9.3-pyhb0f4dca_0 --> 4.9.3-pyha847dfd_0
  colorama                                       0.4.4-py_0 --> 0.4.4-pyhd3eb1b0_0
  flask                                          1.1.2-py_0 --> 1.1.2-pyhd3eb1b0_0
  glob2                                            0.7-py_0 --> 0.7-pyhd3eb1b0_0
  imageio                                        2.9.0-py_0 --> 2.9.0-pyhd3eb1b0_0
  imagesize                                      1.2.0-py_0 --> 1.2.0-pyhd3eb1b0_0
  iniconfig                                      1.1.1-py_0 --> 1.1.1-pyhd3eb1b0_0
  libspatialindex                          1.9.3-he6710b0_0 --> 1.9.3-h2531618_0
  pluggy                                      0.13.1-py38_0 --> 0.13.1-py38h06a4308_0
  pycodestyle                                    2.6.0-py_0 --> 2.6.0-pyhd3eb1b0_0
  pyflakes                                       2.2.0-py_0 --> 2.2.0-pyhd3eb1b0_0
  pyparsing                                      2.4.7-py_0 --> 2.4.7-pyhd3eb1b0_0
  pysocks                                      1.7.1-py38_0 --> 1.7.1-py38h06a4308_0
  sphinxcontrib-app~                             1.0.2-py_0 --> 1.0.2-pyhd3eb1b0_0
  sphinxcontrib-dev~                             1.0.2-py_0 --> 1.0.2-pyhd3eb1b0_0
  sphinxcontrib-jsm~                             1.0.1-py_0 --> 1.0.1-pyhd3eb1b0_0
  sphinxcontrib-qth~                             1.0.3-py_0 --> 1.0.3-pyhd3eb1b0_0
  toolz                                         0.11.1-py_0 --> 0.11.1-pyhd3eb1b0_0
  traitlets                                      5.0.5-py_0 --> 5.0.5-pyhd3eb1b0_0
  werkzeug                                       1.0.1-py_0 --> 1.0.1-pyhd3eb1b0_0
  zict                                           2.0.0-py_0 --> 2.0.0-pyhd3eb1b0_0


Proceed ([y]/n)? y


Downloading and Extracting Packages
anyio-2.2.0          | 125 KB    | ##################################### | 100% 
rtree-0.9.7          | 48 KB     | ##################################### | 100% 
libev-4.33           | 112 KB    | ##################################### | 100% 
libgomp-9.3.0        | 311 KB    | ##################################### | 100% 
iniconfig-1.1.1      | 8 KB      | ##################################### | 100% 
typing_extensions-3. | 27 KB     | ##################################### | 100% 
pathspec-0.7.0       | 26 KB     | ##################################### | 100% 
sphinxcontrib-devhel | 23 KB     | ##################################### | 100% 
soupsieve-2.2.1      | 32 KB     | ##################################### | 100% 
setuptools-52.0.0    | 714 KB    | ##################################### | 100% 
readline-8.1         | 362 KB    | ##################################### | 100% 
astropy-4.3.1        | 6.4 MB    | ##################################### | 100% 
jedi-0.17.2          | 924 KB    | ##################################### | 100% 
argon2-cffi-20.1.0   | 46 KB     | ##################################### | 100% 
brotli-1.0.9         | 375 KB    | ##################################### | 100% 
openpyxl-3.0.7       | 159 KB    | ##################################### | 100% 
python-language-serv | 41 KB     | ##################################### | 100% 
zstd-1.4.9           | 480 KB    | ##################################### | 100% 
pathlib2-2.3.6       | 36 KB     | ##################################### | 100% 
numba-0.53.1         | 3.3 MB    | ##################################### | 100% 
secretstorage-3.3.1  | 24 KB     | ##################################### | 100% 
sphinxcontrib-htmlhe | 32 KB     | ##################################### | 100% 
libgfortran-ng-7.5.0 | 22 KB     | ##################################### | 100% 
wurlitzer-2.1.1      | 13 KB     | ##################################### | 100% 
_openmp_mutex-4.5    | 22 KB     | ##################################### | 100% 
docutils-0.17.1      | 686 KB    | ##################################### | 100% 
pytz-2021.1          | 181 KB    | ##################################### | 100% 
pcre-8.45            | 207 KB    | ##################################### | 100% 
tornado-6.1          | 588 KB    | ##################################### | 100% 
networkx-2.6.2       | 1.3 MB    | ##################################### | 100% 
isort-5.9.3          | 83 KB     | ##################################### | 100% 
regex-2021.8.3       | 319 KB    | ##################################### | 100% 
six-1.16.0           | 18 KB     | ##################################### | 100% 
pyopenssl-20.0.1     | 49 KB     | ##################################### | 100% 
idna-3.2             | 48 KB     | ##################################### | 100% 
libspatialindex-1.9. | 2.1 MB    | ##################################### | 100% 
ujson-4.0.2          | 45 KB     | ##################################### | 100% 
pluggy-0.13.1        | 33 KB     | ##################################### | 100% 
yapf-0.31.0          | 126 KB    | ##################################### | 100% 
prompt-toolkit-3.0.1 | 256 KB    | ##################################### | 100% 
scikit-learn-0.24.2  | 5.4 MB    | ##################################### | 100% 
python-libarchive-c- | 47 KB     | ##################################### | 100% 
appdirs-1.4.4        | 13 KB     | ##################################### | 100% 
werkzeug-1.0.1       | 239 KB    | ##################################### | 100% 
gevent-21.8.0        | 1.5 MB    | ##################################### | 100% 
nbclassic-0.2.6      | 19 KB     | ##################################### | 100% 
terminado-0.9.4      | 25 KB     | ##################################### | 100% 
lxml-4.6.3           | 1.3 MB    | ##################################### | 100% 
pyls-spyder-0.3.2    | 10 KB     | ##################################### | 100% 
urllib3-1.26.6       | 112 KB    | ##################################### | 100% 
sphinxcontrib-qthelp | 26 KB     | ##################################### | 100% 
cffi-1.14.6          | 224 KB    | ##################################### | 100% 
keyring-23.0.1       | 54 KB     | ##################################### | 100% 
libedit-3.1.20210714 | 165 KB    | ##################################### | 100% 
colorama-0.4.4       | 21 KB     | ##################################### | 100% 
cryptography-3.4.7   | 913 KB    | ##################################### | 100% 
msgpack-python-1.0.2 | 83 KB     | ##################################### | 100% 
jupyterlab_widgets-1 | 109 KB    | ##################################### | 100% 
anaconda-project-0.1 | 218 KB    | ##################################### | 100% 
pyparsing-2.4.7      | 59 KB     | ##################################### | 100% 
watchdog-1.0.2       | 89 KB     | ##################################### | 100% 
importlib_metadata-3 | 11 KB     | ##################################### | 100% 
prompt_toolkit-3.0.1 | 12 KB     | ##################################### | 100% 
qtconsole-5.1.0      | 98 KB     | ##################################### | 100% 
ipykernel-6.2.0      | 192 KB    | ##################################### | 100% 
fontconfig-2.13.1    | 250 KB    | ##################################### | 100% 
path-16.0.0          | 37 KB     | ##################################### | 100% 
pydocstyle-6.1.1     | 36 KB     | ##################################### | 100% 
libllvm9-9.0.1       | 21.0 MB   | ##################################### | 100% 
mkl_fft-1.3.0        | 180 KB    | ##################################### | 100% 
expat-2.4.1          | 168 KB    | ##################################### | 100% 
bokeh-2.3.3          | 5.9 MB    | ##################################### | 100% 
mkl-service-2.4.0    | 59 KB     | ##################################### | 100% 
babel-2.9.1          | 5.5 MB    | ##################################### | 100% 
psutil-5.8.0         | 327 KB    | ##################################### | 100% 
markupsafe-2.0.1     | 22 KB     | ##################################### | 100% 
tqdm-4.62.1          | 84 KB     | ##################################### | 100% 
pexpect-4.8.0        | 53 KB     | ##################################### | 100% 
jupyter_server-1.4.1 | 317 KB    | ##################################### | 100% 
pkginfo-1.7.1        | 43 KB     | ##################################### | 100% 
krb5-1.19.2          | 1.2 MB    | ##################################### | 100% 
more-itertools-8.8.0 | 42 KB     | ##################################### | 100% 
spyder-kernels-1.10. | 102 KB    | ##################################### | 100% 
chardet-4.0.0        | 194 KB    | ##################################### | 100% 
curl-7.78.0          | 94 KB     | ##################################### | 100% 
kiwisolver-1.3.1     | 80 KB     | ##################################### | 100% 
pyerfa-2.0.0         | 345 KB    | ##################################### | 100% 
cairo-1.16.0         | 1.0 MB    | ##################################### | 100% 
greenlet-1.1.1       | 82 KB     | ##################################### | 100% 
patchelf-0.12        | 88 KB     | ##################################### | 100% 
munkres-1.1.4        | 13 KB     | ##################################### | 100% 
nltk-3.6.2           | 988 KB    | ##################################### | 100% 
glob2-0.7            | 12 KB     | ##################################### | 100% 
anaconda-custom      | 35 KB     | ##################################### | 100% 
numexpr-2.7.3        | 188 KB    | ##################################### | 100% 
numpy-1.20.3         | 23 KB     | ##################################### | 100% 
libtiff-4.2.0        | 502 KB    | ##################################### | 100% 
imagesize-1.2.0      | 9 KB      | ##################################### | 100% 
_anaconda_depends-20 | 6 KB      | ##################################### | 100% 
typed-ast-1.4.3      | 185 KB    | ##################################### | 100% 
libnghttp2-1.41.0    | 667 KB    | ##################################### | 100% 
ruamel_yaml-0.15.100 | 258 KB    | ##################################### | 100% 
decorator-5.0.9      | 12 KB     | ##################################### | 100% 
backcall-0.2.0       | 13 KB     | ##################################### | 100% 
sniffio-1.2.0        | 15 KB     | ##################################### | 100% 
qtawesome-1.0.2      | 760 KB    | ##################################### | 100% 
sphinx-4.0.2         | 1.2 MB    | ##################################### | 100% 
libuv-1.40.0         | 736 KB    | ##################################### | 100% 
openssl-1.1.1l       | 2.5 MB    | ##################################### | 100% 
ipython_genutils-0.2 | 27 KB     | ##################################### | 100% 
lcms2-2.12           | 312 KB    | ##################################### | 100% 
pyls-black-0.4.6     | 9 KB      | ##################################### | 100% 
bleach-4.0.0         | 113 KB    | ##################################### | 100% 
pandas-1.3.2         | 9.6 MB    | ##################################### | 100% 
jupyterlab_server-2. | 44 KB     | ##################################### | 100% 
imageio-2.9.0        | 3.0 MB    | ##################################### | 100% 
pyodbc-4.0.31        | 71 KB     | ##################################### | 100% 
charset-normalizer-2 | 35 KB     | ##################################### | 100% 
gmp-6.2.1            | 539 KB    | ##################################### | 100% 
requests-2.26.0      | 59 KB     | ##################################### | 100% 
wheel-0.37.0         | 32 KB     | ##################################### | 100% 
async_generator-1.10 | 23 KB     | ##################################### | 100% 
wrapt-1.12.1         | 50 KB     | ##################################### | 100% 
bitarray-2.3.0       | 139 KB    | ##################################### | 100% 
anaconda-client-1.8. | 152 KB    | ##################################### | 100% 
jupyterlab-3.1.7     | 3.6 MB    | ##################################### | 100% 
c-ares-1.17.1        | 108 KB    | ##################################### | 100% 
gst-plugins-base-1.1 | 4.9 MB    | ##################################### | 100% 
lazy-object-proxy-1. | 30 KB     | ##################################### | 100% 
packaging-21.0       | 36 KB     | ##################################### | 100% 
gstreamer-1.14.0     | 3.2 MB    | ##################################### | 100% 
scikit-image-0.18.1  | 9.5 MB    | ##################################### | 100% 
mypy_extensions-0.4. | 9 KB      | ##################################### | 100% 
itsdangerous-2.0.1   | 18 KB     | ##################################### | 100% 
xlsxwriter-3.0.1     | 111 KB    | ##################################### | 100% 
llvmlite-0.36.0      | 396 KB    | ##################################### | 100% 
astroid-2.6.6        | 309 KB    | ##################################### | 100% 
three-merge-0.1.1    | 10 KB     | ##################################### | 100% 
notebook-6.4.3       | 4.2 MB    | ##################################### | 100% 
mock-4.0.3           | 29 KB     | ##################################### | 100% 
fsspec-2021.7.0      | 91 KB     | ##################################### | 100% 
ipywidgets-7.6.3     | 105 KB    | ##################################### | 100% 
pip-21.0.1           | 1.8 MB    | ##################################### | 100% 
blosc-1.21.0         | 64 KB     | ##################################### | 100% 
qtpy-1.10.0          | 35 KB     | ##################################### | 100% 
beautifulsoup4-4.9.3 | 86 KB     | ##################################### | 100% 
openjpeg-2.4.0       | 331 KB    | ##################################### | 100% 
nbconvert-6.1.0      | 481 KB    | ##################################### | 100% 
json5-0.9.6          | 21 KB     | ##################################### | 100% 
jupyter_console-6.4. | 23 KB     | ##################################### | 100% 
scipy-1.6.2          | 15.6 MB   | ##################################### | 100% 
libwebp-base-1.2.0   | 437 KB    | ##################################### | 100% 
sphinxcontrib-jsmath | 8 KB      | ##################################### | 100% 
libgcc-ng-9.3.0      | 4.8 MB    | ##################################### | 100% 
defusedxml-0.7.1     | 23 KB     | ##################################### | 100% 
backports.shutil_get | 10 KB     | ##################################### | 100% 
dask-2021.8.1        | 18 KB     | ##################################### | 100% 
zipp-3.5.0           | 13 KB     | ##################################### | 100% 
ca-certificates-2021 | 113 KB    | ##################################### | 100% 
libstdcxx-ng-9.3.0   | 3.1 MB    | ##################################### | 100% 
toml-0.10.2          | 20 KB     | ##################################### | 100% 
harfbuzz-2.8.1       | 1.1 MB    | ##################################### | 100% 
backports-1.0        | 210 KB    | ##################################### | 100% 
sortedcontainers-2.4 | 26 KB     | ##################################### | 100% 
testpath-0.5.0       | 81 KB     | ##################################### | 100% 
pyflakes-2.2.0       | 56 KB     | ##################################### | 100% 
pyzmq-22.2.1         | 465 KB    | ##################################### | 100% 
singledispatch-3.7.0 | 12 KB     | ##################################### | 100% 
matplotlib-base-3.4. | 5.6 MB    | ##################################### | 100% 
pandoc-2.12          | 9.5 MB    | ##################################### | 100% 
xlrd-2.0.1           | 90 KB     | ##################################### | 100% 
nose-1.3.7           | 128 KB    | ##################################### | 100% 
statsmodels-0.12.2   | 8.5 MB    | ##################################### | 100% 
flask-1.1.2          | 70 KB     | ##################################### | 100% 
importlib-metadata-3 | 33 KB     | ##################################### | 100% 
alabaster-0.7.12     | 16 KB     | ##################################### | 100% 
sqlite-3.36.0        | 990 KB    | ##################################### | 100% 
rope-0.19.0          | 126 KB    | ##################################### | 100% 
send2trash-1.5.0     | 14 KB     | ##################################### | 100% 
cython-0.29.24       | 2.0 MB    | ##################################### | 100% 
nbformat-5.1.3       | 44 KB     | ##################################### | 100% 
libcurl-7.78.0       | 338 KB    | ##################################### | 100% 
threadpoolctl-2.2.0  | 16 KB     | ##################################### | 100% 
pytest-6.2.4         | 423 KB    | ##################################### | 100% 
pysocks-1.7.1        | 31 KB     | ##################################### | 100% 
distributed-2021.8.1 | 970 KB    | ##################################### | 100% 
pyyaml-5.4.1         | 174 KB    | ##################################### | 100% 
libgfortran4-7.5.0   | 995 KB    | ##################################### | 100% 
mkl_random-1.2.2     | 308 KB    | ##################################### | 100% 
seaborn-0.11.2       | 218 KB    | ##################################### | 100% 
prometheus_client-0. | 47 KB     | ##################################### | 100% 
debugpy-1.4.1        | 1.7 MB    | ##################################### | 100% 
pylint-2.9.6         | 488 KB    | ##################################### | 100% 
black-19.10b0        | 86 KB     | ##################################### | 100% 
glib-2.69.1          | 1.7 MB    | ##################################### | 100% 
fonttools-4.25.0     | 632 KB    | ##################################### | 100% 
partd-1.2.0          | 19 KB     | ##################################### | 100% 
jupyter_client-6.1.1 | 88 KB     | ##################################### | 100% 
matplotlib-3.4.2     | 26 KB     | ##################################### | 100% 
sortedcollections-2. | 12 KB     | ##################################### | 100% 
sphinxcontrib-serial | 25 KB     | ##################################### | 100% 
et_xmlfile-1.1.0     | 10 KB     | ##################################### | 100% 
dask-core-2021.8.1   | 715 KB    | ##################################### | 100% 
zeromq-4.3.4         | 331 KB    | ##################################### | 100% 
snappy-1.1.8         | 40 KB     | ##################################### | 100% 
sqlalchemy-1.4.22    | 1.8 MB    | ##################################### | 100% 
pygments-2.10.0      | 725 KB    | ##################################### | 100% 
nest-asyncio-1.5.1   | 10 KB     | ##################################### | 100% 
joblib-1.0.1         | 208 KB    | ##################################### | 100% 
traitlets-5.0.5      | 81 KB     | ##################################### | 100% 
mpmath-1.2.1         | 766 KB    | ##################################### | 100% 
lz4-c-1.9.3          | 185 KB    | ##################################### | 100% 
pillow-8.3.1         | 638 KB    | ##################################### | 100% 
ipython-7.26.0       | 994 KB    | ##################################### | 100% 
python-dateutil-2.8. | 233 KB    | ##################################### | 100% 
spyder-4.2.5         | 5.4 MB    | ##################################### | 100% 
pickleshare-0.7.5    | 13 KB     | ##################################### | 100% 
locket-0.2.1         | 10 KB     | ##################################### | 100% 
ld_impl_linux-64-2.3 | 586 KB    | ##################################### | 100% 
zope.interface-5.4.0 | 301 KB    | ##################################### | 100% 
textdistance-4.2.1   | 29 KB     | ##################################### | 100% 
numpy-base-1.20.3    | 4.5 MB    | ##################################### | 100% 
click-8.0.1          | 79 KB     | ##################################### | 100% 
sphinxcontrib-appleh | 29 KB     | ##################################### | 100% 
snowballstemmer-2.1. | 62 KB     | ##################################### | 100% 
zict-2.0.0           | 10 KB     | ##################################### | 100% 
py-1.10.0            | 76 KB     | ##################################### | 100% 
pycodestyle-2.6.0    | 38 KB     | ##################################### | 100% 
toolz-0.11.1         | 46 KB     | ##################################### | 100% 
brotlipy-0.7.0       | 323 KB    | ##################################### | 100% 
matplotlib-inline-0. | 12 KB     | ##################################### | 100% 
nbclient-0.5.3       | 62 KB     | ##################################### | 100% 
libxml2-2.9.12       | 1.2 MB    | ##################################### | 100% 
jeepney-0.7.1        | 38 KB     | ##################################### | 100% 
sympy-1.8            | 9.1 MB    | ##################################### | 100% 
certifi-2021.5.30    | 138 KB    | ##################################### | 100% 
conda-pack-0.6.0     | 29 KB     | ##################################### | 100% 
filelock-3.0.12      | 10 KB     | ##################################### | 100% 
mkl-2021.3.0         | 141.2 MB  | ##################################### | 100% 
ptyprocess-0.7.0     | 17 KB     | ##################################### | 100% 
jupyter_core-4.7.1   | 68 KB     | ##################################### | 100% 
jinja2-3.0.1         | 110 KB    | ##################################### | 100% 
attrs-21.2.0         | 46 KB     | ##################################### | 100% 
intel-openmp-2021.3. | 1.4 MB    | ##################################### | 100% 
Preparing transaction: done
Verifying transaction: done
Executing transaction: | 

    Installed package of scikit-learn can be accelerated using scikit-learn-intelex.
    More details are available here: https://intel.github.io/scikit-learn-intelex

    For example:

        $ conda install scikit-learn-intelex
        $ python -m sklearnex my_application.py

    

done
(base) solo[email protected]:~/Descargas$ conda create --name my_env
Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: /home/soloelectronicos/anaconda3/envs/my_env



Proceed ([y]/n)? y

Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
#     $ conda activate my_env
#
# To deactivate an active environment, use
#
#     $ conda deactivate

(base) [email protected]:~/Descargas$ conda activate my_env
(my_env) [email protected]:~/Descargas$ ls
Anaconda3-2020.11-Linux-x86_64.sh  Anaconda3-2021.05-Linux-x86_64.sh
(my_env) [email protected]:~/Descargas$ sudo conda activate my_env
[sudo] contraseña para soloelectronicos: 
sudo: conda: orden no encontrada
(my_env) [email protected]:~/Descargas$ conda activate my_env

Desinstalación de Anaconda

Para desinstalar Anaconda de su sistema, deberá instalar la utilidad de eliminación de Anaconda en su sistema.

Primero, instale la utilidad anaconda-clean con el siguiente comando:

conda instalar anaconda-clean

Una vez completada la instalación, elimine Anaconda con el siguiente comando:

anaconda-clean --sí

Debería obtener el siguiente resultado:

Directorio de respaldo: /root/.anaconda_backup/2021-01-07T084617