现在知道还不算晚,输入示例自动生成代码,谷歌开源这项神器要火

[IT科技] 时间:2025-11-05 13:55:44 来源:益强IT技术网 作者:域名 点击:188次

 操作张量并非易事,现知因为它需要很多先决条件,道还动生例如跟踪多个维度,不算Dtype兼容性,晚输数学正确性和张量形状等。入示当然最大的例自挑战还是从数百种可用选项中确定正确的TensorFlow操作。

假如不需要你进行对张量操纵进行编码,成代你只需要通过一个说明性的码谷例子来演示,有个工具就能生成相应的歌开代码,你会选择这个工具么?源项如果会的话,谷歌的神器TensorFlow Coder(TF-Coder)可以帮你实现这一点。

TF-Coder是现知一个程序合成工具,可以帮助你编写TensorFlow代码,道还动生首先,不算这个工具需要输入所需张量变换的晚输输入-输出示例。然后,它会运行一个组合搜索来查找执行转换的TensorFlow表达式。TF-Coder的输出是真实的TensorFlow代码,你可以直接将它用在你的项目中。

接着,WordPress模板我们再来详细介绍一下TF-Coder是如何帮助你编写TensorFlow代码。

在TensorFlow中的编程示例

假如你想将包含 M 个元素的向量(下例中指‘rows’)和包含 N 个元素的向量“想加”,生成一个包含所有成对和的 M x N 矩阵。你可以提供一个输入输出示例(如M=3和N=4),而不需要深入研究TensorFlow文档来找出如何做到这一点。

输入张量:

inputs = { rows: [10, 20, 30], cols: [1, 2, 3, 4], } 

所提供的输入张量对应的期望输出张量:

output = [[11, 12, 13, 14], [21, 22, 23, 24], [31, 32, 33, 34]] 

给定这些信息(默认情况下已经输入到TF-Coder Colab中),TF-Coder工具会在零点几秒内自动找到合适的TensorFlow代码:

tf.add(cols, tf.expand_dims(rows, 1)) 

上面的问题非常简单,只是通过示例来说明编程的思想。TF-Coder对于更难的问题也很有用。

TF-Coder帮助你找到要使用的正确函数

假设我们正在处理一个数学问题,比如商品的价格,数据集中范围很广,从$10以下到$1000以上。如果这些价格被直接用作特征,那么你的模型可能会对训练数据中的特定价格过度拟合。

假如要处理这些问题,你可能需要使用bucketing将数字价格转换成类别特征。站群服务器使用bucket边界 [10, 50, 100, 1000] 意味着低于10美元的价格应归入bucket 0,10美元至50美元的价格应归入bucket 1,依此类推。

选择bucket边界之后,如何使用TensorFlow将实际价格映射到bucket索引?诸如给定以下bucket边界和物品价格:

# Input tensors boundaries = [10, 50, 100, 1000] prices = [15, 3, 50, 90, 100, 1001] 

计算每个项的bucket编号:

# Output tensor bucketed_prices = [1, 0, 2, 2, 3, 4] 

尽管TensorFlow提供了各种bucketing操作,但要找出哪个特定的操作执行这种确切的bucketing可能比较棘手。由于TF-Coder可以通过行为识别数百个张量操作,你可以通过提供一个输入-输出示例来查找正确的操作:

# Input-output example inputs = { boundaries: [10, 50, 100, 1000], prices: [15, 3, 50, 90, 100, 1001], } output = [1, 0, 2, 2, 3, 4] 

很快,TF-Coder就会输出如下解决方案:

tf.searchsorted(boundaries, prices, side=right) 

TF-Coder通过聪明的方式结合函数

现在我们来考虑另一个问题:计算一个0-1的张量,它能识别输入张量每一行中的最大元素。

# Input tensor scores = [[0.7, 0.2, 0.1], [0.4, 0.5, 0.1], [0.4, 0.4, 0.2], [0.3, 0.4, 0.3], [0.0, 0.0, 1.0]] # Output tensor top_scores = [[1, 0, 0], [0, 1, 0], [1, 0, 0], [0, 1, 0], [0, 0, 1]] 

