Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 5

Features

The extension includes three sets of snippets.

The first are used to generate entire python files:

tf:trainer: Generates an entire training framework based on learn API.


tf:cnn-classifier: Generates a convolutional neural network classifier.
tf:mnist: Generates data loader for mnist dataset.
tf:cifar10: Generates data loader for CIFAR10 dataset.
tf:cifar100: Generates data loader for CIFAR100 dataset.
The second set generate medium size snippets:

tf:resnet-block: Generates a ResNet block.


The third set generate common TensorFlow operations:

tf:import: Imports TensorFlow package.


tf:conv2d: Defines a 2D convolution layer.
tf:transposed-conv2d: Defines a transposed 2D convolution layer.
tf:separable-conv2d: Defines a separable 2D convolution layer.
tf:dense: Defines a dense (fully connected) layer.
tf:max-pool2d: Defines a max pooling layer.
tf:dropout: Defines a dropout layer.
tf:batch-norm: Defines a batch normalization layer.
tf:cross-entropy: Defines a softmax cross entropy loss.
Installation

Install Visual Studio Code from here.

Install this extension by selecting Install Extension in the command pallette (cmd-
shift-p) and searching for "TensorFlow Snippets".

The generated code also relies on the following python dependencies:

pip install numpy


pip install tensorflow # or tensorflow-gpu
pip install six

Getting started

Make sure the requirements are installed.

Create a new directory for your project. Create trainer.py, open the file and type:
tf:trainer enter. Create cnn.py, open the file and type: tf:cnn-classifier enter.
Create mnist.py, open the file and type: tf:mnist enter.

Edit trainer.py, and insert two lines at the top:

import cnn
import mnist

In the MODELS dictionary, add a new element "cnn": cnn, also in the DATASETS
dictionary add a new element "mnist": mnist. Now run the trainer:

python -m trainer --model=cnn --dataset=mnist

Open another terminal window in the same directory, and type:

tensorboard --logdir=output
Point your browser at http://localhost:6006.

------------------------------------------------------------------

Ejercicios de autoevaluación

#1. Escribid una función en Python que, dada una lista de números, devuelva otra
lista en
orden inverso. Para realizar este ejercicio se deberá utilizar un bucle o
estructura repetitiva.
No se permite el uso de funciones miembro de la clase list (en especial
list.reverse()).

#2. Escribid una función que, dado un número entero N, devuelva una lista con todos
los
números primos hasta N. Para solucionar el ejercicio debéis crear una función
auxiliar que
indique si un determinado número es primo (retornando un valor booleano).

#3. Escribid una función que reciba una tupla compuesta por caracteres, y devuelva
una lista
con los caracteres en mayúsculas. Debéis recorrer la tupla carácter a carácter para
realizar
la conversión. Para convertir un carácter a mayúscula podéis usar el método
upper(). Por
ejemplo ’a’.upper() nos devuelve ’A’.

#4. Convertid el texto ’ejemplo’ en una lista que contenga sus 7 caracteres.
Después convertidlo
en una tupla y usando la función del ejercicio anterior obtened una lista con el
texto
en mayúsculas.

#5. Escribid una función que, dada una lista de números, devuelva una lista con
sólo los
elementos en posición par.

#6. Extended la función anterior para que, dada una lista y unos índices, nos
devuelva la lista
resultado de coger sólo los elementos indicados por los índices. Por ejemplo si
tenemos la
lista [1,2,3,4,5,6] y los índices [0,1,3] debería devolver la lista [1,2,4].

#7. Escribid una función que nos devuelva cuántas veces aparece cada una de las
palabras
de un texto (frecuencia de aparición de las palabras). Para ello podéis usar un
diccionario
donde la llave sea cada una de las palabras del texto y el contenido guarde el
número de
apariciones de la palabra. Para simplificar el ejercicio, podéis usar el método
split(’ ’), que,
dado un separador (el espacio), nos devuelve una lista con todas las palabras de un
texto de
forma separada. Por ejemplo: ’hola esto es un ejemplo’.split(’ ’) nos devolvería:
[’hola’, ’esto’,
’es’, ’un’, ’ejemplo’]

#8. Escribid una función que devuelva un conjunto formado por los números
compuestos
(no primos) menores que un N dado.

#9. Codificad una función que escriba en un fichero de texto los números primos que
van
desde el 1 hasta el 999.999.

#10. Escribid una función que lea el contenido de un fichero de texto y nos dé la
frecuencia
de aparición de cada palabra. Podéis usar el código del ejercicio 7, en el que se
usaban
diccionarios para contar las apariciones de cada palabra.

