在windows的tensorflow中添加操作

2024-04-18 05:24:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在尝试优化tensorflow的word2vec实现,让它像最初的GenSimWord2vec实现一样工作。但是,这里的教程

https://github.com/tensorflow/models/blob/master/tutorials/embedding/word2vec.py, 要求我首先向tensorflow添加一个新的op。你知道吗

我已经将存储库克隆到了我的桌面上,tensorflow/tensorflow master和tensorflow/models master都位于一个名为tensorflow的目录中。 我试着编译word2vec_运营成本和word2vec_内核.cc位于models master/tutorials/embeddings中的文件(定义新op的实现和接口)

它给我以下错误信息-

In file included from word2vec_kernels.cc:16:0:
tensorflow/core/framework/op.h:23:54: fatal error: 
tensorflow/core/framework/op_def_builder.h: No such file or directory
compilation terminated.

我还将tensorflow master/tensorflow/文件夹复制到models master/tutorials/embedding/中,以便所有必需的头文件都位于同一目录中(请参阅github repo以获取参考,我在windows上有类似的目录树:https://github.com/tensorflow/tensorflow/tree/master/tensorflow/core

原编制程序:

TF_CFLAGS=( $(python -c 'import tensorflow as tf; print(" 
".join(tf.sysconfig.get_compile_flags()))') )

TF_LFLAGS=( $(python -c 'import tensorflow as tf; print(" 
".join(tf.sysconfig.get_link_flags()))') )

g++ -std=c++11 -shared word2vec_ops.cc word2vec_kernels.cc -o 
word2vec_ops.so -fPIC ${TF_CFLAGS[@]} ${TF_LFLAGS[@]} -O2 - 
D_GLIBCXX_USE_CXX11_ABI=0

这个命令序列在windows终端中不起作用(显然)。因此,我还定义了代码本身中的标志

flags.DEFINE_string("save_path", 'C:\Users\Desktop\log_dir\gensim\22', 
"Directory to write the model and "
                "training summaries.")
flags.DEFINE_string("train_data", 'cmpl.txt', "Training text file. "
                "E.g., unzipped file 
http://mattmahoney.net/dc/text8.zip.")
flags.DEFINE_string(
"eval_data", 'questions-words.txt', "File consisting of analogies of four 
tokens."
"embedding 2 - embedding 1 + embedding 3 should be close "
"to embedding 4."
"See README.md for how to get 'questions-words.txt'.")

,所以我不需要把它们传给系统argv(),(所以前两个 命令不是必需的),但是,仍然使用anacondamingw,我无法为执行.due前面提到的错误


Tags: coregithubmaster目录modelstftensorflowword2vec
1条回答
网友
1楼 · 发布于 2024-04-18 05:24:58

我已经找到了一个解决方案,使用Windows子系统for Linux。所以,不用双引导或虚拟环境, 在windows上的搜索框中,键入“打开/关闭windows功能”,然后选中->;windows subsystem for linux的复选框
然后windows要求您重新启动系统,在此基础上您可以从windows应用商店安装任何相关的终端(我安装了ubuntu18.04)。你知道吗

接下来的设置非常简单,只需设置用户名和pwd,就可以了。你知道吗

您可以通过访问windows上的任何文件

cd /mnt/c/

所以,我将我的工作目录加载到C驱动器上,并使用Linux系统。 虽然这是一个非常迂回的解决方案,但它是在临时的基础上工作的。你知道吗

相关问题 更多 >