Несоответствие размера переменной между x.shape и tf.shape (x)?

Вам нужно будет поместить текст поиска, включая символы%, в кавычки.

Но вы не должны этого делать. Соберите значение вне оператора SQL и используйте замену параметров:

query = '%{}%'.format(self.le_ci_search.text())
cursor.execute('SELECT * FROM A3A_SIS.customer_info WHERE cust_name LIKE %s', (query,))

Edit

Вы создаете один кортеж и передаете его курсору в качестве запроса. То, что я сказал сделать, это создать строку и передать это плюс параметр курсору:

cur = con.cursor()
query = 'SELECT * FROM A3A_SIS.customer_info WHERE cust_name LIKE %s'
if cur.execute(query, (search_text,)):
    ...
0
задан YohanRoth 19 January 2019 в 20:35
поделиться

1 ответ

На самом деле, два результата одинаковы. 4 является формой (?,32,32,3).

x.shape() возвращает кортеж, и вы можете получить форму без sess.run(). Вы можете использовать as_list(), чтобы преобразовать его в список.

tf.shape(x) возвращает тензор, и вам нужно запустить sess.run(), чтобы получить фактическое число.

Пример:

import tensorflow as tf
import numpy as np

x = tf.placeholder(shape=(None,32,32,3),dtype=tf.float32)
print(x.shape)
print(tf.shape(x))

dim = tf.shape(x)
dim0 = tf.shape(x)[0]

with tf.Session()as sess:
    dim,dim0 = sess.run([dim,dim0],feed_dict={x:np.random.uniform(size=(100,32,32,3))})
    print(dim)
    print(dim0)

#print
(?, 32, 32, 3)
Tensor("Shape:0", shape=(4,), dtype=int32)
[100  32  32   3]
100
0
ответ дан giser_yugang 19 January 2019 в 20:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: