You are on page 1of 16

8/5/23, 11:46 PM TensorFlow_ComputerVision_01.

ipynb - Colaboratory

TensorFlow from Scratch -- 01


Author: Ramdas Dharavath
Linkedin: https://www.linkedin.com/in/dharavath-ramdas/
Source Code GitHub link: https://github.com/dharavathramdas101

Show code

Tensors are Multi Dimentional Arrays


An array is an ordered arrangement of numbers

Show code

Show code

https://colab.research.google.com/drive/1Jy4tvtKOHOWq_AjGlpMWuHaUMJ5VYjP_#scrollTo=zEe0GdL2sP0X&printMode=true 1/16
8/5/23, 11:46 PM TensorFlow_ComputerVision_01.ipynb - Colaboratory

8 --> oD

[0,4,6] --> 1D --> (3,)

2D [[1,2,3],
[4,5,6]] --> 2D --> (2,3)

3D --> [[[4,5,6],[7,2,1], [8,9,2]]] --> (1,3,3)

Import tensorflow as tf

import tensorflow as tf

0D Tensor

tensor_zero_D = tf.constant(4)
print(tensor_zero_D)

tf.Tensor(4, shape=(), dtype=int32)

1D Tensor

tensor_one_d = tf.constant([3,4,5])
print(tensor_one_d)

tf.Tensor([3 4 5], shape=(3,), dtype=int32)

tensor_one_d = tf.constant([3,4,5],dtype=tf.float32)
print(tensor_one_d)

tf.Tensor([3. 4. 5.], shape=(3,), dtype=float32)

tensor_one_d = tf.constant([3,4,5],dtype=tf.float16)
print(tensor_one_d)

tf.Tensor([3. 4. 5.], shape=(3,), dtype=float16)

https://colab.research.google.com/drive/1Jy4tvtKOHOWq_AjGlpMWuHaUMJ5VYjP_#scrollTo=zEe0GdL2sP0X&printMode=true 2/16
8/5/23, 11:46 PM TensorFlow_ComputerVision_01.ipynb - Colaboratory

tensor_one_d = tf.constant([3,4.4,5,8.1],dtype=tf.int64)
print(tensor_one_d)

---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-30-e4c0cd578aa7> in <cell line: 1>()
----> 1 tensor_one_d = tf.constant([3,4.4,5,8.1],dtype=tf.int64)
2 print(tensor_one_d)

3 frames
/usr/local/lib/python3.10/dist-packages/tensorflow/python/framework/constant_op.py i
convert_to_eager_tensor(value, ctx, dtype)
101 dtype = dtypes.as_dtype(dtype).as_datatype_enum
102 ctx.ensure_initialized()
--> 103 return ops.EagerTensor(value, ctx.device_name, dtype)
104
105

TypeError: Cannot convert [3, 4.4, 5, 8.1] to EagerTensor of dtype int64

SEARCH STACK OVERFLOW

solving above error using tf.cast

tensor_one_d = tf.constant([3,4.4,5,8.1],dtype=tf.float32)

casted_tensor_one_d =tf.cast(tensor_one_d,dtype=tf.int32)
print(tensor_one_d)
print(casted_tensor_one_d)

tf.Tensor([3. 4.4 5. 8.1], shape=(4,), dtype=float32)


tf.Tensor([3 4 5 8], shape=(4,), dtype=int32)

in bool if zero is false else: true

tensor_one_d = tf.constant([3,4.4,0,5,8.1],dtype=tf.float32)

casted_tensor_one_d =tf.cast(tensor_one_d,dtype=tf.bool)
print(tensor_one_d)
print(casted_tensor_one_d)

tf.Tensor([3. 4.4 0. 5. 8.1], shape=(5,), dtype=float32)


tf.Tensor([ True True False True True], shape=(5,), dtype=bool)

tensor_bool_d = tf.constant([True,False,True])
print(tensor_bool_d)

tf.Tensor([ True False True], shape=(3,), dtype=bool)

https://colab.research.google.com/drive/1Jy4tvtKOHOWq_AjGlpMWuHaUMJ5VYjP_#scrollTo=zEe0GdL2sP0X&printMode=true 3/16
8/5/23, 11:46 PM TensorFlow_ComputerVision_01.ipynb - Colaboratory

tensor_string_d = tf.constant("Computer Vision")
print(tensor_string_d)

tf.Tensor(b'Computer Vision', shape=(), dtype=string)

tensor_string_d = tf.constant(["Computer Vision"])
print(tensor_string_d)

tf.Tensor([b'Computer Vision'], shape=(1,), dtype=string)

