Skip to main content

MLOps - Day 11

Today's learning :-
  • As usual started with a quick revision of whatever studied last day, as a summery for limited data we can proceed with traditional(old) machine learning approach but if data is huge then we have to move on New ML or Deep Learning for fast & accurate results.
  • In other word we can say that traditional ML usage sklearn(sci-kit-learn) in background and sklearn usage numpy in background and the way operations which numpy do is fine for limited data but when data is huge, it not sufficient, slow and less accurate.
  • To solve this issue Google created a new data type Tensor, it is exactly similar like numpy and it is just a fancy name of array data type. Tensor is a data type which comes from TensorFlow module but Tensor is very much optimized because of graph. So finally we can say that Graph and Lazy execution is only the base of DL(Deep Learning)
 
  • For below practical we will require Tensor module which is part of TensorFlow library, which is by default not part of anaconda Python distribution. So let's install using below command :-
C:\Windows\system32>conda env list
C:\Windows\system32>conda create --name mlops -y
C:\Windows\system32>activate mlops
(mlops) C:\Windows\system32>conda list
(mlops) C:\Windows\system32>conda install jupyter tensorflow pandas numpy matplotlib scikit-learn
It will take some time so wait till finish. Once finish you can start using it-
(mlops) C:\Windows\system32>jupyter notebook
  • In TensorFlow version 2(Tv2) they support both lazy and eager execution but by default it execute with eager. 
  • Lazy execution - In very simple words if I write code to perform an operation but don't run it now, run later when required, this kind of execution known as lazy execution. Eager execution example :- 
Code :-
import tensorflow as tf
tf.__version__
Output :-
'2.1.0' 
a = tf.constant(5)
b = tf.constant(6)
a,b

Output :-
(<tf.Tensor: shape=(), dtype=int32, numpy=5>,
 <tf.Tensor: shape=(), dtype=int32, numpy=6>)
#Eager execution
def myfun(a,b):
    c = a*b+1
    d = a*b*3
    print(c)
    print(d)

myfun(a,b)
Output :-
tf.Tensor(31, shape=(), dtype=int32)
tf.Tensor(90, shape=(), dtype=int32)  
  •  But if we want can change it to lazy execution, how?
Code :-
import tensorflow as tf
a = tf.constant(5)
b = tf.constant(6)

#Lazy execution
@tf.function
def myfun(a,b):
    c = a*b+1
    d = a*b*3
    print(c)
    print(d)

myfun(a,b)
Output :-
Tensor("add:0", shape=(), dtype=int32)
Tensor("mul_2:0", shape=(), dtype=int32)

Comments

Popular posts from this blog

error: db5 error(11) from dbenv->open: Resource temporarily unavailable

If rpm command is not working in your system and it is giving an error message( error: db5 error(11) from dbenv->open: Resource temporarily unavailable ). What is the root cause of this issue? How to fix this issue?   just a single command- [root@localhost rpm]# rpm --rebuilddb Detailed error message- [root@localhost rpm]# rpm -q firefox ^Cerror: db5 error(11) from dbenv->open: Resource temporarily unavailable error: cannot open Packages index using db5 - Resource temporarily unavailable (11) error: cannot open Packages database in /var/lib/rpm ^Cerror: db5 error(11) from dbenv->open: Resource temporarily unavailable error: cannot open Packages database in /var/lib/rpm package firefox is not installed [root@localhost rpm]# RPM manage a database in which it store all information related to packages installed in our system. /var/lib/rpm, this is directory where this information is available. [root@localhost rpm]# cd /var/lib/rpm ...

Failed to get D-Bus connection: Operation not permitted

" Failed to get D-Bus connection: Operation not permitted " - systemctl command is not working in Docker container. If systemctl command is not working in your container and giving subjected error message then simple solution of this error is, create container with -- privileged option and also provide init file full path  /usr/sbin/init [root@server109 ~]# docker container run -dit --privileged --name systemctl_not_working_centos1 centos:7 /usr/sbin/init For detailed explanation and understanding I am writing more about it, please have look below. If we have a daemon based program(httpd, sshd, jenkins, docker etc.) running inside a container and we would like to start/stop or check status of daemon inside docker then it becomes difficult for us to perform such operations , because by default systemctl and service  commands don't work inside docker. Normally we run below commands to check services status in Linux systems. [root@server109 ~]# systemctl status ...

call to function "map" failed: the "map" function was deprecated in Terrafrom

How to change map method to tomap method? Let's say you have multiple tags in your code which was written quite back and that time it was working fine on old Terraform version before v0.12 but if the same code you execute on updated/latest Terrafrom you get subjected error while try to run Terrafrom plan command. Then this article will help you to fix your issue. What is simple solution to fix this issue? Just replace " map " method to " tomap " and just to little bit formatting for the same. Syntax:- map ({"Name", "My_Name"), map("AppName", "My_App")}) tomap ({"Name"  =   "My_Name",  "App_Name"  =   "My_App"}) or tomap ({     "Name"  =   "My_Name",     "App_Name"  =   "My_App" }) #Code with " map " method resource "aws_instance" "My_instance"   ami   =   my_ami   instance_type =   my_type   tags  =   merge(var.tag...