Sunday, February 12, 2023

Dockers and containers

What is docker?

Docker is an environment with its own OS+ user space (related packages & modules) that resides on a bare-metal system and uses system HW/Kernel resources to serve a different purpose.


We must understand 3 environments (Bare metal,  Docker, virtualization)

·        Bare metal is one kind of environment where we test our GPUs directly

·        Docker is one kind of environment that is separated from Bare metal.

       Virtualization is software, that makes computing environments independent of physical infrastructure. In contrast, cloud computing is a service that delivers shared computing resources (software and/or data) on demand via the Internet.

·        If you launch Docker, it has its own user space with all dependent packages and its own OS.

The beauty of the docker concept :


   Docker is platform-independent and can run on any machine regardless of the operating system present.


      Docker is controlled by a kernel space.

·        Kernel sitting very close to the hardware.                                                 

·        If Kernel space/Firmware is broken/crashed, we can’t do anything.

·        Both Bare-metal and Docker have the packages, Except Docker does not have kernel space. Docker will use kernel space which is available on the bare metal.

Docker architecture components & How does docker work? 

Docker architecture comprises 3 main components

1. Docker Client: This is the interface through which users interact. It communicates with the docker daemon.

2. Docker Host: Here, Docker daemon listens for docker API requests and manages various docker objects, including images, containers, networks, and volumes

3. Docker Registry: This is where Docker images are stored. Docker hub, for instance, is a widely used public registry 

       

For operations related to Docker on your machines or servers, such as Docker building, pulling, or running containers, the Docker daemon must be active & running.

Note: Based on OS, you can install & activate the Docker daemon by using the steps below

 Ubuntu 18.04/20.04/22.04/24.04

sudo apt-get -y install apt-transport-https ca-certificates curl  

curl -fsSL https://get.docker.com/ | sh

sudo systemctl start docker → start the Docker daemon:

sudo systemctl status docker → verify it's running or not [ Active: active (running)]

sudo systemctl enable docker → make sure it starts at every server reboot

  Docker & container related commands

sudo docker pull <docker_name_based_on_OS> cmd will pull the specific Docker image into the machine

sudo docker images  ==> cmd will list the available dockers in the present machine

sudo docker rmi  -f  docker_id ==> cmd will delete a single specific docker in the present machine

sudo docker rmi  -f  docker_id_1 docker_id_2 docker_id_3 ==> Will delete multiple dockers

sudo docker ps -a ==> cmd will list the available containers on the present server

sudo docker rm container_id ==> cmd will delete a single specific container present in the machine

sudo docker rm container_id_1 container_id_2 container_id_3 ==> will delete multiple containers

docker system prune -a   ==> It will clear space on your device by doing the following tasks 

     This command will remove: 

            - all stopped containers

            - all networks not used by at least one container

            - all images without at least one container associated with them

            - all build cache


Ø   sudo dmesg: dmesg contains all kernel-related information (loading /unloading, module loading, firmware loading, etc. lot of information).

Ø  sudo dmesg | grep -i error if you search like this, it will give kernel/firmware-related error messages 

Ø  Any kernel-related error & other information you want to see, then you must run sudo dmesg from the home directory,

su sudo dmesg -C  --> It will clear all kernel error messages

Ø  cd /var/log/ èin this folder, the dmesg log file & other kernel log files are present.

èFirmware not loaded/ kernel crashed. All information you can use the command sudo dmesg | grep -i error to see the error messages.


Request: If you find this information useful, please provide your valuable comments.

Friday, November 18, 2022

Technical Info

 

Windows Subsystem for Linux Has Reached v1.0 Stable Release


Windows Subsystem for Linux (WSL) is a tool that lets you run a GNU/Linux environment inside a Windows system without needing a virtual machine or dual-boot.

https://news.itsfoss.com/wsl-stable-available/


Saturday, October 15, 2022

Pytorch framework & Tensorflow Framework

PyTorch and TensorFlow are two of the most popular deep learning frameworks. 

                                                               

PyTorch (Most popular research DL framework*)

  • PyTorch is an open-source ML and DL framework developed by Facebook (Meta) using Python and released to the public in 2016. 
  • Now open source & used by companies such as Tesla, Microsoft, and OpenAI.. etc
  • PyTorch is a low-level API for NLP (natural language processing) and computer vision. It is a more powerful version of Numpy.
  • PyTorch is used by leading tech companies like 
    • Tesla to build the computer vision system for their self-driving vehicles
    • Meta to power the curation and understanding systems for their timelines.
    • Apple to create computationally enhanced photography and even automated weed-killing tractors.

  • What can PyTorch be used for?
          PyTorch allows you to manipulate and process data and write machine learning algorithms using Python code