tensor_one_d = tf.constant([3,4,5.6])
print(tensor_one_d)

tf.Tensor([3. 4. 5.6], shape=(3,), dtype=float32)

tensor_one_d = tf.constant([-3,4,5])
print(tensor_one_d)

tf.Tensor([-3 4 5], shape=(3,), dtype=int32)

numpy array into tensor

import numpy as np

np_array = np.array([2,3,4,5])
print(np_array)

[2 3 4 5]

converted_tensor = tf.convert_to_tensor(np_array)
print(converted_tensor)

tf.Tensor([2 3 4 5], shape=(4,), dtype=int64)

2D Tensor

tensor_two_d = tf.constant([
    [1,2,3],
    [4,5,6],
    [0,7,5]
])
print(tensor_two_d)
# stack of one d tensor form 2d tensor

tf.Tensor(
[[1 2 3]

https://colab.research.google.com/drive/1Jy4tvtKOHOWq_AjGlpMWuHaUMJ5VYjP_#scrollTo=zEe0GdL2sP0X&printMode=true 4/16
8/5/23, 11:46 PM TensorFlow_ComputerVision_01.ipynb - Colaboratory

[4 5 6]
[0 7 5]], shape=(3, 3), dtype=int32)

tensor_two_d.dtype

tf.int32

tensor_two_d.shape

TensorShape([3, 3])

3D Tensor

tensor_three_d = tf.constant([
    [[1,2,3],
     [5,4,3]],
    [[1,6,9],
     [0,4,1]]
])

print(tensor_three_d)

tf.Tensor(
[[[1 2 3]
[5 4 3]]

[[1 6 9]
[0 4 1]]], shape=(2, 2, 3), dtype=int32)

tensor_three_d.shape

TensorShape([2, 2, 3])

tensor_three_d.ndim

tensor_three_d.dtype

tf.int32

4D Tensor

tensor_four_d = tf.constant([
    [[[1,2,3],
      [90,50,44]]],

https://colab.research.google.com/drive/1Jy4tvtKOHOWq_AjGlpMWuHaUMJ5VYjP_#scrollTo=zEe0GdL2sP0X&printMode=true 5/16
8/5/23, 11:46 PM TensorFlow_ComputerVision_01.ipynb - Colaboratory

    [[[5,6,7],
      [90,30,22]]]
])
print(tensor_four_d)

tf.Tensor(
[[[[ 1 2 3]
[90 50 44]]]

[[[ 5 6 7]
[90 30 22]]]], shape=(2, 1, 2, 3), dtype=int32)

tensor_four_d.ndim

tensor_four_d.shape

TensorShape([2, 1, 2, 3])

tensor_four_d.dtype

tf.int32

Eye tensor

eye_tensor = tf.eye(
    num_rows=4,
    num_columns=None,
    batch_shape=None,
    dtype=tf.dtypes.float32,
    name=None
)
print(eye_tensor)
# construct identity matrix

tf.Tensor(
[[1. 0. 0. 0.]
[0. 1. 0. 0.]
[0. 0. 1. 0.]
[0. 0. 0. 1.]], shape=(4, 4), dtype=float32)

eye_tensor = tf.eye(
    num_rows=4,
    num_columns=None,
    batch_shape=None,
    dtype=tf.dtypes.float16,

https://colab.research.google.com/drive/1Jy4tvtKOHOWq_AjGlpMWuHaUMJ5VYjP_#scrollTo=zEe0GdL2sP0X&printMode=true 6/16
8/5/23, 11:46 PM TensorFlow_ComputerVision_01.ipynb - Colaboratory

    name=None
)
print(eye_tensor)
# construct identity matrix

tf.Tensor(
[[1. 0. 0. 0.]
[0. 1. 0. 0.]
[0. 0. 1. 0.]
[0. 0. 0. 1.]], shape=(4, 4), dtype=float16)

eye_tensor = tf.eye(
    num_rows=4,
    num_columns=None,
    batch_shape=None,
    dtype=tf.dtypes.bool,
    name=None
)
print(eye_tensor)
# construct identity matrix

tf.Tensor(
[[ True False False False]
[False True False False]
[False False True False]
[False False False True]], shape=(4, 4), dtype=bool)

eye_tensor = tf.eye(
    num_rows=4,
    num_columns=3,
    batch_shape=None,
    dtype=tf.dtypes.float32,
    name=None
)
print(eye_tensor)
# construct identity matrix

tf.Tensor(
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]
[0. 0. 0.]], shape=(4, 3), dtype=float32)

