Применение функций scipy.optimize в тензорном потоке без энергичного выполнения? - PullRequest
0 голосов
/ 30 октября 2019

В настоящее время я работаю над функцией в Tensorflow, которая требует использования lsq_linear () в scipy.optimize. Тем не менее, мне нужно, чтобы это работало без энергичного выполнения и вместо этого создавало график TF. Я пытался добавить в функцию @ tf.function, но я не совсем уверен, можете ли вы передать переменные tenorflow в библиотеку scipy.optimize, поскольку при попытке продолжить я сталкиваюсь с ошибками, такими как

TypeError: Using a `tf.Tensor` as a Python `bool` is not allowed. Use `if t is not None:` instead of `if t:` to test if a tensor is defined, and use TensorFlow ops such as tf.cond to execute subgraphs conditioned on the value of a tensor.

Вот пример кода:

@tf.function
def tf_lsq(A, b):
    ones = np.squeeze(np.asarray(np.ones(A.shape[1], )))
    neg_ones = -1 * ones
    A_coo = csr_matrix(A)
    result = lsq_linear(A_coo, b, bounds=(neg_ones, ones), lsq_solver='lsmr', lsmr_tol=1e-13, verbose=0).x
    return result

Я ценю любую помощь, которая может быть предоставлена!

...