Deep Learning 
What deep learning is good for



Tensor Explanation from root level

 9    ---> (single number)                            ---> scalar   (0 D Tensor)  (D means Dimensional)

[19, 82] (group of numbers --> Row)        ---> Vector (1D Tensor)

[[9 ,88 ] ,

 [19 ,8]]   (combination of rows & colums) --> Matrix ((2 D Tensor))

3X3  Matrix (Red, Green, and Blue)           ---> 3D Tensor (Ex: Image)

4D or 5D tensor (Videos or large data)

  • Images are first converted into numerical values called tensors. 
  • These tensors are given to a neural network, which processes them using mathematical calculations and generates an output tensor. 
  • This output is then transformed into meaningful information that humans can easily understand.



 CUDA (Compute Unified Device Architecture) is a parallel computing platform and programming model developed by NVIDIA that allows software developers to use a GPU for general-purpose computing, not just graphics.

What CUDA does?

Normally, GPUs were designed mainly for graphics. CUDA lets you use the thousands of GPU cores to perform computational tasks much faster than a CPU for certain workloads.




TensorFlow was developed by Google and released to the public in 2015. Production and research are the main uses of TensorFlow.

Implementation :

https://colab.research.google.com/drive/1B9QKy3FJNbCwSNGXFEUTAhRpxeQAg856




Friday, July 15, 2022

AI ML DL

 




JenkinsThe leading open source automation server, Jenkins provides hundreds of plugins to support building, deploying, and automating any project.



Difference between Private Key and Public Key


KeyPrivate KeyPublic Key
AlgorithmPrivate key is used for both encrypting and decrypting the sensitive data. It is shared between the sender and receiver of encrypted data.Public key is used only for the purpose of encrypting the data.
PerformanceThe private key mechanism is faster.The public key mechanism is slower.
SecrecyThe private key is kept secret and not public to anyone apart from the sender and the receiver.The public key is free to use and the private key is kept secret only.
TypeThe private key mechanism is called "symmetric" because a single key is shared between two parties.The public key mechanism is called "asymmetric" because there are two keys for different purposes.
SharingThe private key is to be shared between two parties.The public key can be used by anyone but the private key is to be shared between two parties only.
TargetsPerformance testing checks the reliability, scalability, and speed of the system.

Thursday, April 7, 2022

Python if-else Interview questions

What are the three main conditional statements in Python?
Answer       if, elif, and else


. What will be the output of the following Python code?

names_1 = ["Narendra", "Boyina", "raj", "Mahalakshmi"]

if  'Raj' in names_1:

print(1)

else:

print(2)

a) None

b) 1

c) 2

d) Error


Answer: c

Explanation: Python is case sensitive, "if" condition failed because "Raj" is not available in that list, "raj" is available, so else block statement is executed.

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

A company decided to give a bonus of 5% to the employee if his/her year of service is more than 5 years.
Ask users for their salary and year of service and print the net bonus amount.

Answer:


salary = int(input("Enter salary"))

yos = int(input("Enter year of service"))

if yos>5:

  print "Bonus is",.05*salary

else:

  print "No bonus"

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

 Accept the kilometers covered  for the rented car and calculate the bill according to the following criteria:

First 10 Km              Rs11/km

Next 90Km               Rs 10/km

After that               Rs9/km

Answer
.

kmc = int(input("Enter the kilometer covered"))

if kmc <=10 :

    amt = kmc * 11

elif kmc > 10 and kmc <= 100:

    amt = 110 + (kmc - 10)*10

elif kmc > 100:

    amt = 1010 + (kmc - 100)*9

print("Total amount to pay is ", amt)

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



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

Write a program to calculate the electricity bill (accept the number of units from user) according to the following criteria :

             Unit                                                     Price  

First 100 units                                               no charge

Next 100 units                                              Rs 5 per unit

After 200 units                                             Rs 10 per unit

(For example, if the input unit is 350 then the total bill amount is Rs2000)


logic.

amt=0

numer_units=int(input("Enter number of electric unit"))

if numer_units<=100:

     amt=0

if numer_units>100 and numer_units<=200:

     amt=(numer_units-100)*5

if numer_units>200:

     amt=500+(numer_units-200)*10

print("Amount to pay :",amt)

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

Accept any city from the user and display a monument of that city.

  City                                 Monument

  Delhi                               Red Fort

  Agra                                Taj Mahal

  Jaipur                              Jal Mahal


 Answer

 

city = input("Enter name of the city")

if city.lower()=="delhi":

    print("Monument name is : Red Fort")

elif city.lower()=="agra":

    print("Monument name is : Taj Mahal")

elif city.lower()=="jaipur":

    print("Monument name is : Jal Mahal")

else:

print("Enter correct name of city")


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

Write a program to find the largest number out of three, excepted by the user.

 Answer


num1 = int(input("Enter first number"))
num2 = int(input("Enter second number"))
num3 = int(input("Enter third number"))
if num1 > num2 and num1 > num3:
      print("Greatest number is ", num1)
if num2 > num1 and num2 > num3:
      print("Greatest number is ", num2)
if num3 > num2 and num3 > num1:
     print("Greatest number is ", num3)
print("Enter correct name of city")

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

Accept the following from the user and calculate the percentage of class attended:

a.     Total number of working days

b.     Total number of absent days 

After calculating the percentage show that, If the percentage is less than 75 then the student will not be able to sit in the exam.

 Answer

 

nd = int(input("Enter total number of working days"))

na = int(input("Enter number of days  absent"))

per=(nd-na)/nd*100

print("Your attendance is ",per)

if per <75 :

     print("You are not eligible for exams")

else:

     print("You are eligible for writing exam")

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


                                Request: Please provide your valuable comments

Python Comprehensions Interview questions - Multiple choice

 1. Suppose list1 = [0.5 * x for x in range(0, 4)], list1 is:

a) [0, 1, 2, 3]

b) [0, 1, 2, 3, 4]

c) [0.0, 0.5, 1.0, 1.5]

d) [0.0, 0.5, 1.0, 1.5, 2.0]


Answer: c

Explanation: Execute in the shell to verify.


2. What will be the output of the following Python code?

names_1 = ["Narendra", "Bhagyasree", "Raj", "Mahalakshmi"]

names_2 = [name.lower() for name in names_1]

 print(names_2[2][0])

a) None

b) R

c) r

d) b


Answer: c

Explanation: List Comprehension is a shorthand for creating new lists.


3. What will be the output of the following Python code?

>>>m = [[x, x + 1, x + 2] for x in range(0, 3)]

a) [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

b) [[0, 1, 2], [1, 2, 3], [2, 3, 4]]

c) [1, 2, 3, 4, 5, 6, 7, 8, 9]

d) [0, 1, 2, 1, 2, 3, 2, 3, 4]


Answer: b

Explanation: Execute in the shell to verify.


4. How many elements are in m?

m = [[x, y] for x in range(0, 4) for y in range(0, 4)]

a) 8

b) 12

c) 16

d) 32


Answer: c

Explanation: Execute in the shell to verify.

 

5. What will be the output of the following Python code?

a=[1,2,3,4]

b=[sum(a[0:x+1]) for x in range(0,len(a))]

print(b)

a) 10

b) [1,3,5,7] 

c) 4

d) [1,3,6,10]


Answer: d

Explanation: The above code returns the cumulative sum of elements in a list


6. What will be the output of the following Python code?

>>>t = (1, 2, 4, 3, 8, 9)

>>>[t[i] for i in range(0, len(t), 2)]

a) Error

b) [1, 2, 4, 3, 8, 9]

c) [1, 4, 8]

d) (1, 4, 8)


Answer: c

Explanation: Execute in the shell to verify.


7. What will be the output of the following Python code?

a={i: i*i for i in range(6)}

print(a)

a) Dictionary comprehension doesn’t exist

b) {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6:36}

c) {0: 0, 1: 1, 4: 4, 9: 9, 16: 16, 25: 25}

d) {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25}


Answer: d

Explanation: Dictionary comprehension is implemented in the above piece of code.


8. What will be the output of the following Python code?

 a={i: 'A' + str(i) for i in range(5)}

print(a)  

a) An exception is thrown

b) {0: ‘A0’, 1: ‘A1’, 2: ‘A2’, 3: ‘A3’, 4: ‘A4’}

c) {0: ‘A’, 1: ‘A’, 2: ‘A’, 3: ‘A’, 4: ‘A’}

d) {0: ‘0’, 1: ‘1’, 2: ‘2’, 3: ‘3’, 4: ‘4’}


Answer: b 

Explanation: Dictionary comprehension and string concatenation is implemented in the above piece of code.


 What will be the output of the following Python code?

a="hello"

b=list( (x.upper(), len(x))  for x in a)

print(b)

a) [(‘H’, 1), (‘E’, 1), (‘L’, 1), (‘L’, 1), (‘O’, 1)]

b) [(‘HELLO’, 5)]

c) [(‘H’, 5), (‘E’, 5), (‘L’, 5), (‘L’, 5), (‘O’, 5)]

d) Syntax error


Answer: a

Explanation: Variable x iterates over each letter in the string hence the length of each letter is 1.


Python Functions Interview questions

1. What will be the output of the following Python code?

myList = [1, 2, 3, 4, 5, 6]