eye_tensor = tf.eye(
    num_rows=4,
    num_columns=None,
    batch_shape=[2,],
    dtype=tf.dtypes.float32,
    name=None
)
print(eye_tensor)
# construct identity matrix
# batch size 2 means i need two 4,4 matrix

https://colab.research.google.com/drive/1Jy4tvtKOHOWq_AjGlpMWuHaUMJ5VYjP_#scrollTo=zEe0GdL2sP0X&printMode=true 7/16
8/5/23, 11:46 PM TensorFlow_ComputerVision_01.ipynb - Colaboratory

tf.Tensor(
[[[1. 0. 0. 0.]
[0. 1. 0. 0.]
[0. 0. 1. 0.]
[0. 0. 0. 1.]]

[[1. 0. 0. 0.]
[0. 1. 0. 0.]
[0. 0. 1. 0.]
[0. 0. 0. 1.]]], shape=(2, 4, 4), dtype=float32)

fill tensor

fill_tensor = tf.fill(
    [3,4],5,name=None
)
print(fill_tensor)

tf.Tensor(
[[5 5 5 5]
[5 5 5 5]
[5 5 5 5]], shape=(3, 4), dtype=int32)

ones tensor

ones_tensor = tf.ones(
    [2,3],
    dtype=tf.dtypes.int32,
    name=None
)
print(ones_tensor)

tf.Tensor(
[[1 1 1]
[1 1 1]], shape=(2, 3), dtype=int32)

ones_tensor = tf.ones(
    [2,3,2],
    dtype=tf.dtypes.float32,
    name=None
)
print(ones_tensor)

tf.Tensor(
[[[1. 1.]
[1. 1.]
[1. 1.]]

[[1. 1.]

https://colab.research.google.com/drive/1Jy4tvtKOHOWq_AjGlpMWuHaUMJ5VYjP_#scrollTo=zEe0GdL2sP0X&printMode=true 8/16
8/5/23, 11:46 PM TensorFlow_ComputerVision_01.ipynb - Colaboratory

[1. 1.]
[1. 1.]]], shape=(2, 3, 2), dtype=float32)

fill2_tensor = tf.fill(
    [3,3],3,name=None
)
print(fill2_tensor)

tf.Tensor(
[[3 3 3]
[3 3 3]
[3 3 3]], shape=(3, 3), dtype=int32)

ones _like tensor

ones_like_tensor = tf.ones_like(
   fill2_tensor
)
print(ones_like_tensor)

tf.Tensor(
[[1 1 1]
[1 1 1]
[1 1 1]], shape=(3, 3), dtype=int32)

zeros tensor

zeros2_tensor = tf.zeros(
    [3,2],
    dtype = tf.dtypes.float32,
    name=None
)
print(zeros2_tensor)

tf.Tensor(
[[0. 0.]
[0. 0.]
[0. 0.]], shape=(3, 2), dtype=float32)

ones_like2_tensor = tf.ones_like(zeros2_tensor)
print(ones_like2_tensor)

tf.Tensor(
[[1. 1.]
[1. 1.]
[1. 1.]], shape=(3, 2), dtype=float32)

print(tensor_three_d)

https://colab.research.google.com/drive/1Jy4tvtKOHOWq_AjGlpMWuHaUMJ5VYjP_#scrollTo=zEe0GdL2sP0X&printMode=true 9/16
8/5/23, 11:46 PM TensorFlow_ComputerVision_01.ipynb - Colaboratory

tf.Tensor(
[[[1 2 3]
[5 4 3]]

[[1 6 9]
[0 4 1]]], shape=(2, 2, 3), dtype=int32)

tensor_three_d.shape

TensorShape([2, 2, 3])

print(tf.shape(tensor_three_d))

tf.Tensor([2 2 3], shape=(3,), dtype=int32)

tf.rank return rank of tensor

# tf.rank   return rank of tensor

t = tf.constant([[[1,2,3],[6,7,8]]])
print(tf.rank(t))
tf.rank(t)

tf.Tensor(3, shape=(), dtype=int32)


<tf.Tensor: shape=(), dtype=int32, numpy=3>

t1 = tf.constant([[1,2,3],[5,6,7]])
print(tf.rank(t1))
tf.rank(t1)

tf.Tensor(2, shape=(), dtype=int32)


<tf.Tensor: shape=(), dtype=int32, numpy=2>

t1 = tf.constant([1,2,3])
print(tf.rank(t1))
tf.rank(t1)

tf.Tensor(1, shape=(), dtype=int32)


<tf.Tensor: shape=(), dtype=int32, numpy=1>

# tf.size

