Tensorflow: gradients do not exist for variables ['Variable:0'] when minimuzing the loss

I’m a novice in python.I want to estimate about three coefficeints. I wrote down the code below. I omitted some code about some data which means two variables such as growth and age. I used tensorflow, numpy, and sklearn etc.

There is no error message but I get a warning sign. which situation causes the message, below?
how can I solve the problem?

    a=df4['growth']
    b=df4['age']
    
    y=np.array(a.values.tolist())
    X=np.array(b.values.tolist())
    
    fig = plt.figure(figsize=(10,10))
    plt.plot(X, y, "o")
    
    import tensorflow as tf
    import numpy as np
    from sklearn.metrics import r2_score
    from sklearn.metrics import mean_squared_error
    import matplotlib.pyplot as plt
    import scipy.stats as stats
    
    import random
    
    a=tf.Variable(random.random())
    b=tf.Variable(random.random())
    c=tf.Variable(random.random())
    #d=tf.Variable(random.random())
    from sklearn.metrics import classification_report
    def compute_loss():
        y_pred = a + (b * X * np.exp(-c*X))
        loss=tf.reduce_mean((y-y_pred) **2)
        return loss
    
    def accuracy():
      y_pred = a + (b * X * np.exp(-c*X))
      r2=r2_score(y, y_pred)
      return r2
    
    def accuracy2():
      y_pred = a + (b * X * np.exp(-c*X))
      rmse=mean_squared_error(y, y_pred)**0.5
      return rmse  
    optimizer = tf.keras.optimizers.SGD(lr=0.01, momentum=0.0, decay = 0.0, nesterov=False)
    
    for i in range(10000):
        optimizer.minimize(compute_loss, var_list=[a, b, c])
        if i % 10000 == 9999:
           print(i, 'a:', a.numpy(), 'b:', b.numpy(), 'c:', c.numpy(),'loss:', compute_loss().numpy(), 'r2:', accuracy(), 'rmse:', accuracy2())


WARNINIG: tensorflow: gradients do not exist for variables ['Variable:0'] when minimuzing the loss

Hi @Youngjin_KO

Welcome to the TensorFlow Forum!

The information given is missing the dataframe ‘df4’ type and shape. Could you please share the complete standalone code (if it is shareable) to replicate the error and understand the issue? Thank you.