Is it possible to embed the neuralnet .pb into the code? Keep in mind that it weighs 80mb, so an hex dump doesnt work (text file with the dump weighs 700 mb)
>>> binary_data=b'this is a readable string, but really it just boils down to binary information. i can be expressed in a more efficient way than a binary string or hex, however'
>>> hex_data = binary_data.hex()
>>> print(hex_data)
746869732069732061207265616461626c6520737472696e672c20627574207265616c6c79206974206a75737420626f696c7320646f776e20746f2062696e61727920696e666f726d6174696f6e2e20692063616e2062652065787072657373656420696e2061206d6f726520656666696369656e7420776179207468616e20612062696e61727920737472696e67206f72206865782c20686f7765766572
>>> print(len(hex_data))
318
嗯,不是真的,但有点像(TL;DR no,但取决于你的确切意思)。它实际上就是环境的限制。在某个地方,某个地方,你需要的软件包,你可以从磁盘抓取它们-就这么简单。它们必须可用和可定位。你知道吗
可用的意思是通过文件系统访问。我所说的定位,是指你要找的地方。系统安装将把它放在可以访问的地方,并且可以可靠地用作安装和查找包的地方。这是虚拟环境的一部分责任。唯一的区别是,您的虚拟环境将您从系统Python的包中分离出来。你知道吗
这样做的好处很简单:我可以创建一个使用包
slamjam==1.2.3
的虚拟环境,其中1.2.3
是包slamjam
、的特定版本,还可以运行一个使用slamjam==1.7.9
的程序,而不会在我的全局环境中引起冲突。你知道吗所以我给你一种“有点”的感觉:如果你的用户已经在你的系统上安装了一个包,那么你的用户不需要安装任何东西。如果软件包已经在他们的系统上进行了全局安装,他们就不需要虚拟环境。同样地,如果在另一个虚拟环境中,他们也不需要一个新的,尽管用一个新的虚拟环境来分离项目的依赖关系是一个好主意。你知道吗
所以,是的,实际上这是非常可行的。问题是,这取决于你的意思。你知道吗
如您所知,文件的十六进制转储占用大量空间。这是真的。但似乎你说的是原始十六进制,每个字节至少需要2个字节。然后,如果您使用
hexdump
,yada,yada这样的工具,您可能会用它来转储额外的信息。你知道吗故事的寓意是,你这样做会浪费大量的空间。所以我给你几个选择,你可以选择一个,或者更多。你知道吗
我还没有使用过TensorFlow数据,但是快速阅读之后,它似乎使用了ProtoBufs压缩,而且可能已经相当压缩了。好吧,不管怎样,去看看你能不能从水果里挤出更多的果汁。你知道吗
看看当我们把东西转换成十六进制时会发生什么。。。你知道吗
318个字符?我们可以做得更好。你知道吗
你现在把你的数据缩小了33%!你知道吗
用
.whl
发行版打包一个非Python文件。是的,完全可行。我以前做过吗?不,还不需要。我会永远吗?是的。我对怎么做有很好的建议吗?没有。但是我有一个链接给你,it's totally doable.您可以从应用程序中的下载文件,并且只提供URL。简单快捷的东西,如
是的,当然还有像requests这样的库可以做类似的事情,但是举个例子,我选择了wget,因为它也有一个简单的接口,而且总是一个选项。你知道吗
嗯,档案,是的。你要问的是一个
.py
文件,没有其他可以安装你的软件包的文件?如果你真的想复制粘贴一个又一个的库,把所有的数据都复制到一个大文件里,没有人会下载,我相信有办法的。你知道吗让我们看看一种更受支持的方法来解决您的问题:a ^{} file 是一个文件,它可以有一个安装
.whl
所需的软件包的内部列表,它将为您处理所有事情(安装、解包等)。我会朝那个方向看。你知道吗不管怎么说,我知道很多信息,但有一些逻辑,为什么你可以或不能做一些事情。希望对你有帮助,祝你好运。你知道吗
相关问题 更多 >
编程相关推荐