tf.random.categorical, вероятно, был изменен на tf.random.multinomial, предполагая, что example_batch_predictions являются logits: https://www.tensorflow.org/api_docs/python/tf/random/multinomial [ 111]
Это обычно - основная идея для системы шаблонной обработки. Реальные системы шаблонной обработки имеют намного больше возможностей, но в ядре это - то, что они делают.
Вы спрашиваете, "сделает ли это целый переменный передающий процесс немного быстрее". Быстрее, чем какой? Вы сталкиваетесь с проблемами производительности с чем-то, что Вы делаете прямо сейчас?
Да, это - основная идея позади системы шаблонной обработки. Вы могли далее абстрагировать его, позволить другому методу добавить скобки, например.
Вы могли также использовать массивы с str_replace и таким образом сделать намного больше замен одним вызовом функции как это
str_replace(array('{the_title}', '{the_content}'), array($title, $content), $str_template);
Система, с которой я работаю, является Библиотекой Ложки, их система шаблонной обработки является симпатичным горным телом, включая скомпилированные шаблоны, которые являются огромным увеличением производительности.
Я создал бы синтаксический анализатор, который взламывает код в, он - маркеры (переменные и простой текст). Как свободный доступ, Вы могли использовать pre_split
функция, чтобы сделать это:
$tokens = preg_split('/(\{[^\}]+\})/', $string, -1, PREG_SPLIT_DELIM_CAPTURE);
Теперь можно выполнить итерации маркеров и проверить, является ли это переменным или простым текстом:
foreach ($tokens as $token) {
if ($token[0] === '{' && $token[strlen($token)-1] === '}') {
// token is a variable
} else {
// token is plain text
}
}
Преимущество этого подхода состоит в том, что переменные не заменяются в тексте, который был уже заменен. Так:
$foo = '{bar}';
$bar = 'bar';
$template = 'Lorem {foo} {bar} sit amet …';
Здесь текст был бы заменен Lorem bar {bar} sit amet …
и нет Lorem bar bar sit amet …
поскольку это произошло бы с Вашим кодом, когда {bar}
заменяется после {foo}
.
Это - хорошая Идея использовать движок шаблонов.
Но Ваша идея становится медленной, когда HTML больше, и станьте медленнее, если Вы - потребность больше переменных. помните, что замена выполняется для каждого запроса.
можно использовать файлы HTML, содержащие теги PHP для вывода (как <?=$var?>
) и циклы только. включайте их через, "включают" в Ваш код php. это намного быстрее.
смотрите на присяжного острослова. это - мой любимый движок шаблонов для php. присяжного острослова, имеет много хороших функций как кэширование, и это является растяжимым плагинами.
если Вы понимаете, что немец смотрит здесь. существует маленькое введение в присяжного острослова.
Несомненно, у Вас должны быть аргументы в правильном порядке все же. str_replace()
Также могла бы быть хорошая идея поместить шаблоны в их собственный файл вместо того, чтобы сохранить их в строке. Затем просто считайте их через file_get_contents()
или подобный.
Если Вы делаете только переменное расширение, можно сделать:
$str_template = "<html><head><title>$the_title</title><body>$the_content</body></html>";
Это будет работать также...
Несколько человек задаются вопросом, почему существует шаблонная система, когда PHP уже является шаблонной системой...
Конечно, существуют другие преимущества для этих систем, как более безопасный доступ к переменным, возможно, легче обработать разработчиками (или генерировать инструментами), ограничение логики в слое представления... Который является общей критикой тяжелых шаблонных систем как Присяжный острослов с такой логикой, что можно почти записать другую шаблонную систему с нею!;-)
Некоторые шаблонные системы, как Ученый, берут среднюю дорогу.:-)