for i in range(1, 6):

myList[i - 1] = myList[i]

for i in range(0, 6): 

print(myList[i], end = " ")

a) 2 3 4 5 6 1

b) 6 1 2 3 4 5

c) 2 3 4 5 6 6

d) 1 1 2 3 4 5


Answer: c

Explanation: Execute in the shell to verify.


2. What will be the output of the following Python code?

def narendra(values):

values[0] = 44


v = [1, 2, 3]

narendra(v)

print(v)

a) [1, 44]

b) [1, 2, 3, 44]

c) [44, 2, 3]

d) [1, 2, 3]


Answer: c

Explanation: Execute in the shell to verify.


3. What will be the output of the following Python code?

def narendra(i, values = []):

values.append(i)

return values

 

narendra(1)

narendra(2)

v = narendra(3)

print(v)

a) [1] [2] [3]

b) [1] [1, 2] [1, 2, 3]

c) [1, 2, 3]

d) 1 2 3


Answer: c

Explanation: Execute in the shell to verify


4. What will be the output of the following Python code?

def addItem(listParam):

listParam += [1]

 

mylist = [1, 2, 3, 4]

addItem(mylist)

print(len(mylist))

a) 1

b) 4

c) 5

d) 8


Answer: c

Explanation: + will append the element to the list.


5. What will be the output of the following Python code?

def increment_items(L, increment):

i = 0

while i < len(L):

L[i] = L[i] + increment

i = i + 1

 

values = [1, 2, 3]

print(increment_items(values, 2))

print(values)

a)    None

           [3, 4, 5]

b)    None

           [1, 2, 3]

c)    [3, 4, 5]

           [1, 2, 3]

d)    [3, 4, 5]

           None


Answer: a

Explanation: increment_items() function does not have a return keyword, so by default if any function does not have a return keyword, then that function will return None


6. What will be the output of the following Python code?

def example(L):

i = 0

result = []

while i < len(L):

result.append(L[i])

i = i + 3

return result

a) Return a list containing every third item from L starting at index 0

b) Return an empty list

c) Return a list containing every third index from L starting at index 0

d) Return a list containing the items from L starting from index 0, omitting every third item


Answer: a

Explanation: Run the code to get a better understanding of many arguments.


7. What will be the output of the following Python code?

     def maha(list):
            v = list[0]
        for e in list: # iterate inner list
        if v < e:
        v = e
        return v

        values = [[3, 4, 5, 1], [33, 6, 1, 2]]
        for row in values:
        print(maha(row), end=" ")
         a) 3 33

        b) 1 1

        c) 5 6

        d) 5 33


Answer: d

Explanation: Execute in the shell to verify.


8. What will be the output of the following Python code?

    def maha(m):
    v = m[0][0]
for row in m:
for element in row:
if v < element:
v = element
print(v)

    maha(data[0])

        a) 1

b) 2

c) 4

d) 5


Answer: c

Explanation: Execute in the shell to verify.


9.  What will be the output of the following Python code?

def unpack(a,b,c,d):

print(a+d)

x = [1,2,3,4]

unpack(*x)

a) Error

b) [1,4]

c) [5]

d) 5


Answer: d

Explanation: unpack(*x) unpacks the list into the separate variables. Now, a=1 and d=4. Thus 5 gets printed.


10. What will be the output of the following Python code?

def change(var, lst):

var = 1

lst[0] = 44

k = 3

a = [1, 2, 3]

change(k, a)

print(k)

print(a)


a) 3

[44, 2, 3]

b) 1

[1,2,3]

c) 3

[1,2,3]

d) 1

[44,2,3]


Answer: a

Explanation: A list is mutable, hence its value changes after the function call. However, the integer isn’t mutable. Thus its value doesn’t change


11. What will be the output of the following Python code snippet?

total={}

def insert(items):

if items in total:

total[items] += 1

else:

total[items] = 1

insert('Apple')

insert('Ball')

insert('Apple')

print (len(total))

a) 3

b) 1

c) 2

d) 0


Answer: c

Explanation: The insert() function counts the number of occurrences of the item being inserted into the dictionary. 

There are only 2 keys present since the key ‘Apple’ is repeated. Thus, the length of the dictionary is 2.


12. What will be the output of the following Python code?

a = [5,5,6,7,7,7]

b = set(a)

def test(lst):

if lst in b:

return 1

else:

return 0

for i in  filter(test, a):

print(i,end=" ")

a) 5 5 6

b) 5 6 7

c) 5 5 6 7 7 7

d) 5 6 7 7 7


Answer: c

Explanation: The filter function will return all the values from the list a which are true when passed to the function test.


Request: If you find this information useful, please provide your valuable comments.