Вы можете использовать tf.pack ( tf.stack в TensorFlow 1.0.0) для этой цели. Вот как упаковать случайное изображение типа numpy.ndarray
в Tensor
:
import numpy as np
import tensorflow as tf
random_image = np.random.randint(0,256, (300,400,3))
random_image_tensor = tf.pack(random_image)
tf.InteractiveSession()
evaluated_tensor = random_image_tensor.eval()
UPDATE: чтобы преобразовать объект Python в тензор, вы можете использовать tf.convert_to_tensor .
Althoug документация плоха по этой теме, мне удалось получить некоторый рабочий код путем рассмотрения источника. Хотя это пропускает xml заголовок, который обычно содержит важную информацию. Вот маленький пример программы, который делает то, что Вы ищете использование rapidxml:
#include <iostream>
#include <sstream>
#include "rapidxml/rapidxml.hpp"
#include "rapidxml/rapidxml_print.hpp"
int main(int argc, char* argv[]) {
char xml[] = "<?xml version=\"1.0\" encoding=\"latin-1\"?>"
"<book>"
"</book>";
//Parse the original document
rapidxml::xml_document<> doc;
doc.parse<0>(xml);
std::cout << "Name of my first node is: " << doc.first_node()->name() << "\n";
//Insert something
rapidxml::xml_node<> *node = doc.allocate_node(rapidxml::node_element, "author", "John Doe");
doc.first_node()->append_node(node);
std::stringstream ss;
ss <<*doc.first_node();
std::string result_xml = ss.str();
std::cout <<result_xml<<std::endl;
return 0;
}
Использовать print
функция (найденный в rapidxml_print.hpp
служебный заголовок) для печати содержания узла XML к a stringstream
.
При создании XML сами не забывайте выходить из специальных символов. Это имеет тенденцию быть пропущенным, но может вызвать некоторые серьезные головные боли, если это не реализовано:
Если Вы еще не посвящаете себя Быстрому XML, я могу рекомендовать некоторые дополнительные библиотеки:
Xerces - Это - вероятно, defacto реализация C++.
XMLite - У меня была некоторая удача с этой минимальной реализацией XML. См. статью по http://www.codeproject.com/KB/recipes/xmlite.aspx
Вот как напечатать узел в строку прямо из RapidXML Manual :
xml_document<> doc; // character type defaults to char
// ... some code to fill the document
// Print to stream using operator <<
std::cout << doc;
// Print to stream using print function, specifying printing flags
print(std::cout, doc, 0); // 0 means default printing flags
// Print to string using output iterator
std::string s;
print(std::back_inserter(s), doc, 0);
// Print to memory buffer using output iterator
char buffer[4096]; // You are responsible for making the buffer large enough!
char *end = print(buffer, doc, 0); // end contains pointer to character after last printed character
*end = 0; // Add string terminator after XML