<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 Ch 02
Step1:  Now, define a 2x2 matrix in different ways
Step2:  Let's see what happens when we print them
Step3:  So, that's what we're dealing with. Interesting. 
By the way, there's a function called convert_to_tensor(...) that does exactly what you might expect. 
Let's use it to create tensor objects out of various types
Step4:  Ok, ok! Time for the reveal
<ASSISTANT_TASK:>
Python Code:
import tensorflow as tf
import numpy as np
Explanation: Ch 02: Concept 01
Defining tensors
Import TensorFlow and Numpy:
End of explanation
m1 = [[1.0, 2.0], 
      [3.0, 4.0]]
m2 = np.array([[1.0, 2.0], 
               [3.0, 4.0]], dtype=np.float32)
m3 = tf.constant([[1.0, 2.0], 
                  [3.0, 4.0]])
Explanation: Now, define a 2x2 matrix in different ways:
End of explanation
print(type(m1))
print(type(m2))
print(type(m3))
Explanation: Let's see what happens when we print them:
End of explanation
t1 = tf.convert_to_tensor(m1, dtype=tf.float32)
t2 = tf.convert_to_tensor(m2, dtype=tf.float32)
t3 = tf.convert_to_tensor(m3, dtype=tf.float32)
Explanation: So, that's what we're dealing with. Interesting. 
By the way, there's a function called convert_to_tensor(...) that does exactly what you might expect. 
Let's use it to create tensor objects out of various types:
End of explanation
print(type(t1))
print(type(t2))
print(type(t3))
Explanation: Ok, ok! Time for the reveal:
End of explanation
<END_TASK>