番外篇: Mac Xcode 集成 Swift for TensorFlow
前置条件
- mac 系统版本 >= 10.13.5
- Xcode 版本 >=10.0bata
本人mac系统版本
本人Xcode版本
安装步骤
-
下载最新的安装包,下载路径见原文链接,然后双击安装。
- 安装完成之后,打开你的 Xcode => Preferences(偏好设置),选择 Components > Toolchains 然后勾选安装Swift for TensorFlow。
-
新建一个 macOS 项目
- 新建一个ts_01.swift文件,文件名称你可以随便命名
import Foundation
import TensorFlow
struct TS_01 {
func test() {
let x = Tensor<Float>(shape: [1,2],scalars: [3,4])
print("hello TensorFlow")
print(x + x)
}
}
// 然后在 ViewController.swift 中调用
import Cocoa
class ViewController: NSViewController {
override func viewDidLoad() {
super.viewDidLoad()
TS_01().test()
// Do any additional setup after loading the view.
}
override var representedObject: Any? {
didSet {
// Update the view, if already loaded.
}
}
}
理所当然,肯定会报错,官方文档看多了,我已经有心理准备了!
dyld: Library not loaded: @rpath/libtensorflow.so.1
Referenced from: /Users/wang/Library/Developer/Xcode/DerivedData/TS_01-boxngrdtwugyroapoqjtekrpvatl/Build/Products/Debug/TS_01.app/Contents/Frameworks/libswiftTensorFlow.dylib
Reason: no suitable image found. Did find:
/Library/Developer/Toolchains/swift-tensorflow-RELEASE-0.6.xctoolchain/usr/lib/swift/macosx/libtensorflow.so.1: code signature in (/Library/Developer/Toolchains/swift-tensorflow-RELEASE-0.6.xctoolchain/usr/lib/swift/macosx/libtensorflow.so.1) not valid for use in process using Library Validation: mapped file has no cdhash, completely unsigned? Code has to be at least ad-hoc signed.
可以理解为 swift-tensorflow-RELEASE-0.6.xctoolchain
没有生产签名,只是开发用的,直接运行的话 Xcode 认为 这个 xctoolchain 是不合法的。因此需要额外设置。参考githubhttps://github.com/tensorflow/swift/issues/351
重新跑一下项目,如果你看到如下输出,恭喜你成功了!
转载请注明出处,thanks