注意,如果同一最大元素在一行中出现多次,比如在第三行scores中,那么应该只标记第一个最大元素,以便top_scores的每行只有一个结果。

和上个问题不同的是,这里不存在可执行该计算的 TensorFlow 函数。在文档中搜索「max」,你可能找到 tf.reduce_max、tf.argmax 和 tf.maximum,服务器租用但也不清楚到底该用哪一个?tf.reduce_max 输出 [0.7, 0.5, 0.4, 0.4, 1.0],tf.argmax 输出 [0, 1, 0, 1, 2],tf.maximum 不合适,因为它只能容纳两个参数。这些函数似乎都与该示例的期望输出关联不大。

对于此类问题,TF-Coder也可以快速解决。你可以把这个问题写成输入输出例子的形式

# Input-output example inputs = { scores: [[0.7, 0.2, 0.1], [0.4, 0.5, 0.1], [0.4, 0.4, 0.2], [0.3, 0.4, 0.3], [0.0, 0.0, 1.0]], } output = [[1, 0, 0], [0, 1, 0], [1, 0, 0], [0, 1, 0], [0, 0, 1]] 

TF-Coder结合使用tf.one_hot和tf.argmax,得出一个解决方案:

tf.cast(tf.one_hot(tf.argmax(scores, axis=1), 3), tf.int32) 

通过对TensorFlow操作组合的详细搜索,TF-Coder经常会找到类似这样的优雅解决方案,这可能会简化并加速TensorFlow程序的开发。

关于TF-Coder的用法还有很多,这里就不一一列举了,相信你已经见识到他的强大了,最后附上TF-Coder相关地址:

Github地址:https://github.com/google-research/tensorflow-coder

Google Colab 试用地址:https://colab.research.google.com/github/google-research/tensorflow-coder/blob/master/TF-Coder_Colab.ipynb

(责任编辑:系统运维)

    通过将服务器配置成VNC SERVER,可以让其他主机使用图形方式登录这台服务器。 复制代码代码如下:$ sudo apt-get install vnc4-common vnc4server 复制代码代码如下:$ vncpasswd 复制代码代码如下:$ vncserver :1 复制代码代码如下:$ cp /etc/X11/Xsession ~/.vnc/xstartup 复制代码代码如下:$ vncserver -geometry 1280x800 :1 复制代码代码如下:$ sudo apt-get install vnc4-common xvnc4viewer 复制代码代码如下:$ vncviewer 192.168.10.36:1二、设置开启 安装完后在/usr/share/applications目录下打开”Desktop Sharing(桌面共享)”选项,进一步设定桌面共享选项中首先要开启共享,关于是否允许其他用户控制,远程连接时是否需要本机确认,远程连接的密码等项目根据需要自己设定。假如需要从公网即外部网络访问此Ubuntu计算机需要开启”自动配置UPnP路由器开放和转发端口项目”。一般建议如下图:假如是13.04以上已经完成设置了,但是Ubuntu 14.04是无法正确连接的,会显示安全等级问题,我们还需要继续配置。 1、安装dconf-editor; 复制代码代码如下:sudo apt-get install dconf-editor 2、需要通过Dconf-editor调整,打开终端(快捷键:Ctrl+Alt+T)输入命令:dconf-editor 开启,然后访问如下配置路径 org >gnome >desktop >remote-access; 3、取消钩选“prompt-enabled”和“requlre-encryption”属性。 三、开始连接 回到Windows下,使用客户端访问工具VNC Viewer输入Ubuntu的IP地址,如下图所示: 点击 Connect 连接,然后输入设置的访问密码就OK了,就会出现图形界面。电脑时间日期设置错误的问题及解决方法(探索电脑时间日期设置错误的原因和解决方案)
    相关内容
    精彩推荐
    热门点击
    友情链接