https://colab.research.google.com/drive/1Jy4tvtKOHOWq_AjGlpMWuHaUMJ5VYjP_#scrollTo=zEe0GdL2sP0X&printMode=true 10/16
8/5/23, 11:46 PM TensorFlow_ComputerVision_01.ipynb - Colaboratory

t2 = tf.constant([[1,2,3,4],[6,7,8,9]])
tf.size(t2)

<tf.Tensor: shape=(), dtype=int32, numpy=8>

t2 = tf.constant([[1,2,3,4],[6,7,8,9]])
tf.size(t2,out_type=tf.float32)

<tf.Tensor: shape=(), dtype=float32, numpy=8.0>

# tf.random.normal

random_tensor = tf.random.normal(
    [3,3],
    mean=0,
    stddev=1.0,
    dtype=tf.dtypes.float32,
    seed=None,
    name=None
)
print(random_tensor)

tf.Tensor(
[[-0.39316094 0.02094128 -0.6328461 ]
[ 2.299625 0.6251846 0.96148187]
[-0.80120754 -0.38471952 0.34140763]], shape=(3, 3), dtype=float32)

# tf.random.uniform
# range of values in between minval,maxvalue

random_tensor2 = tf.random.uniform(
    [4,],
    minval=0,
    maxval=6,
    dtype = tf.dtypes.int32,
    seed = None,
    name=None

)
print(random_tensor2)

tf.Tensor([0 5 2 2], shape=(4,), dtype=int32)

random_uniform_tensor = tf.random.uniform(
    [3,4],
    minval = 1,
    maxval = 4,
    dtype = tf.dtypes.float64,
    seed = None,
    name = None

https://colab.research.google.com/drive/1Jy4tvtKOHOWq_AjGlpMWuHaUMJ5VYjP_#scrollTo=zEe0GdL2sP0X&printMode=true 11/16
8/5/23, 11:46 PM TensorFlow_ComputerVision_01.ipynb - Colaboratory

)
print(random_uniform_tensor)

tf.Tensor(
[[3.99208412 1.76304071 2.05448341 2.56923315]
[2.55513969 2.18310585 1.75114135 3.04348884]
[2.79654863 1.39844371 2.08378495 3.53174024]], shape=(3, 4), dtype=float64)

random_uniform_tensor = tf.random.uniform(
    [3,3],
    minval = 1,
    maxval = None,
    dtype = tf.dtypes.float64,
    seed = None,
    name = None
)
print(random_uniform_tensor)

tf.Tensor(
[[1. 1. 1.]
[1. 1. 1.]
[1. 1. 1.]], shape=(3, 3), dtype=float64)

# seed argument
# tf.

tf.random.set_seed(5)
print(tf.random.uniform(shape=[2,],maxval=4, dtype=tf.float32, seed=10))
print(tf.random.uniform(shape=[3,],maxval=3, dtype=tf.int32, seed=10))
print(tf.random.uniform(shape=[4,], maxval=6, dtype=tf.int64, seed=10))

tf.Tensor([0.36659575 3.8268886 ], shape=(2,), dtype=float32)


tf.Tensor([2 0 1], shape=(3,), dtype=int32)
tf.Tensor([5 0 5 4], shape=(4,), dtype=int64)

tf.random.set_seed(5)
print(tf.random.uniform(shape=[2,],maxval=4, dtype=tf.float32, seed=10))
print(tf.random.uniform(shape=[3,],maxval=3, dtype=tf.int32, seed=10))
print(tf.random.uniform(shape=[4,], maxval=6, dtype=tf.int64, seed=10))

tf.Tensor([0.36659575 3.8268886 ], shape=(2,), dtype=float32)


tf.Tensor([2 0 1], shape=(3,), dtype=int32)
tf.Tensor([5 0 5 4], shape=(4,), dtype=int64)

https://colab.research.google.com/drive/1Jy4tvtKOHOWq_AjGlpMWuHaUMJ5VYjP_#scrollTo=zEe0GdL2sP0X&printMode=true 12/16
8/5/23, 11:46 PM TensorFlow_ComputerVision_01.ipynb - Colaboratory

random_uniform_tensor = tf.random.uniform(
    [3,],
    minval = 1,
    maxval = 20,
    dtype = tf.dtypes.float64,
    seed = None,
    name = None
)
print(random_uniform_tensor)

tf.Tensor([ 1.21176329 2.28550813 15.31137277], shape=(3,), dtype=float64)

random_uniform_tensor = tf.random.uniform(
    [3,],
    minval = 1,
    maxval = 20,
    dtype = tf.dtypes.float64,
    seed = 10,
    name = None
)
print(random_uniform_tensor)

tf.Tensor([14.93065576 5.51886788 18.68575432], shape=(3,), dtype=float64)

Tensor index

tensor_indexed = tf.constant([1,2,3,4,5,6])
print(tensor_indexed)

tf.Tensor([1 2 3 4 5 6], shape=(6,), dtype=int32)

print(tensor_indexed[0:5])

tf.Tensor([1 2 3 4 5], shape=(5,), dtype=int32)

print(tensor_indexed[3:4])

tf.Tensor([4], shape=(1,), dtype=int32)

print(tensor_indexed[1:4+1])

tf.Tensor([2 3 4 5], shape=(4,), dtype=int32)

print(tensor_indexed[0:4:2])

tf.Tensor([1 3], shape=(2,), dtype=int32)

https://colab.research.google.com/drive/1Jy4tvtKOHOWq_AjGlpMWuHaUMJ5VYjP_#scrollTo=zEe0GdL2sP0X&printMode=true 13/16
8/5/23, 11:46 PM TensorFlow_ComputerVision_01.ipynb - Colaboratory

print(tensor_indexed[2:])

tf.Tensor([3 4 5 6], shape=(4,), dtype=int32)

print(tensor_indexed[1:-2])

tf.Tensor([2 3 4], shape=(3,), dtype=int32)

tensor_two_d2 = tf.constant([[2,1,3,4],
                             [8,7,6,5]])
print(tensor_two_d2)

tf.Tensor(
[[2 1 3 4]
[8 7 6 5]], shape=(2, 4), dtype=int32)

print(tensor_two_d2[1:,1])

tf.Tensor([7], shape=(1,), dtype=int32)

print(tensor_two_d2[0:,2])

tf.Tensor([3 6], shape=(2,), dtype=int32)

print(tensor_two_d2)
print(tensor_two_d2[...,1])

tf.Tensor(
[[2 1 3 4]
[8 7 6 5]], shape=(2, 4), dtype=int32)
tf.Tensor([1 7], shape=(2,), dtype=int32)

print(tensor_three_d)

tf.Tensor(
[[[1 2 3]
[5 4 3]]

[[1 6 9]
[0 4 1]]], shape=(2, 2, 3), dtype=int32)

print(tensor_three_d[0, 0, 1])

tf.Tensor(2, shape=(), dtype=int32)

print(tensor_three_d[1,0,2])

tf.Tensor(9, shape=(), dtype=int32)

print(tensor_three_d[0,:,1])

https://colab.research.google.com/drive/1Jy4tvtKOHOWq_AjGlpMWuHaUMJ5VYjP_#scrollTo=zEe0GdL2sP0X&printMode=true 14/16
8/5/23, 11:46 PM TensorFlow_ComputerVision_01.ipynb - Colaboratory

tf.Tensor([2 4], shape=(2,), dtype=int32)

print(tensor_three_d[:,:,1])

tf.Tensor(
[[2 4]
[6 4]], shape=(2, 2), dtype=int32)

print(tensor_three_d[1,1,1])

tf.Tensor(4, shape=(), dtype=int32)

print(tensor_three_d)

tf.Tensor(
[[[1 2 3]
[5 4 3]]

[[1 6 9]
[0 4 1]]], shape=(2, 2, 3), dtype=int32)

print(tensor_three_d[0:2, : , -1])

tf.Tensor(
[[3 3]
[9 1]], shape=(2, 2), dtype=int32)

print(tensor_three_d[..., :, 1])

tf.Tensor(
[[2 4]
[6 4]], shape=(2, 2), dtype=int32)

# range

tf.range(1,5)

<tf.Tensor: shape=(4,), dtype=int32, numpy=array([1, 2, 3, 4], dtype=int32)>

# tf.abs

x_Abs = tf.constant([-1,3,4,5.5])
tf.abs(x_Abs)

https://colab.research.google.com/drive/1Jy4tvtKOHOWq_AjGlpMWuHaUMJ5VYjP_#scrollTo=zEe0GdL2sP0X&printMode=true 15/16
8/5/23, 11:46 PM TensorFlow_ComputerVision_01.ipynb - Colaboratory

<tf.Tensor: shape=(4,), dtype=float32, numpy=array([1. , 3. , 4. , 5.5],


dtype=float32)>

check 0s completed at 11:33 PM

https://colab.research.google.com/drive/1Jy4tvtKOHOWq_AjGlpMWuHaUMJ5VYjP_#scrollTo=zEe0GdL2sP0X&printMode=true 16/16

You might also like