草庐IT

tensorflow_serving

全部标签

python - tensorflow 'feed_dict' : using same symbol for key-value pair got 'TypeError: Cannot interpret feed_dict key as Tensor'

我正在玩构建线性回归的Tensorflow示例,我的代码如下:importnumpyasnpimporttensorflowastftrain_X=np.asarray([3.3,4.4,5.5,6.71,6.93,4.168,9.779,6.182,7.59,2.167,7.042,10.791,5.313,7.997,5.654,9.27,3.1])train_Y=np.asarray([1.7,2.76,2.09,3.19,1.694,1.573,3.366,2.596,2.53,1.221,2.827,3.465,1.65,2.904,2.42,2.94,1.3])n_samp

python - 是否可以在没有训练操作的情况下可视化 tensorflow 图?

我知道如何在使用tensorboard训练后可视化tensorflow图。现在,是否可以仅可视化图形的前部,即没有定义训练运算符?我问这个的原因是我遇到了这个错误:Nogradientsprovidedforanyvariable,checkyourgraphforopsthatdonotsupportgradients,betweenvariables[...listofmodelvariableshere...]andlossTensor("Mean:0",dtype=float32).我想检查图表以找出梯度tensorflow(双关语意)被破坏的地方。

python - 如何在 AWS 集群上运行 TensorFlow?

我正在尝试在EMR/EC2集群上运行分布式tensorflow,但我不知道如何在集群中指定不同的实例来运行部分代码。在文档中,他们使用tf.device("/gpu:0")来指定一个gpu。但是,如果我有一个主CPU和5个不同的从属GPU实例在EMR集群中运行,并且我想指定这些GPU来运行一些代码怎么办?我无法使用实例的公共(public)DNS名称输入tf.device(),因为它会抛出一个错误,指出无法解析该名称。 最佳答案 在您提出问题后,AWS发布了一些代码以简化在EC2集群上使用分布式TensorFlow。查看此githu

python - Tensorflow - 使用时间线进行分析 - 了解限制系统的因素

我试图理解为什么每次训练迭代需要大约1.5秒。我使用了描述的追踪方法here.我正在研究TitanXPascalGPU。我的结果看起来很奇怪,似乎每次操作都比较快,并且系统在操作之间的大部分时间都处于空闲状态。我如何从中了解限制系统的因素。然而,当我大幅减少批量大小时,差距似乎确实缩小了,正如在这里可以看到的那样。不幸的是,代码非常复杂,我无法发布具有相同问题的小版本有没有办法从探查器中了解是什么在操作之间的间隙中占用了空间?谢谢!编辑:仅在CPU上我没有看到这种行为:我正在运行一个 最佳答案 这里有一些猜测,但如果没有我可以运行和

python - 将 .pb 文件转换为 .ckpt (tensorflow)

我已经成功地使用这个脚本将预训练的.ckpt模型转换为.pb(protobuf)格式:importosimporttensorflowastf#Getthecurrentdirectorydir_path=os.path.dirname(os.path.realpath(__file__))print"Currentdirectory:",dir_pathsave_dir=dir_path+'/Protobufs'graph=tf.get_default_graph()#CreateasessionforrunningOpsontheGraph.sess=tf.Session()pri

python - tensorflow/keras 中的多线程

我想在一个Python应用程序中使用model.fit()并行训练一些不同的模型。使用的模型没有必要的共同点,它们在不同时间在同一个应用程序中启动。首先,我在一个单独的线程中毫无问题地启动了一个model.fit(),然后是主线程。如果我现在想启动第二个model.fit(),我会收到以下错误消息:ExceptioninthreadThread-1:tensorflow.python.framework.errors_impl.InvalidArgumentError:Node'hidden_1/BiasAdd':Unknowninputnode'hidden_1/MatMul'它们都

python - 设置 tensorflow 舍入模式

我在tensorflow中处理小数字,这有时会导致数字不稳定。我想提高结果的精度,或者至少确定结果的界限。以下代码显示了数值错误的具体示例(它输出nan而不是0.0,因为float64不够精确,无法处理1+eps/2):importnumpyasnpimporttensorflowastf#setupeps=np.finfo(np.float64).epsv=eps/2x_init=np.array([v,1.0,-1.0],dtype=np.float64)x=tf.get_variable("x",initializer=tf.constant(x_init))square=tf.

python - 用于递归连接的 TensorFlow 高效共享内存分配

DenseNets往往会在TensorFlow中占用大量内存,因为每个连接操作都存储在单独的分配中。最近的一篇论文,Memory-EfficientImplementationofDenseNets,表明通过共享分配可以显着降低这种内存利用率。这张来自论文+pytorch实现的图片说明了共享内存方法:如何使用TensorFlow实现这一点?如果不能通过python完成,如何在具有CPU和GPU支持的Op中正确实现?PytorchefficientDenseNetimplementationKerasDenseNetImplementation使用“朴素”分配,与TensorFlow后端

python - 如何在 TensorFlow 中模拟降低精度的 float ?

我想要一种方法来将TensorFlow中float的精度(大约:截断尾数)降低到定义的完整范围内的任意位数。我不需要完全以降低精度编写代码(如tf.float16),而是想出一系列操作来降低张量的精度,同时保留其原始类型(例如tf.float32)。例如,如果完整范围是0到1,精度是8位,则0.1234将变为round(0.1234*256)/256=0.125。这使用简单的舍入。我还想进行统计舍入,其中在每个方向上舍入的概率与值与该值的距离成正比。例如,0.1234*256=31.5904,在59%的情况下会四舍五入到32/256,在41%的情况下会四舍五入到31/256。额外问题:

python - `Optimal` Tensorflow中用于矩阵分解的变量初始化和学习率

我正在Tensorflow中尝试一个非常简单的优化——矩阵分解问题。给定一个矩阵V(mXn),将其分解为W(mXr)和H(rXn)。我从here借用了基于梯度下降的基于tensorflow的矩阵分解实现.有关矩阵V的详细信息。在其原始形式中,条目的直方图如下所示:为了将条目置于[0,1]范围内,我执行了以下预处理。f(x)=f(x)-min(V)/(max(V)-min(V))归一化后,数据的直方图如下所示:我的问题是:鉴于数据的性质:介于0和1之间且大多数条目更接近0而不是1,W和H的最佳初始化是什么?如何根据不同的成本函数定义学习率:|A-WH|_F和|(A-WH)/A|?最小的工