#11. Implementad un programa que tenga dos clases, Camión y Coche, ambas subclases
de
la superclase Vehículo. Elegid tres atributos comunes a Coche y Camión y dos
atributos
específicos a cada clase. Pensad bien dónde colocar cada atributo. Escribid un
mínimo de
dos métodos en cada clase y ejecutadlos en el programa principal.

#12. Escribid una versión del ejercicio 2 que utilice programación funcional.
Podéis usar el
iterador filter para mantener sólo aquellos valores de la lista que sean primos.

#13. Escribid una función que dependiendo de un selector ejecute alguno de los
primeros 5
ejercicios de este apartado. La función recibirá un carácter (’1’,’2’,...,’5’) y
deberá devolver
una
función que testea el apartado correspondiente. Por ejemplo, si escribimos
f=selector(’4’),
f deberá ser una función que al ejecutarse finalmente nos devuelva la palabra
ejemplo en
mayúsculas

------------------------------------------------------------------

Aplicaciones Básicas:

Calculadora de Fertilizantes: Calcula la cantidad óptima de fertilizantes para los


cultivos.

Registro de Cultivos: Lleva un registro de cultivos, siembras y cosechas.

Pronóstico Meteorológico: Ofrece pronósticos precisos para decisiones de riego y


manejo.

Conversión de Unidades Agrícolas: Convierte unidades comunes en agricultura.

Gestión de Plagas Básica: Brinda información sobre plagas y control.

Diario de Campo: Registra las actividades diarias en la finca.


Cálculo de Riego: Determina necesidades de riego según factores.

Monitorización de Suelos: Analiza datos de composición del suelo.

Alertas de Precios Agrícolas: Proporciona actualizaciones sobre precios.

Guía de Cultivos: Información esencial sobre diferentes cultivos.

Planificador de Siembra: Ayuda a planificar el calendario de siembra.

Calculadora de Costos: Estima los costos de producción agrícola.

App de Rotación de Cultivos: Ayuda a planificar la rotación adecuada.

Calculadora de Irrigación: Calcula la cantidad de agua necesaria.

Mapa de Zonas Climáticas: Identifica zonas climáticas en la finca.

Aplicaciones Intermedias:

Gestión de Inventarios Agrícolas: Administra semillas, fertilizantes y cosechas.

Monitoreo de Cultivos con Drones: Utiliza drones para seguimiento visual.

Análisis de Datos Climáticos: Analiza patrones climáticos históricos.

Gestión Avanzada de Plagas: Modelo predictivo para plagas.

Sistema de Riego Inteligente: Optimiza riego según datos múltiples.

App de Nutrición de Cultivos: Recomienda nutrientes para cultivos.

Diagnóstico Digital de Enfermedades: Detecta enfermedades en cultivos.

App de Planificación de Fertilización: Planifica la fertilización óptima.

Monitoreo de Suelo en Tiempo Real: Datos de humedad y nutrientes en tiempo real.

App de Mapeo de Rendimiento: Mapea el rendimiento de cultivos.

Analítica para Rendimiento de Cosechas: Analiza datos de cosechas pasadas.

Plataforma de Agricultura de Precisión: Combina datos para gestión precisa.

Modelos de Crecimiento de Cultivos: Predice el crecimiento de cultivos.

App de Manejo de Maquinaria: Controla maquinaria agrícola.

App de Control de Invernadero: Monitorea y controla el ambiente.

Aplicaciones Avanzadas:

Simulación de Escenarios Agrícolas: Simula diferentes condiciones.

Inteligencia Artificial para Cultivos: Utiliza IA para optimizar cultivos.


Blockchain en Cadena de Suministro: Rastrea productos con tecnología blockchain.

App de Predicción de Rendimiento: Predice rendimiento de cultivos.

Sistema de Automatización Agrícola: Automatiza tareas agrícolas.

Gestión Integral de Finca: Integra múltiples herramientas y análisis.

Análisis de Imágenes de Satélite: Utiliza imágenes de satélite para análisis.

Plataforma de Agricultura Sostenible: Apoya prácticas sostenibles.

App de Genómica de Cultivos: Analiza datos genéticos de cultivos.

App de Robótica Agrícola: Controla robots para tareas agrícolas.

App de Predicción de Mercado: Predice tendencias de mercado.

Plataforma de Big Data Agrícola: Analiza grandes conjuntos de datos.

Sistema de Alerta Temprana: Advierte sobre problemas potenciales.

App de Control de Fertilizantes: Controla la liberación de fertilizantes.

App de Gestión de Regulaciones: Ayuda a cumplir regulaciones agrícolas.

You might also like